HDDS-8280. Upgrade Jetty 9.4 to 12 (Jakarta EE10) - #11201
Open
yandrey321 wants to merge 18 commits into
Open
Conversation
# Conflicts: # hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectAttributesGet.java
# Conflicts: # hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/endpoint/ObjectEndpointStreaming.java # hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/s3/endpoint/TestObjectPut.java
Resolve conflicts and migrate newly-merged S3 STS feature (javax -> jakarta) for the Jetty 12 / Jakarta EE10 upgrade. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
Author
|
@ss77892 could you please give another look to these changes? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 changes were proposed in this pull request?
Upgrade the embedded web stack from Jetty 9.4 to Jetty 12 (Jakarta EE10).
Mechanical migration:
javax.servlet→jakarta.servlet,javax.ws.rs→jakarta.ws.rs,javax.annotation→jakarta.*,org.eclipse.jetty.servlet.*→org.eclipse.jetty.ee10.servlet.*.Version updates: Jetty
12.0.38, Jersey3.1.12,jakarta.ws.rs-api3.1.0,jakarta.servlet-api6.0.0, Weld5.1.7.Final, Guice7.0.0, CDI-api4.0.1.Transitive Jetty 9 excluded from Hadoop dependencies.
Non-mechanical / behavioral changes:
JavaxFilterBridge.JMXJsonServletinto Ozone as a jakarta servlet.HttpServer2structural rewrites for APIs removed in Jetty 12.S3ContentTypeFilterpreserves the bareapplication/xmlcontent-type.beans.xmlset tobean-discovery-mode="all"(required so the S3 Gateway
OzoneClientCache@Singletonis discovered).2.3.3→4.0.x(jakarta.xml.bind), fixing a runtimejakarta.xml.bind.PropertyException.(
UriCompliance.LEGACY/decodeAmbiguousURIs).Dependency & packaging hygiene (
share/ozone/lib):The migration reshapes the dist's transitive graph, so
bin/LICENSE.txtandjar-report.txtwere regenerated from a clean
-Pdistbuild. javax / com.sun artifacts are replaced by theirjakarta equivalents (e.g.
org.eclipse.angus:angus-activation,jakarta.el-api,jakarta.interceptor-api,jakarta.enterprise.cdi-api,org.glassfish.jaxb:jaxb-core,jetty-ee10-servlet/jetty-ee10-webapp).To ensure each artifact ships exactly once in the dist:
share/ozone/libclasspath:iceberg-core:1.10.2pullsio.airlift:aircompressor:2.0.3(referenced and used), while
ranger-audit-core:2.9.0pulls the incompatible0.27(same
io.airlift.compress.*class names, a major-version rewrite).ranger-audit-corereferences aircompressor in 0 of its classes, so
io.airlift:aircompressoris excludedfrom
ranger-plugins-commoninmultitenancy-ranger; the dist ships a single2.0.3,matching master.
com.sun.xml.bind:jaxb-core/jaxb-impl(JAXB 3.0.0 viaugsync-util) from the Ranger dependency;
org.glassfish.jaxb:jaxb-runtime(4.0.x) suppliesthe implementation, so jaxb-core/impl ship once.
okiopinned to3.17.0(+okio-jvm),stax2-apipinned viadependencyManagement; removed duplicate
kotlin-stdlib-commonandprotobuf-java.Generated-by: Claude Code (claude-opus-4-8)
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8280
How was this patch tested?
CI: https://github.com/yandrey321/ozone/actions/runs/34409299129/job/102668127629
Unit, integration, robot tests.