Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
a0c7fa5
HADOOP-19970. Resolve a single Jetty release and servlet API on every…
joseluisll Aug 21, 2026
22dc62f
HADOOP-19970. Move Jersey's test container off Jetty.
joseluisll Aug 24, 2026
236e4bd
HADOOP-19970. Log through SLF4J in JobEndNotifier.
joseluisll Aug 26, 2026
0bc0ff8
HADOOP-19970. Take the servlet API from Jetty.
joseluisll Aug 31, 2026
3e9a59a
HADOOP-19971. Drop the servlet import AuthenticationToken only names …
joseluisll Aug 24, 2026
97b2f44
HADOOP-19971. Add a servlet-free way to parse an RSA public key from …
joseluisll Aug 24, 2026
c1c3a37
HADOOP-19971. Add a servlet-free way to initialize a SignerSecretProv…
joseluisll Aug 24, 2026
47fc716
HADOOP-19971. Stop ApiServiceClient naming a Jetty type.
joseluisll Aug 24, 2026
5a75ac9
HADOOP-19971. Stop the shuffle handler naming a Jetty type.
joseluisll Aug 24, 2026
b592e5d
HADOOP-19971. Answer the review of the servlet-free provider changes.
claude Aug 31, 2026
83a51ff
HADOOP-19972. Upgrade to Jetty 12 on the ee8 environment, keeping jav…
joseluisll Aug 24, 2026
16c6719
HADOOP-19972. Assert the servlet contract Hadoop offers the projects …
joseluisll Aug 24, 2026
c6a4bef
HADOOP-19972. Let a closed listener be reopened again on Jetty 12.
joseluisll Aug 24, 2026
550e353
HADOOP-19972. Let a path with an empty segment reach the servlet again.
claude Aug 25, 2026
a3b6362
HADOOP-19972. Assert the refusal a renew now comes back with.
claude Aug 25, 2026
1c1f937
HADOOP-19972. Let a path with an encoded percent reach the servlet too.
claude Aug 25, 2026
7a45009
HADOOP-19972. Let an encoded backslash reach the servlet too.
claude Aug 26, 2026
51a0a90
HADOOP-19972. Let a CSRF refusal carry its reason to the caller.
claude Aug 26, 2026
e6eef67
HADOOP-19972. Give every mocked response in the CSRF test a writer.
claude Aug 26, 2026
c76fa07
HADOOP-19972. Let a refused image transfer carry its reason.
claude Aug 26, 2026
9c34e08
HADOOP-19972. Clear the response charset along with the content type.
claude Aug 26, 2026
bbb4fa0
HADOOP-19972. Read a refusal's reason from the body, everywhere it is…
claude Aug 26, 2026
385df0d
HADOOP-19972. Answer a failed topology dump with a failure.
claude Aug 26, 2026
6b90a2f
HADOOP-19972. Keep the app catalog on the Jetty that Solr is built ag…
claude Aug 26, 2026
fef9933
HADOOP-19972. Keep Hadoop's Jetty out of the app catalog war.
claude Aug 26, 2026
3cd2192
HADOOP-19972. Take Jetty from the 12.1 line rather than 12.0.
claude Aug 31, 2026
98d8b3f
HADOOP-19972. Report a JSON refusal by its reason phrase, not its env…
joseluisll Sep 1, 2026
048431b
HADOOP-19972. Keep a webapp's error-page mappings when overriding the…
joseluisll Sep 1, 2026
8736bca
HADOOP-19972. Read a refusal's reason from the body everywhere it is …
joseluisll Sep 1, 2026
f8e54b9
HADOOP-19972. Keep jetty-util in the shaded client runtime.
joseluisll Sep 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 25 additions & 19 deletions LICENSE-binary
Original file line number Diff line number Diff line change
Expand Up @@ -411,20 +411,29 @@ org.apache.yetus:audience-annotations:0.5.0
org.apache.zookeeper:zookeeper:3.8.6
org.codehaus.jettison:jettison:1.5.4
org.conscrypt:conscrypt-openjdk-uber:2.5.2
org.eclipse.jetty:jetty-annotations:9.4.58.v20250814
org.eclipse.jetty:jetty-http:9.4.58.v20250814
org.eclipse.jetty:jetty-io:9.4.58.v20250814
org.eclipse.jetty:jetty-jndi:9.4.58.v20250814
org.eclipse.jetty:jetty-plus:9.4.58.v20250814
org.eclipse.jetty:jetty-security:9.4.58.v20250814
org.eclipse.jetty:jetty-server:9.4.58.v20250814
org.eclipse.jetty:jetty-servlet:9.4.58.v20250814
org.eclipse.jetty:jetty-util:9.4.58.v20250814
org.eclipse.jetty:jetty-util-ajax:9.4.58.v20250814
org.eclipse.jetty:jetty-webapp:9.4.58.v20250814
org.eclipse.jetty:jetty-xml:9.4.58.v20250814
org.eclipse.jetty.websocket:javax-websocket-client-impl:9.4.58.v20250814
org.eclipse.jetty.websocket:javax-websocket-server-impl:9.4.58.v20250814
org.eclipse.jetty:jetty-alpn-client:12.1.12
org.eclipse.jetty:jetty-client:12.1.12
org.eclipse.jetty:jetty-ee:12.1.12
org.eclipse.jetty:jetty-http:12.1.12
org.eclipse.jetty:jetty-io:12.1.12
org.eclipse.jetty:jetty-security:12.1.12
org.eclipse.jetty:jetty-server:12.1.12
org.eclipse.jetty:jetty-session:12.1.12
org.eclipse.jetty:jetty-util:12.1.12
org.eclipse.jetty:jetty-xml:12.1.12
org.eclipse.jetty.ee8:jetty-ee8-nested:12.1.12
org.eclipse.jetty.ee8:jetty-ee8-security:12.1.12
org.eclipse.jetty.ee8:jetty-ee8-servlet:12.1.12
org.eclipse.jetty.ee8:jetty-ee8-webapp:12.1.12
org.eclipse.jetty.ee8.websocket:jetty-ee8-websocket-jetty-api:12.1.12
org.eclipse.jetty.ee8.websocket:jetty-ee8-websocket-jetty-client:12.1.12
org.eclipse.jetty.ee8.websocket:jetty-ee8-websocket-jetty-common:12.1.12
org.eclipse.jetty.ee8.websocket:jetty-ee8-websocket-jetty-server:12.1.12
org.eclipse.jetty.ee8.websocket:jetty-ee8-websocket-servlet:12.1.12
org.eclipse.jetty.toolchain:jetty-servlet-api:4.0.9
org.eclipse.jetty.websocket:jetty-websocket-core-client:12.1.12
org.eclipse.jetty.websocket:jetty-websocket-core-common:12.1.12
org.eclipse.jetty.websocket:jetty-websocket-core-server:12.1.12
org.ehcache:ehcache:3.8.2
org.ini4j:ini4j:0.5.4
org.objenesis:objenesis:2.6
Expand Down Expand Up @@ -625,9 +634,7 @@ CDDL 1.1 + GPLv2 with classpath exception
com.sun.xml.bind:jaxb-impl:2.2.3-1
javax.annotation:javax.annotation-api:1.3.2
javax.cache:cache-api:1.1.1
javax.servlet:javax.servlet-api:3.1.0
javax.servlet.jsp:jsp-api:2.1
javax.websocket:javax.websocket-api:1.0

Eclipse Distribution License (EDL) 1.0
--------------------------
Expand All @@ -645,8 +652,6 @@ Eclipse Public License (EPL) 2.0
--------------------------

jakarta.ws.rs-api:jakarta.ws.rs-api:2.1.6
jakarta.servlet.jsp:jakarta.servlet.jsp-api:2.3.6
jakarta.servlet:jakarta.servlet-api:4.0.4

Eclipse Public License (EPL) 2.0 with some parts being
GNU General Public License (GPL), Version 2, With Classpath Exception,
Expand All @@ -660,9 +665,10 @@ org.glassfish.jersey.core:jersey-server:2.46
org.glassfish.jersey.inject:jersey-hk2:2.46
org.glassfish.jersey.core:jersey-client:2.46
org.glassfish.jersey.test-framework:jersey-test-framework-core:2.46
org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:2.46
org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jdk-http:2.46
org.glassfish.jersey.containers:jersey-container-servlet:2.46
org.glassfish.jersey.containers:jersey-container-servlet-core:2.46
org.glassfish.jersey.containers:jersey-container-jdk-http:2.46
org.glassfish.jersey.media:jersey-media-json-jettison:2.46
org.glassfish.jersey.media:jersey-media-jaxb:2.46

Expand Down
2 changes: 0 additions & 2 deletions NOTICE-binary
Original file line number Diff line number Diff line change
Expand Up @@ -463,10 +463,8 @@ Oracle
The following artifacts are CDDL + GPLv2 with classpath exception.
https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html

* javax.servlet:javax.servlet-api
* javax.annotation:javax.annotation-api
* javax.transaction:javax.transaction-api
* javax.websocket:javax.websocket-api

------
Oracle OpenJDK
Expand Down
55 changes: 44 additions & 11 deletions hadoop-client-modules/hadoop-client-minicluster/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,12 @@
<artifactId>javax.servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>jakarta.ws.rs</groupId>
Expand Down Expand Up @@ -419,7 +423,7 @@
</dependency>
<!-- Add back in the transitive dependencies excluded from hadoop-common in client TODO remove once we have a filter for "is in these artifacts" -->
<!-- skip javax.servlet:javax.servlet-api because it's in client -->
<!-- skip jakarta.servlet:jakarta.servlet-api because it's in client -->
<!-- skip org.eclipse.jetty.toolchain:jetty-servlet-api because it's in client -->
<!-- skip jakarta.ws.rs-api:jakarta.ws.rs because it's in client -->
<!-- Skip commons-logging:commons-logging-api because it looks like nothing actually included it -->
<!-- Skip jetty-util because it's in client -->
Expand Down Expand Up @@ -464,7 +468,7 @@
</dependency>
<!-- add back in transitive dependencies of hadoop-mapreduce-client-app removed in client -->
<!-- Skipping javax.servlet:javax.servlet-api because it's in client -->
<!-- Skipping jakarta.servlet:jakarta.servlet-api because it's in client -->
<!-- Skipping org.eclipse.jetty.toolchain:jetty-servlet-api because it's in client -->
<!-- Skipping jakarta.ws.rs-api:jakarta.ws.rs because it's in client -->
<dependency>
<groupId>org.apache.hadoop</groupId>
Expand All @@ -476,8 +480,12 @@
<artifactId>javax.servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>jakarta.ws.rs</groupId>
Expand Down Expand Up @@ -551,8 +559,12 @@
<artifactId>javax.servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>jakarta.ws.rs</groupId>
Expand Down Expand Up @@ -623,6 +635,10 @@
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-servlet-api</artifactId>
</exclusion>
<exclusion>
<artifactId>junit-jupiter</artifactId>
<groupId>org.junit.jupiter</groupId>
Expand All @@ -632,8 +648,17 @@
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-jetty</artifactId>
<artifactId>jersey-test-framework-provider-jdk-http</artifactId>
<exclusions>
<!-- skip jakarta.servlet:jakarta.servlet-api because it's in client -->
<exclusion>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
Expand Down Expand Up @@ -707,8 +732,14 @@
<exclude>junit:junit</exclude>
<exclude>com.google.code.findbugs:jsr305</exclude>
<exclude>ch.qos.reload4j:reload4j</exclude>
<exclude>org.eclipse.jetty.websocket:websocket-common</exclude>
<exclude>org.eclipse.jetty.websocket:websocket-api</exclude>
<!--
WebSocket is hadoop-client-runtime's to ship. Jetty 12
renamed both of these and split the Jetty-flavoured API
out per EE environment, so the two names become three.
-->
<exclude>org.eclipse.jetty.websocket:jetty-websocket-core-common</exclude>
<exclude>org.eclipse.jetty.ee8.websocket:jetty-ee8-websocket-jetty-api</exclude>
<exclude>org.eclipse.jetty.ee8.websocket:jetty-ee8-websocket-jetty-common</exclude>
<!-- We need a filter that matches just those things that are included in the above artiacts -->
<!-- Leave bouncycastle unshaded because it's signed with a special Oracle certificate so it can be a custom JCE security provider -->
<exclude>org.bouncycastle:*</exclude>
Expand Down Expand Up @@ -940,11 +971,13 @@
<exclude>com/sun/security/*</exclude>
<exclude>com/sun/jndi/*</exclude>
<exclude>com/sun/management/*</exclude>
<exclude>com/sun/net/httpserver/*</exclude>
<exclude>com/sun/tools/**/*</exclude>
<exclude>com/sun/javadoc/**/*</exclude>
<exclude>com/sun/security/**/*</exclude>
<exclude>com/sun/jndi/**/*</exclude>
<exclude>com/sun/management/**/*</exclude>
<exclude>com/sun/net/httpserver/**/*</exclude>
<exclude>com/ibm/security/*</exclude>
<exclude>com/ibm/security/**/*</exclude>
<!-- Exclude zstd-jni -->
Expand Down
27 changes: 23 additions & 4 deletions hadoop-client-modules/hadoop-client-runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -161,16 +161,35 @@
<exclude>com.google.code.findbugs:jsr305</exclude>
<exclude>io.netty:*</exclude>
<exclude>io.dropwizard.metrics:metrics-core</exclude>
<exclude>org.eclipse.jetty:jetty-servlet</exclude>
<exclude>org.eclipse.jetty:jetty-security</exclude>
<!-- Excluding Jetty dependencies to resolve `BanDuplicateClasses` issues caused by
duplicate Jetty classes in `hadoop-client-minicluster` and `hadoop-client-runtime`.
so keeping it here leads to conflicts.

Jetty 12 splits what jetty-servlet and jetty-server used to
hold across the ee8 environment and a separate session
module, so the same division of labour needs more names:
jetty-ee8-servlet for the old jetty-servlet, plus
jetty-ee8-nested, jetty-ee8-security and jetty-session,
which are all code that shipped inside those two jars on
9.4. jetty-util-ajax and jetty-continuation are gone from
the tree, so they are no longer named here.

jetty-util is not named here either. It is this jar's to
ship, as hadoop-client-minicluster still says when it
excludes it. YARN-11793 took it away when the Jersey test
framework moved onto Jetty and started pulling jetty-util
into hadoop-client-minicluster on a path that module does
not exclude; HADOOP-19970 moved that test container back
off Jetty, so nothing pulls it there any more and the two
exclusions would leave org.eclipse.jetty.util in neither
jar.
-->
<exclude>org.eclipse.jetty:jetty-util</exclude>
<exclude>org.eclipse.jetty:jetty-util-ajax</exclude>
<exclude>org.eclipse.jetty:jetty-server</exclude>
<exclude>org.eclipse.jetty:jetty-continuation</exclude>
<exclude>org.eclipse.jetty:jetty-session</exclude>
<exclude>org.eclipse.jetty.ee8:jetty-ee8-servlet</exclude>
<exclude>org.eclipse.jetty.ee8:jetty-ee8-nested</exclude>
<exclude>org.eclipse.jetty.ee8:jetty-ee8-security</exclude>
<exclude>org.ow2.asm:*</exclude>
<!-- Leave bouncycastle unshaded because it's signed with a special Oracle certificate so it can be a custom JCE security provider -->
<exclude>org.bouncycastle:*</exclude>
Expand Down
4 changes: 2 additions & 2 deletions hadoop-common-project/hadoop-auth-examples/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@

<dependencies>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down
8 changes: 4 additions & 4 deletions hadoop-common-project/hadoop-auth/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,13 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<groupId>org.eclipse.jetty.ee8</groupId>
<artifactId>jetty-ee8-servlet</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<groupId>org.eclipse.jetty.toolchain</groupId>
<artifactId>jetty-servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down
Loading
Loading