[ZEPPELIN-6311] Draft - Supports JDK 17 #5059
Open
+230
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is this PR for?
This initiative aims to add official support for JDK 17, allowing Zeppelin to run on a modern, secure, and performant Java runtime.
Our key motivation is to maintain robust compatibility with other critical open-source projects in our ecosystem (e.g., Spark, Flink, Hadoop), which are themselves adopting newer JDK versions.
Guiding Principles
The most critical principle for this migration is backward compatibility.
Support for Java 11 Must Be Maintained: This effort is about adding support for Java 17, not dropping support for Java 11. All changes must ensure that the project continues to build and pass all tests on JDK 11.
Release Artifacts Must Remain Java 11 Compatible: To minimize the impact on existing users, our official release artifacts will continue to target the Java 11 runtime. We will achieve this by building the project with a JDK 17 toolchain but setting the
<maven.compiler.release>11</maven.compiler.release>
property. This ensures the generated bytecode is compatible with Java 11 JVMs.We will follow an incremental, community-driven approach. The goal is to make the process transparent and allow multiple contributors to help.
Configured an additional workflow to be triggered whenever contributors submit a PR containing the keywords jdk-17 or jdk17.
What type of PR is it?
Improvement
Todos
java.version
(17) &maven.compiler.source
(11),maven.compiler.target
(11)What is the Jira issue?
How should this be tested?
Screenshots (if appropriate)
Questions: