Skip to content

HADOOP-19971. Remove servlet and Jetty types from classes that do not need them - #8703

Open
joseluisll wants to merge 10 commits into
apache:trunkfrom
joseluisll:jetty-phase-b
Open

HADOOP-19971. Remove servlet and Jetty types from classes that do not need them#8703
joseluisll wants to merge 10 commits into
apache:trunkfrom
joseluisll:jetty-phase-b

Conversation

@joseluisll

@joseluisll joseluisll commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Description of PR

Stacked on #8699 (HADOOP-19970). The first two commits belong to that PR — review the last five.

Hadoop will eventually move from javax.servlet to jakarta.servlet. When it does, every class that mentions a servlet type has to be revisited, and every class that mentions a Jetty type has to be revisited again when the Jetty API changes underneath it.

Several of those classes have no real connection to either. A component that generates signing secrets was handed the web server's context even though it only wanted somewhere to stash an object. A certificate parser reported a bad certificate as a web server error. A file-transfer handler built on Netty borrowed two header names from Jetty.

This clears those cases out, so the later migration is smaller and the classes concerned stop being part of it.

before after
modules using Jetty in main sources 13 12
main-source files using Jetty 25 23
hadoop-auth main classes naming a servlet 14 11

The MapReduce shuffle module stops depending on Jetty altogether, in code and in its build file. In hadoop-auth, the secret providers and the authentication token no longer mention the servlet API; they are initialised instead against a small two-method store that holds whatever needs sharing, which is all the one provider that used the servlet context was ever doing with it. One new class does mention the servlet API, and exists solely to keep the old path working. The YARN services client and the shuffle handler each replaced a small Jetty utility with the equivalent from the JDK or from Netty.

Nothing breaks. No public signature is removed or changed, and no dependency, version or setting changes. Code built against today's release keeps compiling and keeps running without being rebuilt. SignerSecretProvider.init and CertificateUtil.parseRSAPublicKey stay, deprecated, and stay the entry points callers use; a cleaner alternative sits alongside each. Both deprecated methods go with the namespace change, where they have to change anyway.

The shuffle protocol is untouched, byte for byte.

Deliberately out of scope: no namespace change, no Jetty upgrade, no Jersey change, no EE environments — the tree stays on Jetty 9.4, Jersey 2 and javax.servlet throughout. The authentication handler classes still mention the servlet API, because they sit on the extension point HBase, Hive, Spark, Ozone and Knox build against; changing that is precisely the break this avoids, and it belongs with the namespace change.

This works whether HADOOP-19912 goes through Jetty 12's ee8 environment or straight to ee10, and commits the project to neither.

How was this patch tested?

TestSignerSecretProviderCompatibility is new and exists to prove the deprecated path still behaves — a provider written against the old entry point is still called, still receives the real ServletContext, and a provider extending RolloverSignerSecretProvider that chains to super still has its rollover scheduler started. TestCertificateUtil asserts the deprecated method still reports the exception it always did.

AuthenticationFilter, TestAuthenticationFilter and TestZKSignerSecretProvider are unchanged from trunk, which is the clearest evidence the change is compatible.

hadoop-auth: 52 tests, 0 failures. TestShuffleChannelHandler: 8 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?

No dependencies are added or removed; one is dropped from the shuffle module's pom.

AI Tooling

Contains content generated by Claude.

… 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>
@joseluisll joseluisll changed the title Jetty phase b HADOOP-19971. Remove servlet and Jetty types from classes that do not need them Aug 24, 2026
joseluisll and others added 8 commits August 31, 2026 10:44
jersey-test-framework-provider-jetty resolves to jersey-container-jetty-http,
which Jersey 2.46 builds against Jetty 9.4.55 and which needs jetty-continuation.
That artifact does not exist past Jetty 9, so managing it at ${jetty.version}
stops resolving once that is 12.0.x. Jersey 2.x has no Jetty 12 container: the
one in Jersey 3.1.x is jakarta.servlet and cannot be used here.

Switch to jersey-test-framework-provider-jdk-http. It is the same Jersey release
and speaks real HTTP, but it runs on the JDK's own com.sun.net.httpserver, so it
adds a single artifact and no transitive dependencies at all. It puts no Jetty
and no servlet API on any test classpath, so the jetty-continuation entry and
its shade exclusion go with it.

hadoop-client-minicluster relocates com/ and already keeps the JDK's own com/sun
packages out of that. Add com/sun/net/httpserver to the list, or the container's
references to it would be rewritten into the shaded namespace and fail to
resolve at run time.

LICENSE-binary gains jersey-container-jdk-http, which reaches
hadoop-client-minicluster at compile scope.

Co-Authored-By: Claude <noreply@anthropic.com>
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>
The tree took the Servlet 4.0 API from jakarta.servlet:jakarta.servlet-api.
jetty-ee8 depends on org.eclipse.jetty.toolchain:jetty-servlet-api instead, so
staying on the jakarta coordinate means moving off it again when the ee8
environment lands.

Use jetty-servlet-api now. Both publish the same javax.servlet classes, so no
source changes, and 4.0.9 is the version Jetty 12 pins for ee8. The coordinate
is set once rather than twice.

Exclusions naming the servlet API follow the coordinate where a Hadoop module
brings it. Where a Jersey artifact declares it, they stay on jakarta.servlet,
which is what those artifacts publish. jersey-test-framework-core is one of
those: it is now excluded in dependencyManagement, or its copy of the API would
sit on the test classpath beside jetty-servlet-api.

Co-Authored-By: Claude <noreply@anthropic.com>
…in javadoc.

The import is unused: only a javadoc @link mentions the type. Spell that link
out instead, and the class no longer references the servlet API at all.

Co-Authored-By: Claude <noreply@anthropic.com>
…a PEM.

CertificateUtil parses a PEM and has nothing to do with servlets. It used
ServletException only to wrap the CertificateException it already catches.
The new toRSAPublicKey reports that exception directly and names no servlet
type.

parseRSAPublicKey stays, deprecated, delegating to it and wrapping the
exception back, so callers outside this tree keep compiling and keep seeing
the same exception and message. It goes with the move to jakarta, where its
signature has to change anyway.

Co-Authored-By: Claude <noreply@anthropic.com>
…ider.

SignerSecretProvider.init takes a ServletContext, so every implementation
names a servlet type whether or not it uses one. Only ZKSignerSecretProvider
really needs it, and what it needs is an attribute store, not a servlet: it
shares a CuratorFramework as a context attribute.

SecretProviderContext is that store, and initialize(Properties,
SecretProviderContext, long) is the method providers should now override. The
four providers here do, and none of them names a servlet type any more.

Nothing breaks. init stays, deprecated, and stays the entry point callers use.
It is now concrete: it adapts the ServletContext and calls initialize, so a
provider overriding only initialize is initialized through it, while a
provider overriding init is called directly, as before. Implementations live
outside this tree - signer.secret.provider takes a classname - and keep
compiling, linking and running untouched.

The bridge dispatches virtually, so a provider extending
RolloverSignerSecretProvider, overriding init and chaining to super still gets
its rollover scheduler started. TestSignerSecretProviderCompatibility pins
that and the rest of the contract.

The adapter writes through to the real ServletContext, so the curator client
is still a ServletContext attribute under the same name, as Configuration.md
documents and as DelegationTokenAuthenticationFilter expects. A null
ServletContext, which used to throw, now yields a store private to the
provider.

AuthenticationFilter and its tests are unchanged, which is the point.

Co-Authored-By: Claude <noreply@anthropic.com>
It used org.eclipse.jetty.util.UrlEncoded to percent-encode a user name.
java.net.URLEncoder does the same job from the JDK, so the class no longer
needs Jetty.

Co-Authored-By: Claude <noreply@anthropic.com>
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 last Jetty reference, so the jetty-http
declaration HADOOP-19970 added to its pom goes too.

The names are spelled 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". The shuffle response is read
by other projects, so no byte of it changes here.

Co-Authored-By: Claude <noreply@anthropic.com>
Four things the review of this branch raised, none of which changed what the
branch does, only what it says and how loudly it says it.

parseRSAPublicKey now reports the CertificateException the parse raised rather
than the one toRSAPublicKey wraps it in. Routing the deprecated method through
the new one had added a level to the cause chain a caller walks: it was
ServletException -> CertificateException -> IOException before and had become
ServletException -> CertificateException -> CertificateException -> IOException.
The chain is what it always was again.

A provider given no ServletContext gets a store private to itself, and now says
so when something is written to it. Only a provider that shares an object
through the store writes there - ZKSignerSecretProvider and its Curator client
is the one case here - and there is nothing to share it with, so a second
provider in the same JVM builds a second client rather than finding the first.
That used to be a NullPointerException, which was at least loud.

SignerSecretProvider documents what the move to initialize costs code that
reflects over these classes: the providers here no longer declare init, so
getDeclaredMethod("init", ...) on a subclass raises NoSuchMethodException where
it used to succeed. Calls and overrides resolve as before, and getMethod still
finds it.

ApiServiceClient records that URLEncoder is not byte-for-byte what Jetty's
UrlEncoded produced - they disagree on '~' and '*' - and that both forms decode
to the same user name.

Tests pin the cause chain and the unshared store.

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

Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 14m 19s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s 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 appears to include 4 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 2m 19s Maven dependency ordering for branch
+1 💚 mvninstall 55m 32s trunk passed
+1 💚 compile 21m 45s trunk passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 compile 21m 0s trunk passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+1 💚 checkstyle 6m 7s trunk passed
+1 💚 mvnsite 20m 37s trunk passed
+1 💚 javadoc 11m 30s trunk passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javadoc 11m 21s trunk passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+0 🆗 spotbugs 0m 20s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 47m 2s /branch-spotbugs-root-warnings.html root in trunk has 93 extant spotbugs warnings.
+0 🆗 spotbugs 0m 27s branch/hadoop-client-modules/hadoop-client-minicluster no spotbugs output file (spotbugsXml.xml)
+0 🆗 spotbugs 0m 29s branch/hadoop-client-modules/hadoop-client-runtime no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 0m 46s /branch-spotbugs-hadoop-tools_hadoop-resourceestimator-warnings.html hadoop-tools/hadoop-resourceestimator in trunk has 12 extant spotbugs warnings.
-1 ❌ spotbugs 1m 57s /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 40s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 35m 11s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 36s Maven dependency ordering for patch
+1 💚 mvninstall 81m 13s the patch passed
+1 💚 compile 20m 35s the patch passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javac 20m 35s the patch passed
+1 💚 compile 20m 26s the patch passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+1 💚 javac 20m 26s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 6m 20s root: The patch generated 0 new + 37 unchanged - 1 fixed = 37 total (was 38)
+1 💚 mvnsite 20m 38s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 11m 3s the patch passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javadoc 11m 14s the patch passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+0 🆗 spotbugs 0m 23s hadoop-project has no data from spotbugs
+0 🆗 spotbugs 0m 24s hadoop-client-modules/hadoop-client-runtime has no data from spotbugs
+0 🆗 spotbugs 0m 25s hadoop-client-modules/hadoop-client-minicluster has no data from spotbugs
-1 ❌ shadedclient 78m 54s patch has errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 879m 16s /patch-unit-root.txt root in the patch failed.
+1 💚 asflicense 2m 0s The patch does not generate ASF License warnings.
1479m 4s
Reason Tests
Failed junit tests hadoop.yarn.server.nodemanager.containermanager.logaggregation.TestLogAggregationService
Subsystem Report/Notes
Docker ClientAPI=1.55 ServerAPI=1.55 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8703/4/artifact/out/Dockerfile
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle shellcheck shelldocs
uname Linux 8bbc43f8a989 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 / abbc78d
Default Java Ubuntu-17.0.20+8-1-24.04-Ubuntu
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.12+8-1-24.04-Ubuntu /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.20+8-1-24.04-Ubuntu
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8703/4/testReport/
Max. process+thread count 4040 (vs. ulimit of 10000)
modules C: hadoop-project hadoop-common-project/hadoop-auth hadoop-common-project/hadoop-auth-examples hadoop-common-project/hadoop-common hadoop-common-project/hadoop-nfs hadoop-common-project/hadoop-kms hadoop-hdfs-project/hadoop-hdfs hadoop-hdfs-project/hadoop-hdfs-httpfs hadoop-hdfs-project/hadoop-hdfs-nfs hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice 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-services/hadoop-yarn-services-api 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-8703/4/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.

@hadoop-yetus

Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 21m 30s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s 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 appears to include 4 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 2m 19s Maven dependency ordering for branch
+1 💚 mvninstall 55m 31s trunk passed
+1 💚 compile 22m 1s trunk passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 compile 20m 57s trunk passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+1 💚 checkstyle 6m 5s trunk passed
+1 💚 mvnsite 20m 29s trunk passed
+1 💚 javadoc 11m 28s trunk passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javadoc 11m 21s trunk passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+0 🆗 spotbugs 0m 20s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 46m 30s /branch-spotbugs-root-warnings.html root in trunk has 93 extant spotbugs warnings.
+0 🆗 spotbugs 0m 31s branch/hadoop-client-modules/hadoop-client-minicluster no spotbugs output file (spotbugsXml.xml)
+0 🆗 spotbugs 0m 27s branch/hadoop-client-modules/hadoop-client-runtime no spotbugs output file (spotbugsXml.xml)
-1 ❌ spotbugs 0m 49s /branch-spotbugs-hadoop-tools_hadoop-resourceestimator-warnings.html hadoop-tools/hadoop-resourceestimator in trunk has 12 extant spotbugs warnings.
-1 ❌ spotbugs 2m 3s /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 14s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 34m 45s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 33s Maven dependency ordering for patch
+1 💚 mvninstall 81m 32s the patch passed
+1 💚 compile 20m 40s the patch passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javac 20m 40s the patch passed
+1 💚 compile 20m 39s the patch passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+1 💚 javac 20m 39s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 6m 16s root: The patch generated 0 new + 37 unchanged - 1 fixed = 37 total (was 38)
+1 💚 mvnsite 20m 29s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 11m 3s the patch passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javadoc 11m 14s the patch passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+0 🆗 spotbugs 0m 21s hadoop-project has no data from spotbugs
+0 🆗 spotbugs 0m 28s hadoop-client-modules/hadoop-client-runtime has no data from spotbugs
+0 🆗 spotbugs 0m 25s hadoop-client-modules/hadoop-client-minicluster has no data from spotbugs
-1 ❌ shadedclient 78m 17s patch has errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 883m 13s /patch-unit-root.txt root in the patch failed.
+1 💚 asflicense 1m 53s The patch does not generate ASF License warnings.
1488m 49s
Reason Tests
Failed junit tests hadoop.yarn.server.nodemanager.containermanager.logaggregation.TestLogAggregationService
hadoop.yarn.server.router.webapp.TestRouterWebServicesREST
Subsystem Report/Notes
Docker ClientAPI=1.55 ServerAPI=1.55 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8703/3/artifact/out/Dockerfile
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle shellcheck shelldocs
uname Linux 4e75d000b85a 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 / abbc78d
Default Java Ubuntu-17.0.20+8-1-24.04-Ubuntu
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.12+8-1-24.04-Ubuntu /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.20+8-1-24.04-Ubuntu
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8703/3/testReport/
Max. process+thread count 4209 (vs. ulimit of 10000)
modules C: hadoop-project hadoop-common-project/hadoop-auth hadoop-common-project/hadoop-auth-examples hadoop-common-project/hadoop-common hadoop-common-project/hadoop-nfs hadoop-common-project/hadoop-kms hadoop-hdfs-project/hadoop-hdfs hadoop-hdfs-project/hadoop-hdfs-httpfs hadoop-hdfs-project/hadoop-hdfs-nfs hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice 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-services/hadoop-yarn-services-api 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-8703/3/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.

2 participants