-
Notifications
You must be signed in to change notification settings - Fork 594
HDDS-14439. Require Java 17 for server components #9640
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
base: master
Are you sure you want to change the base?
Conversation
|
Thanks for the patch! |
|
Thanks for working on this @adoroszlai. Can we fully switch to using Also should the default build behavior for the client be to inherit the version from the JDK being used, or should it default to 8 and require passing |
Created separate PR #9693.
That wouldn't work: to get client jars for JDK 8, we'd need to build with JDK 8, but server-side part requires JDK >= 17.
Now we have two sets of modules, "server" (explicitly have |
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.
@adoroszlai , thanks for working on this!
Since we are specifying the min, JDK 17 is more restrictive than JDK 8. For inheritance, the subs should be more restrictive than the base. So, how about setting the default JDK version to 17 in the base and setting the client modules explicitly to 8?
| strategy: | ||
| matrix: | ||
| java: [ 8, 11, 17 ] | ||
| java: [ 17 ] |
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.
If we remove the JDK 8 and 11 cases, someone could break JDK 8 compatibility without be notice (e.g. using JDK 9 syntax in the code or adding a new client module requiring JDK 17). Is it possible to run test using JDK 17 to start the servers and JDK 8 to run the clients?
Or we should add a new test matrix to use JDK 8 compiling all the client modules and run some tests not requiring the servers (e.g. print out the version).
What changes were proposed in this pull request?
findbugscheck (temporarily) because Spotbugs 3 does not work with Java 17, and Spotbugs 4 reports 2K+ new warnings. Project to fix Spotbugs violations: HDDS-10150.Discussion: https://lists.apache.org/thread/k9kvobrg7ybthjfs78rfscpc2lty5x5y
https://issues.apache.org/jira/browse/HDDS-14439
How was this patch tested?
CI:
https://github.com/adoroszlai/ozone/actions/runs/21066105001