-
Notifications
You must be signed in to change notification settings - Fork 14.5k
KAFKA-13980: Upgrade from Scala 2.12.15 to 2.12.17 #12284
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
Conversation
913fea8
to
74044bd
Compare
@mdedetrich could you please re-run the tests (by pushing another commit or by rebasing from trunk & force pushing). It would be ideal if we have a clean test run (with known flaky failures) before we approve this. |
74044bd
to
4277718
Compare
@divijvaidya Done |
cc: @ijuma (since you seem have performed scala upgrades in the past) The test failures do not seem related to this code change to me. |
4277718
to
4eaa914
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
I notice there's a regression:
Is there something you're looking for in 2.12.16? |
So I already had a detailed look into this, it only occurs at compile time (see scala/bug#12605 (comment)) which means that unless you get that specifically mentioned compile error there is no adverse effect. You can see the precise details with the linked ticket at scala/bug#12605 but in summary Kafka is completely unaffected by this (otherwise the scala |
@mdedetrich Yes, kafka is unaffacted by it now, but it could be affected in the future. If there's a clear benefit for going with 2.12.16, we can go ahead though. Is there? |
The fix for this has already been merged into Scala and it will be included in the 2.12.17 release which is being expedited. So while its theoritically possible Kafka could be effected by this change if you do write very specific Scala/Java code that hits this bug, i.e. public class C {
public class I { public class J {} }
public void t(I.J j) {}
} Its highly unlikely this would happen in Kafka before Scala 2.12.17 is released (current eta 2-3 months) and the appropriate Scala version bump is put into Kafka. Even then it may be possible that Kafka is completely unaffected by this issue because it only occurs if the build tool (in our case Gradle) compiles Java/Scala at the same time. If you compile Scala and then Java afterwards you are completely unaffected. If necessary I can see if this is the case.
So according to the release notes this release of Scala mainly addressed JDK related issues, i.e.
So I would say there is clear benefit for people that happen to be using newer JDK versions. |
4eaa914
to
b070d08
Compare
Can you also update |
I just checked those files and it seems that this is not necessary because we are not updating the latest Scala series but the one behind it. Kafka supports Scala 2.13.x and 2.12.x with 2.13.x being the default which is the version being referenced in |
Ah yes, you're right! My bad |
b070d08
to
b279b84
Compare
Scala 2.12.17 just came out so I have rebased the PR with the new Scala version. This also means that all of the qualms mentioned in #12284 (comment) aren't relevant anymore. Release details can be found here https://github.com/scala/scala/releases/tag/v2.12.17 |
We upgrade to Scala 2.12.18 in dfaae31. Closing this PR. |
This PR updates from Scala 2.12.15 to 2.12.16. Since its a binary compatible change there shouldn't be any problems.
Release notes can be found here https://github.com/scala/scala/releases/tag/v2.12.16
Committer Checklist (excluded from commit message)