Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

finagle-*: scala 2.11 compatibility #290

Closed
mosesn opened this issue Jul 2, 2014 · 101 comments
Closed

finagle-*: scala 2.11 compatibility #290

mosesn opened this issue Jul 2, 2014 · 101 comments

Comments

@mosesn
Copy link
Contributor

mosesn commented Jul 2, 2014

It looks like several people are interested in converting finagle over to scalatest. Since finagle has many small projects, and @p-antoine has already done the biggest chunk, finagle-core, I'm optimistic that we can be done with this quickly.

coordination

Here are the
finagle-benchmark ✔️
finagle-commons-stats ✔️
finagle-core ✔️
finagle-example ✔️
finagle-exception ✔️
finagle-exp ✔️
finagle-http ✔️ @adamdecaf
finagle-kestrel ⭕ @chester89
finagle-mdns ✔️
finagle-memcached ✔️ @rlazoti
finagle-mux ✔️
finagle-mysql ✔️
finagle-native ✔️ @adamdecaf
finagle-ostrich4 ✔️
finagle-protobuf ✔️
finagle-redis ⭕ @penland365
finagle-serversets ✔️
finagle-spdy ✔️
finagle-stats ✔️
finagle-stream ⭕ @bajohns
finagle-stress ✔️
finagle-swift ✔️
finagle-test ✔️
finagle-testers ✔️
finagle-thrift ⭕ @bajohns
finagle-thriftmux ✔️
finagle-validate ✔️
finagle-zipkin ✔️

If we could coordinate our efforts, that would be super awesome.

@penland365 has already staked a claim to finagle-redis. If there's a project that you want to work on, please post on this thread!

If someone is working on something you want to help with, please get in contact with them, make sure they're OK with you helping out, and then get in contact with us.

tips

  1. Follow the CONTRIBUTING guidelines.
  2. Make sure your test works with JUnit (see other scalatest tests to see how to go about doing it).
  3. Test with 2.9.2, 2.10.x, and 2.11.x. They need to all work for your submission to be accepted.
  4. Make sure your scalatest versions are lined up properly. It seems like scalatest has stopped making new versions for 2.9.2, and the earliest scalatest_2.11 is after that cutoff, so there will have to be two scalatests.
  5. Remove the specs dependency from your project to be 100% sure that you're no longer depending on it.
  6. Don't touch the maven or pants files, we'll do it on our end.
  7. Please rename scalatest-ified classes and file names from XSpec to XTest
  8. For mocking, please use org.scalatest.mock.MockitoSugar.
  9. If you have a question about something, look around the rest of the repo to see how it's done. If you still have questions, reach out on this thread.
@adamdecaf
Copy link
Contributor

I can grab finagle-http.

@mosesn
Copy link
Contributor Author

mosesn commented Jul 3, 2014

It's yours!

@bajohns
Copy link
Contributor

bajohns commented Jul 3, 2014

I can take finagle-thrift and finagle-stream.

@mosesn
Copy link
Contributor Author

mosesn commented Jul 3, 2014

Excellent! Noted.

@rlazoti
Copy link
Contributor

rlazoti commented Jul 3, 2014

is finagle-memcached available? If it's, I can take it.

@mosesn
Copy link
Contributor Author

mosesn commented Jul 3, 2014

For @rlazoti, anything!

@chester89
Copy link

Can I take a shot at finagle-kestrel?

@mosesn
Copy link
Contributor Author

mosesn commented Jul 3, 2014

Boom! Only finagle-native is left now.

@adamdecaf
Copy link
Contributor

Looks easy enough. I got it.

@mosesn
Copy link
Contributor Author

mosesn commented Jul 4, 2014

And all gone. Thanks!

@mosesn
Copy link
Contributor Author

mosesn commented Jul 8, 2014

Forgot to mention before, if you're working with mocks, please use MockitoSugar. I've updated the list of guidelines to reflect this too.

@chester89
Copy link

What should I do with tests marked as deprecated? Should I convert them too?

@mosesn
Copy link
Contributor Author

mosesn commented Jul 16, 2014

Yeah, let's convert them too. We can remove it after we've actually deleted it.

@caniszczyk
Copy link
Contributor

@mosesn any idea what's left with this one?

@mosesn
Copy link
Contributor Author

mosesn commented Aug 10, 2014

@caniszczyk I've been keeping the description of the issue up to date. We need to review @bajohns' PRs, and then the only ones that are left are finagle-redis (mostly done) and finagle-kestrel (unsure of status).

@penland365
Copy link
Contributor

I hope to have finagle-redis finished up by the end of the weekend - Monday. My apologies if this is holding anyone up!

@mosesn
Copy link
Contributor Author

mosesn commented Aug 10, 2014

It's not--we still have more work we can do on our end, don't worry about it 🐼

@chester89
Copy link

Guys, finagle-kestrel is on me, I apologise for not reporting for so long.
What I managed to do is to port 99% of the code to ScalaTest, and it does compile - but many tests fail because I somehow screwed up asserts on collections.
Let me post the code I have tomorrow - and may be someone can help me finish it.

@mosesn
Copy link
Contributor Author

mosesn commented Aug 10, 2014

Sounds like a plan! Thanks for following up.

@chester89
Copy link

Send a PR with what I've got.

@chester89
Copy link

great! will do

2014-08-15 18:29 GMT+04:00 Pierre-Antoine Ganaye [email protected]:

@chester89 https://github.com/chester89 I've converted all tests except
ReadHandleSpec take a look
https://github.com/p-antoine/finagle/tree/master/finagle-kestrel/src/test/scala/com/twitter/finagle/kestrel
everything works.


Reply to this email directly or view it on GitHub
#290 (comment).

С уважением,
Чермённов Глеб,
тел. (916) 314-9324

@rlazoti
Copy link
Contributor

rlazoti commented Aug 15, 2014

I am also available to help anyone in a pinch! 😃

@mosesn
Copy link
Contributor Author

mosesn commented Aug 15, 2014

Actually, if you folks are rip-roaring to go, it would be great to get started on scrooge and ostrich, which are both dependencies of finagle. The other thing that needs to be done is to actually turn on 2.11 support for finagle. We can't do it properly until we're totally off of specs, but we can start off by just making a branch where we remove the specs bits and make sure everything else compiles, and all of our dependencies are OK.

Any interest?

@travisbrown
Copy link
Contributor

I'm sorry for the delays—there are some complications and other things keep coming up that make it difficult to make this a priority. I can promise to spend some time with it this week.

finagle-core and finagle-thrift at least only need a few small changes and it should be possible to publish 2.11 builds with the next Finagle release. A couple of other subprojects will take longer (e.g. finagle-ostrich), and the rest are somewhere in the middle. Are there particular subprojects that are priorities for you, @c089?

@dnatic09
Copy link

dnatic09 commented Dec 2, 2014

I know there are a few people on here waiting for Ostrich to run under 2.11.

@kelf
Copy link

kelf commented Dec 2, 2014

We are waiting patiently for thrift/core. Really appreciate all the hard work.

@StefanGheorghiu
Copy link

We've also been waiting for half a year. The only library preventing us from migrating to 2.11. Please-please-please...

@c089
Copy link

c089 commented Dec 3, 2014

@travisbrown thanks for getting back on this, appreciated. Personally I'm waiting on finatra, which in turn depends on finagle-http.

@bajohns
Copy link
Contributor

bajohns commented Dec 3, 2014

Hey @mosesn - would you mind updating the package status above? I know finagle-thrift and finagle-stream are done and based on this thread it looks like finagle-kestrel is also done.

Thanks! cc @travisbrown

@travisbrown
Copy link
Contributor

Okay, quick update—we're planning a release of Finagle and associated projects this week with 2.11 builds for twitter-server and all but five Finagle subprojects (finagle-redis and the ones that depend on Ostrich).

I've got Finatra running on 2.11 locally, and the necessary changes are pretty small, but I can't promise when they'll be available in a release.

@bajohns
Copy link
Contributor

bajohns commented Dec 3, 2014

Perhaps this is already known - but finagle master isn't build-able right now due to Ostrich 9.6.1 not being published. Can you push that to github and publish?

Sorry to pile on with requests! And thank you for updating the other packages for 2.11!

[warn] ==== public: tried
[warn]   http://repo1.maven.org/maven2/com/twitter/ostrich_2.10/9.6.1/ostrich_2.10-9.6.1.pom
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.twitter#ostrich_2.10;9.6.1: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

@penland365
Copy link
Contributor

I'll be taking on finagle-redis at the end of this month - I'll have the bandwidth around the holidays. Test migration needs to be completed ( by me ), and then the testing of 2.11.

@travisbrown
Copy link
Contributor

Another update: the changes that allow us to publish 2.11 builds for almost everything (not finagle-redis, finagle-ostrich4, finagle-stress, or finagle-example) have been merged internally, but they made it in too late yesterday for us to get a release out.

I'm waiting on review for additional changes that will allow us to publish util-eval, scala-json, ostrich, finagle-ostrich4, and finagle-stress for 2.11, but all tests are passing and there's no ABI breakage, so it shouldn't be too long. Thanks much to @rlazoti for the Ostrich test migration work that made this part much easier than it would have been otherwise.

@travisbrown
Copy link
Contributor

In case you missed it: 2.11 builds were published last week for everything but finagle-redis, finagle-ostrich4, finagle-stress, and finagle-example. I'm working on pushing these stragglers through this week, but they may not be available until after the holidays (I'll close this issue when they're out). There's also some initial work by @c089 here on putting together a 2.11 release for Finatra.

Thanks to everyone who put in so much work to make this possible (and thanks to everyone in general for your patience)!

@folone
Copy link

folone commented Dec 15, 2014

Great news, thank you folks!

@bajohns
Copy link
Contributor

bajohns commented Dec 15, 2014

Thank you @travisbrown and all the others who pushed this forward. This is an important step forward for many of us who depend on finagle.

cc @mosesn @stevegury @bmdhacks

@travisbrown
Copy link
Contributor

Quick note: it's now possible to build finagle-ostrich4 locally for 2.11 by running +publish-local on the develop branches of util, ostrich, and finagle (in that order). Releases are coming soon, but I don't have a definite timeline yet.

@hgfischer
Copy link

Hello,

I would like to know the status of the remaining packages/modules that needs to be updated to Scala 2.11.

cheers

@travisbrown
Copy link
Contributor

Hi @hgfischer. Most subprojects have been published for 2.11, and everything except finagle-redis is available in the develop branch, which means they've been updated internally and will be available in the next release. finagle-redis is done but is not yet merged internally (it's a big changeset).

@dnatic09
Copy link

@travisbrown , is Ostrich 2.11 on the roadmap too?

@travisbrown
Copy link
Contributor

@dnatic09 Yep, Ostrich has been updated for 2.11 internally and is just waiting for the next release.

@rodrigodealer
Copy link

Can finagle-redis be merged?

@ckampfe
Copy link

ckampfe commented Feb 21, 2015

Any movement on finagle-redis?

@penland365
Copy link
Contributor

@ckampfe @rodrigodealer You can blame me for that - I bit off too large of a change when we did the port to scalatest and the PR is bit of handful for the internal team. The dev work has been completed, but finding the time to actual get "All the Things":tm: done has been a challenge.

@mosesn
Copy link
Contributor Author

mosesn commented Feb 21, 2015

in defense of @penland365 it has actually been merged internally, we just need to publish and push the code to github. There's a problem with our ssh keys that we're trying to sort out. I'll try to figure out what still needs to be done.

@ckampfe
Copy link

ckampfe commented Feb 21, 2015

@penland365 @mosesn no worries at all and sincere thanks for your hard work. Was just curious!

@csaltos
Copy link
Contributor

csaltos commented Feb 21, 2015

Thank you @penland365 and @mosesn for your work. Looking forward for finagle-redis for Scala 2.11.

@rodrigodealer
Copy link

@penland365 No problem, ping us when you have any news about finagle-redis. Thank you for your work.

@davydkov
Copy link

@penland365 @mosesn Hey guys, are there any updates on finagle-redis?

@travisbrown
Copy link
Contributor

@beenokle The migration to ScalaTest is done and is available in the develop branch, and finagle-redis_2.11 will be in the next release (which is likely to be out this week or next).

@rodrigodealer
Copy link

:shipit: ❤️

@luciferous luciferous mentioned this issue Jul 16, 2019
28 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests