[
https://issues.apache.org/jira/browse/KUDU-3681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18064157#comment-18064157
]
ASF subversion and git services commented on KUDU-3681:
-------------------------------------------------------
Commit 9b8aef91451cbbf646a59232eec8f3acbb7016a4 in kudu's branch
refs/heads/master from zchovan
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=9b8aef914 ]
[build][java] KUDU-3681: Move to JDK17
This change aims to support building and running the java bits with Java 17.
The changes:
* natively set release version when building with Java 9+
* use 'org.apache.tomcat:annotations-api' as a compileOnly dependency for the
'javax.annotations' package, since that was deprecated in Java 9
* upgrade jacoco dependency from 0.8.6 to 0.8.8 for Java17 compatibility
* upgrade the Hive dependency to 4.1.0
* after this change, it is no longer possible to compile Kudu java bits
with JDK versions lower than 17
Change-Id: I1f73c0d3a79e1c37b12a173881273b4b68d718b3
Reviewed-on: http://gerrit.cloudera.org:8080/23259
Reviewed-by: Marton Greber <[email protected]>
Tested-by: Marton Greber <[email protected]>
Reviewed-by: Gabriella Lotz <[email protected]>
> Move to JDK17
> -------------
>
> Key: KUDU-3681
> URL: https://issues.apache.org/jira/browse/KUDU-3681
> Project: Kudu
> Issue Type: Improvement
> Reporter: Chovan Zoltan
> Assignee: Chovan Zoltan
> Priority: Major
>
> {*}Summary{*}: Deprecate Java 8 support and establish Java 17 as the minimum
> required version for Apache Kudu Java components
> h3. Background
> Apache Kudu currently supports Java 8+ for both runtime and build
> environments, as documented in our installation and developer guides.
> However, Java 8 reached End of Public Updates in January 2019 and Extended
> Support will end in December 2030. Meanwhile, Java 17 is the current Long
> Term Support (LTS) release and offers significant improvements in
> performance, security, and developer experience.
> h3. Current State
> * Documentation: Java 8+ requirement listed in java/README.adoc and
> docs/installation.adoc
> * Build System: Gradle 7.6.4 with full Java 17 support
> h3. Proposal
> Officially deprecate Java 8 support and establish Java 17 as the minimum
> required version for:
> * Runtime environments
> * Build environments
> * Development environments
> * CI/CD pipelines
> h3. Benefits of Java 17
> 1. Performance Improvements:
> * Enhanced garbage collection (ZGC, G1GC improvements)
> * Better JIT compilation optimizations
> * Reduced memory footprint
> 2. Security Enhancements:
> * Regular security updates and patches
> * Improved cryptographic APIs
> * Enhanced sandboxing capabilities
> 3. Developer Experience:
> * Modern language features (sealed classes, pattern matching, text blocks)
> * Better tooling support
> * Improved diagnostics and debugging
> 4. Ecosystem Alignment:
> * Major frameworks (Spring, Spark, Hadoop) have moved to Java 17
> * Better compatibility with modern libraries
> * Future-proofing for Java ecosystem evolution
> * Hive recently moved to Java 17 then 21 in their latest [4.1.0
> release|https://github.com/apache/hive/releases/tag/rel%2Frelease-4.1.0]
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)