Skip to content

HADOOP-19970. Resolve one Jetty release and one servlet API on every module classpath - #8699

Open
joseluisll wants to merge 4 commits into
apache:trunkfrom
joseluisll:jetty-phase-a
Open

HADOOP-19970. Resolve one Jetty release and one servlet API on every module classpath#8699
joseluisll wants to merge 4 commits into
apache:trunkfrom
joseluisll:jetty-phase-a

Conversation

@joseluisll

@joseluisll joseluisll commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Description of PR

Every module in the reactor now resolves one Jetty release and one servlet API.

trunk this PR
Jetty releases across the reactor 3 1 (9.4.58)
Modules carrying two Jetty releases 21 0
Modules carrying two servlet APIs 73 1
Modules using Jetty with nothing declaring it 4 0

The one module still holding two servlet APIs is hadoop-yarn-server-timelineservice-hbase-tests, where the second arrives with HBase's own test stack.

What changed:

  • Jersey's test container moves from jersey-test-framework-provider-jetty to -grizzly2, taking Jetty off the test classpath of around twenty modules. jetty-continuation leaves the tree.
  • solr-core and solr-test-framework no longer carry nine Jetty artifacts and a servlet API into hadoop-yarn-applications-catalog-webapp's tests.
  • The javax.servlet-api exclusion on jetty-server named a group jetty-server has never used, so it matched nothing. It now names the real coordinates, and hadoop-common declares jakarta.servlet-api itself.
  • hadoop-mapreduce-client-app, hadoop-mapreduce-client-shuffle, hadoop-yarn-server-router and hadoop-yarn-server-applicationhistoryservice declare the Jetty artifact their main sources use.
  • jakarta.servlet.jsp-api, which reached some eighty-five classpaths, is gone — nothing in the tree uses JSP.
  • LICENSE-binary and NOTICE-binary follow the artifacts that changed.

No source changes; poms and the licence files only.

How was this patch tested?

Against resolved dependency trees rather than pom scans. mvn dependency:tree on an affected module shows one servlet API (jakarta.servlet:jakarta.servlet-api:4.0.4), one Jetty release (9.4.58), no jetty-continuation, and Grizzly at test scope only.

TestResourceEstimatorService, which extends JerseyTest, passes on the Grizzly container; the hadoop-resourceestimator suite is 47 tests, 0 failures.

For code changes:

  • Does the title of this PR start with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
  • Object storage: Have the integration tests been executed and the endpoint
    declared according to the connector-specific documentation? Note: Automated CI
    testing doesn't cover all cases so manual testing with cloud storage is still
    required.
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

Grizzly 2.4.4 is EPL 2.0 with GPL v2 and the Classpath Exception as a secondary licence, listed under its own heading in LICENSE-binary along with the two jersey-container-grizzly2-* artifacts.

AI Tooling

Contains content generated by Claude.

@hadoop-yetus

Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 1m 19s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+0 🆗 shelldocs 0m 0s Shelldocs was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-1 ❌ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ trunk Compile Tests _
+0 🆗 mvndep 2m 15s Maven dependency ordering for branch
+1 💚 mvninstall 42m 28s trunk passed
+1 💚 compile 16m 26s trunk passed with JDK Ubuntu-21.0.11+10-1-24.04.2-Ubuntu
+1 💚 compile 16m 36s trunk passed with JDK Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
+1 💚 mvnsite 18m 30s trunk passed
+1 💚 javadoc 9m 52s trunk passed with JDK Ubuntu-21.0.11+10-1-24.04.2-Ubuntu
+1 💚 javadoc 9m 45s trunk passed with JDK Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
+1 💚 shadedclient 46m 40s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 28s Maven dependency ordering for patch
+1 💚 mvninstall 39m 28s the patch passed
+1 💚 compile 16m 18s the patch passed with JDK Ubuntu-21.0.11+10-1-24.04.2-Ubuntu
+1 💚 javac 16m 18s the patch passed
+1 💚 compile 16m 42s the patch passed with JDK Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
+1 💚 javac 16m 42s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 18m 12s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 9m 53s the patch passed with JDK Ubuntu-21.0.11+10-1-24.04.2-Ubuntu
+1 💚 javadoc 9m 37s the patch passed with JDK Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
+1 💚 shadedclient 48m 27s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 846m 40s /patch-unit-root.txt root in the patch failed.
-1 ❌ asflicense 1m 56s /results-asflicense.txt The patch generated 1 ASF License warnings.
1136m 48s
Reason Tests
Failed junit tests hadoop.hdfs.server.namenode.ha.TestStandbyCheckpoints
hadoop.yarn.service.TestYarnNativeServices
Subsystem Report/Notes
Docker ClientAPI=1.55 ServerAPI=1.55 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8699/1/artifact/out/Dockerfile
GITHUB PR #8699
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint shellcheck shelldocs
uname Linux 4f16061ebd3b 5.15.0-181-generic #191-Ubuntu SMP Fri May 22 19:09:02 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / ce75ddb
Default Java Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.11+10-1-24.04.2-Ubuntu /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8699/1/testReport/
Max. process+thread count 4493 (vs. ulimit of 10000)
modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8699/1/console
versions git=2.43.0 maven=3.9.15 shellcheck=0.9.0
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

joseluisll added a commit to joseluisll/hadoop that referenced this pull request Aug 23, 2026
ShuffleChannelHandler is a Netty handler. It imported org.eclipse.jetty.http.
HttpHeader only to name the Connection and Keep-Alive headers, and the same
file already imports Netty's HttpHeaderNames.CONTENT_TYPE. Use HttpHeaderNames
and HttpHeaderValues throughout. That was the module's only Jetty reference in
main sources, so the module no longer uses Jetty at all outside tests.

Netty's constants are lowercase AsciiStrings, so the response now carries
"connection: keep-alive" where it carried "Connection: Keep-Alive". Field names
are case-insensitive per RFC 7230 section 3.2, connection options are
case-insensitive per section 6.1, and the response already carried Netty's
lowercase "content-length" from HttpUtil.setContentLength, so this makes the
response more internally consistent rather than less. No shuffle client reads
these headers by name; the fetcher uses HttpURLConnection, which is
case-insensitive.

Note for HADOOP-19970 (apache#8699): that PR adds a jetty-http dependency to this
module's pom for exactly this import. With the import gone the declaration is
no longer needed and should be dropped from that PR.

Contains content generated by Claude.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
joseluisll added a commit to joseluisll/hadoop that referenced this pull request Aug 23, 2026
ShuffleChannelHandler is a Netty handler. It imported org.eclipse.jetty.http.
HttpHeader only to name the Connection and Keep-Alive headers, and the same
file already imports Netty's HttpHeaderNames.CONTENT_TYPE. Use HttpHeaderNames
and HttpHeaderValues throughout. That was the module's only Jetty reference in
main sources, so the module no longer uses Jetty at all outside tests.

Netty's constants are lowercase AsciiStrings, so the response now carries
"connection: keep-alive" where it carried "Connection: Keep-Alive". Field names
are case-insensitive per RFC 7230 section 3.2, connection options are
case-insensitive per section 6.1, and the response already carried Netty's
lowercase "content-length" from HttpUtil.setContentLength, so this makes the
response more internally consistent rather than less. No shuffle client reads
these headers by name; the fetcher uses HttpURLConnection, which is
case-insensitive.

Note for HADOOP-19970 (apache#8699): that PR adds a jetty-http dependency to this
module's pom for exactly this import. With the import gone the declaration is
no longer needed and should be dropped from that PR.

Contains content generated by Claude.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@slfan1989
slfan1989 self-requested a review August 24, 2026 01:27
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- JobEndNotifier uses org.eclipse.jetty.util.log.Log -->

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

by design, or just an incorrect reference? in general, we should always use SFL4J

@pan3793

pan3793 commented Aug 24, 2026

Copy link
Copy Markdown
Member

javax.servlet:javax.servlet-api and jakarta.servlet:jakarta.servlet-api both publish the javax.servlet

This is the beginning of chaos. And in practice, during the migration, it's likely that we need both javax.servlet and jakarta.servlet, in this case, the javax.servlet must be provided by javax.servlet:javax.servlet-api, right?

joseluisll added a commit to joseluisll/hadoop that referenced this pull request Aug 24, 2026
ShuffleChannelHandler is a Netty handler. It imported org.eclipse.jetty.http.
HttpHeader only to name the Connection and Keep-Alive headers. That was the
module's only Jetty reference in main sources, so with it gone the module does
not use Jetty at all, tests included.

The names are spelled out as constants rather than taken from Netty's
HttpHeaderNames and HttpHeaderValues, whose constants are lowercase
AsciiStrings: using those would have sent "connection: keep-alive" where this
handler has always sent "Connection: Keep-Alive". Field names and connection
options are both case-insensitive per RFC 7230, and Hadoop's own fetcher uses
HttpURLConnection, but the shuffle response is read by other projects too and
there is no reason to change a byte of it here.

Note for HADOOP-19970 (apache#8699): that PR adds a jetty-http dependency to this
module's pom for exactly this import. With the import gone the declaration is
no longer needed and should be dropped from that PR.

Contains content generated by Claude.

Co-Authored-By: Claude <noreply@anthropic.com>
joseluisll added a commit to joseluisll/hadoop that referenced this pull request Aug 24, 2026
ShuffleChannelHandler is a Netty handler. It imported org.eclipse.jetty.http.
HttpHeader only to name the Connection and Keep-Alive headers. That was the
module's only Jetty reference in main sources, so with it gone the module does
not use Jetty at all, tests included.

The names are spelled out as constants rather than taken from Netty's
HttpHeaderNames and HttpHeaderValues, whose constants are lowercase
AsciiStrings: using those would have sent "connection: keep-alive" where this
handler has always sent "Connection: Keep-Alive". Field names and connection
options are both case-insensitive per RFC 7230, and Hadoop's own fetcher uses
HttpURLConnection, but the shuffle response is read by other projects too and
there is no reason to change a byte of it here.

Note for HADOOP-19970 (apache#8699): that PR adds a jetty-http dependency to this
module's pom for exactly this import. With the import gone the declaration is
no longer needed and should be dropped from that PR.

Contains content generated by Claude.

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added the TOOLS label Aug 24, 2026
joseluisll and others added 2 commits August 24, 2026 20:15
… module classpath

Several modules resolved more than one Jetty release, and more than one servlet
API, on a single classpath. Both combinations compile and then fail at run time,
on whichever code path reaches the wrong jar.

 * Four modules used org.eclipse.jetty from their main sources while no pom in
   their inheritance chain declared Jetty: hadoop-mapreduce-client-app,
   hadoop-mapreduce-client-shuffle, hadoop-yarn-server-router and
   hadoop-yarn-server-applicationhistoryservice. Each now declares the artifact
   its main sources use, without a version, and jetty-http gains the
   dependencyManagement entry it was missing. The Router declares jetty-webapp at
   compile scope, since a test scope would override the compile-scoped copy it
   inherits and take it off the Router's own runtime classpath.

 * jersey-test-framework-provider-jetty carried jetty-continuation onto the test
   classpath of around twenty modules at its own, older release. It is managed at
   ${jetty.version} rather than excluded, because Jersey needs the class:
   Continuation is a final field on JettyHttpContainer's ResponseWriter,
   initialised in the constructor.

 * solr-core carried nine Jetty artifacts, and a servlet API, into
   hadoop-yarn-applications-catalog-webapp's tests at a much older release. Those
   tests reach Solr only through EmbeddedSolrServer, which runs no servlet
   container, so none of it is needed. The exclusions are applied to
   solr-test-framework as well, whose own path to solr-core would otherwise
   reintroduce the same jars.

 * hadoop-project excluded javax.servlet-api from jetty-server under the group
   org.eclipse.jetty, which jetty-server has never used, so the exclusion matched
   nothing and javax.servlet:javax.servlet-api stayed on the classpath beside the
   managed jakarta.servlet:jakarta.servlet-api. Both publish the javax.servlet
   packages, so which one a module compiled and ran against was decided by the
   order of the jars, and 73 modules carried both. An exclusion naming the real
   coordinates is added beside the existing one, and the same on
   javax-websocket-server-impl, which reaches the API again through
   websocket-servlet. hadoop-common now declares jakarta.servlet-api itself.

 * hadoop-common declared jakarta.servlet.jsp-api, which reached some
   eighty-five classpaths. Nothing in the tree uses JSP, so it and its managed
   version are removed, together with the LICENSE-binary and NOTICE-binary
   entries for the two artifacts that no longer ship.

One module keeps two servlet APIs, hadoop-yarn-server-timelineservice-hbase-tests,
where the second arrives with HBase's own test stack.

Co-Authored-By: Claude <noreply@anthropic.com>
jersey-test-framework-provider-jetty put jetty-continuation on the test
classpath of around twenty modules at its own, older Jetty release. Managing
that artifact pins the version but leaves Jersey's Jetty 9 container there.

Switch to jersey-test-framework-provider-grizzly2 instead. It is the same
Jersey release, it speaks real HTTP, and it puts no Jetty on a test classpath
at all, so the jetty-continuation entry and its shade exclusion go with it.

It brings no second servlet API: grizzly-http-servlet declares
javax.servlet-api at provided scope, which is not transitive, and
jersey-container-grizzly2-servlet declares the jakarta.servlet-api coordinate
this tree already manages.

LICENSE-binary gains the four Grizzly artifacts and the two
jersey-container-grizzly2 ones, which reach hadoop-client-minicluster at
compile scope.

Co-Authored-By: Claude <noreply@anthropic.com>
@joseluisll joseluisll changed the title HADOOP-19970. Resolve a single Jetty release and servlet API on every module classpath Resolve one Jetty release and one servlet API on every module classpath Aug 24, 2026
@joseluisll joseluisll changed the title Resolve one Jetty release and one servlet API on every module classpath HADOOP-19970. Resolve one Jetty release and one servlet API on every module classpath Aug 24, 2026
@pjfanning

Copy link
Copy Markdown
Member

javax.servlet:javax.servlet-api and jakarta.servlet:jakarta.servlet-api both publish the javax.servlet

This is the beginning of chaos. And in practice, during the migration, it's likely that we need both javax.servlet and jakarta.servlet, in this case, the javax.servlet must be provided by javax.servlet:javax.servlet-api, right?

The jakarta.servlet groupId does not imply the jakarta.servlet package. Version 4.0.x was just the artifact rename under the Eclipse Foundation — the classes are still javax.servlet.http.HttpServlet. The actual package rename ("big bang") landed in 5.0.0. So if you see jakarta.servlet-api:4.0.4 on a classpath, your imports are still javax.*.

@joseluisll

joseluisll commented Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

With the three substasks HADOOP-19970, HADOOP-19971 and HADOOP-19972, we have migrated to jetty12-ee8 as an intermediate step, not breaking downstream consumers. I'm still testing the pr's results, it would be convenient to create a specific subtask for compatibility testing before releasing the intermediate step. Any idea on how to approach the compatibility testing is welcome.

The breaking changes should be delivered in a future and additional release, giving time anf instructions for consumers to adapt to the namespace change, that is, using the jakarta instead of the javax classes.

This changes also introduce jdk-17 as a requirement, they are no longer jdk-8 compatible due to jetty12.

@pan3793

pan3793 commented Aug 25, 2026

Copy link
Copy Markdown
Member

The jakarta.servlet groupId does not imply the jakarta.servlet package. Version 4.0.x was just the artifact rename under the Eclipse Foundation — the classes are still javax.servlet.http.HttpServlet. The actual package rename ("big bang") landed in 5.0.0. So if you see jakarta.servlet-api:4.0.4 on a classpath, your imports are still javax.*.

@pjfanning that's true. so in the process of namespace migration, we might mix in javax.*. and jakarta.servlet at the same time, and we can not pull two versions of jakarta.servlet-api. that's why

in this case, the javax.servlet must be provided by javax.servlet:javax.servlet-api

but this might not be a real issue for hadoop project, since it stays near the root of the big data ecosystem dependency tree

JobEndNotifier logged through org.eclipse.jetty.util.log.Log, Jetty's own
logging facade, which is the only reason hadoop-mapreduce-client-app needed a
Jetty dependency at all. Use SLF4J, as the rest of the tree does, and the
declaration added earlier in this PR goes with it.

The module now names no Jetty type anywhere, in main sources or tests.

Raised by pan3793 in review.

Co-Authored-By: Claude <noreply@anthropic.com>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-jetty</artifactId>
<artifactId>jersey-test-framework-provider-grizzly2</artifactId>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not familiar with this part, why should we move from ...provider-jetty to ...provider-grizzly2? will the latter pull in other dependencies? I checked that spark uses ...provider-simple which sounds lighter, is it sufficient for hadoop use case?

else {
success = true;
Log.getLog().info("Job end notification to " + urlToNotify
LOG.info("Job end notification to " + urlToNotify

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please also change it to {} placeholder style, and I think org.eclipse.jetty.util.log.Log => org.slf4j.Logger worth a dedicated PR and we can do a backport

Grizzly's servlet container declares jakarta.servlet-api at compile scope,
where the Jetty test container it replaced took the servlet API from Jetty.
hadoop-client-minicluster shades the javax.servlet package and so does
hadoop-client-runtime, which already ships those classes, so the new edge put
them in both jars and BanDuplicateClasses in
hadoop-client-check-test-invariants rejected the build.

Exclude it, as the module already does for the servlet API arriving through
the Hadoop modules it pulls back in.

Co-Authored-By: Claude <noreply@anthropic.com>
@hadoop-yetus

Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 56s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 xmllint 0m 1s xmllint was not available.
+0 🆗 shelldocs 0m 1s Shelldocs was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-1 ❌ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ trunk Compile Tests _
+0 🆗 mvndep 1m 48s Maven dependency ordering for branch
+1 💚 mvninstall 51m 42s trunk passed
+1 💚 compile 18m 10s trunk passed with JDK Ubuntu-21.0.11+10-1-24.04.2-Ubuntu
+1 💚 compile 18m 15s trunk passed with JDK Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
+1 💚 checkstyle 5m 55s trunk passed
+1 💚 mvnsite 20m 9s trunk passed
+1 💚 javadoc 10m 17s trunk passed with JDK Ubuntu-21.0.11+10-1-24.04.2-Ubuntu
+1 💚 javadoc 11m 32s trunk passed with JDK Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
+0 🆗 spotbugs 0m 22s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 41m 51s /branch-spotbugs-root-warnings.html root in trunk has 93 extant spotbugs warnings.
+0 🆗 spotbugs 0m 29s branch/hadoop-client-modules/hadoop-client-minicluster no spotbugs output file (spotbugsXml.xml)
+0 🆗 spotbugs 0m 31s branch/hadoop-client-modules/hadoop-client-runtime no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 0m 44s /branch-spotbugs-hadoop-tools_hadoop-resourceestimator-warnings.html hadoop-tools/hadoop-resourceestimator in trunk has 12 extant spotbugs warnings.
-1 ❌ spotbugs 1m 43s /branch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-nodemanager-warnings.html hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager in trunk has 1 extant spotbugs warnings.
+1 💚 shadedclient 34m 32s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 35s Maven dependency ordering for patch
+1 💚 mvninstall 70m 50s the patch passed
+1 💚 compile 17m 37s the patch passed with JDK Ubuntu-21.0.11+10-1-24.04.2-Ubuntu
+1 💚 javac 17m 37s the patch passed
+1 💚 compile 18m 21s the patch passed with JDK Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
+1 💚 javac 18m 21s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 6m 12s the patch passed
+1 💚 mvnsite 19m 49s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 9m 46s the patch passed with JDK Ubuntu-21.0.11+10-1-24.04.2-Ubuntu
+1 💚 javadoc 9m 38s the patch passed with JDK Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
+0 🆗 spotbugs 0m 22s hadoop-project has no data from spotbugs
+0 🆗 spotbugs 0m 26s hadoop-client-modules/hadoop-client-runtime has no data from spotbugs
+0 🆗 spotbugs 0m 26s hadoop-client-modules/hadoop-client-minicluster has no data from spotbugs
-1 ❌ shadedclient 69m 42s patch has errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 838m 54s /patch-unit-root.txt root in the patch failed.
-1 ❌ asflicense 1m 50s /results-asflicense.txt The patch generated 1 ASF License warnings.
1339m 27s
Reason Tests
Failed junit tests hadoop.hdfs.server.namenode.ha.TestStandbyCheckpoints
hadoop.hdfs.server.balancer.TestBalancerWithHANameNodes
hadoop.yarn.service.TestYarnNativeServices
Subsystem Report/Notes
Docker ClientAPI=1.55 ServerAPI=1.55 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8699/6/artifact/out/Dockerfile
GITHUB PR #8699
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle shellcheck shelldocs
uname Linux 7a46e8a561f3 5.15.0-185-generic #195-Ubuntu SMP Fri Jun 19 17:11:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 077558a
Default Java Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.11+10-1-24.04.2-Ubuntu /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.19+10-1-24.04.2-Ubuntu
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8699/6/testReport/
Max. process+thread count 4638 (vs. ulimit of 10000)
modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client hadoop-mapreduce-project/hadoop-mapreduce-client hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-globalpolicygenerator hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp hadoop-mapreduce-project/hadoop-mapreduce-examples hadoop-tools/hadoop-resourceestimator hadoop-client-modules/hadoop-client-runtime hadoop-client-modules/hadoop-client-minicluster . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8699/6/console
versions git=2.43.0 maven=3.9.15 spotbugs=4.9.7 shellcheck=0.9.0
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants