det101 opened a new issue, #17244:
URL: https://github.com/apache/dolphinscheduler/issues/17244

   ### Search before asking
   
   - [x] I had searched in the 
[DSIP](https://github.com/apache/dolphinscheduler/issues/14102) and found no 
similar DSIP.
   
   
   ### Motivation
   
   Long - Term Support (LTS): Java 17 is the latest LTS version, which means it 
will receive long - term support and updates.
   Performance Improvement: Java 17 introduces a variety of performance 
improvements, including optimizations in garbage collection and JIT compilation.
   New Features: Java 17 brings many new features, such as pattern matching, 
records, and sealed classes, all of which can make code more concise and 
readable.
   Enhanced Security: Java 8 has been discontinued, and Java 11 will no longer 
be updated after 2026. Security vulnerabilities will continue to increase. 
Upgrading to Java 17 can ensure the security of applications.
   Other Projects: The latest versions of many projects currently support JDK 
17 and JDK 21, such as Spring, Spark, StreamPack, Doris, and so on.
   
   
   ### Design Detail
   
   **Upgrade Plan**
   DS has already supported JDK 11, so the upgrade to 1 should7 not be too 
difficult. We will proceed with the principle of forward compatibility and 
minimal code changes, with the ultimate goal of enabling the project to run on 
JDK 8, JDK 11, and JDK 17.
   
   **Before starting the upgrade, I will conduct the following research:**
   
   1. Evaluate static code compatibility issues using various tools such as 
jdeps, jdeprscan, and EMT4J to get a rough overview of the changes needed for 
the project. Discuss the results with the PMC.
   
   
   ### Compatibility, Deprecation, and Migration Plan
   
   _No response_
   
   ### Test Plan
   
   1. Compile with Java 8 and conduct integration tests in a Java 17 
environment to identify and resolve issues.
     ```
       - All modifications are made with the principle of forward 
compatibility. If compatibility is not possible, provide clear explanations.
       - Conduct integration testing of the entire process to ensure that all 
tasks can be executed normally.
     ```
   2. Verify whether E2E and UT tests can be conducted under JDK 17 and resolve 
any issues found.
    
   3. Update community documentation.
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: 
[email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to