[
https://issues.apache.org/jira/browse/HADOOP-20015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18139738#comment-18139738
]
ASF GitHub Bot commented on HADOOP-20015:
-----------------------------------------
joseluisll commented on PR #8893:
URL: https://github.com/apache/hadoop/pull/8893#issuecomment-6690401338
@pan3793 It is done, this is ready for merge!.
> Stop using Jetty 9.4 APIs that Jetty 12 removes or the code does not need
> -------------------------------------------------------------------------
>
> Key: HADOOP-20015
> URL: https://issues.apache.org/jira/browse/HADOOP-20015
> Project: Hadoop Common
> Issue Type: Sub-task
> Reporter: Jose Luis López
> Assignee: Jose Luis López
> Priority: Major
> Labels: pull-request-available
>
> *Scope*: every use, in main and test code across the repository, of a Jetty
> 9.4 class that Jetty 12 no longer has, where the JDK, SLF4J or the servlet
> API does the same job:
> * FSMainOperationsBaseTest, ViewFileSystemTestSetup, ViewFsTestSetup,
> TestAuthenticationSessionCookie (hadoop-common),
> TestRollingLevelDBTimelineStore (applicationhistoryservice), TestAMRMClient,
> TestYarnCLI (yarn-client) and MockNM (resourcemanager): they logged through
> org.eclipse.jetty.util.log.Log, which Jetty 10 and later no longer have. Log
> through SLF4J instead.
> * TestDockerCommandExecutor (nodemanager): it borrowed a logger from Jetty's
> GzipHttpOutputInterceptor. Give it its own.
> * FederationInterceptor (nodemanager): replace Jetty's ConcurrentHashSet,
> which Jetty 12 no longer has, with ConcurrentHashMap.newKeySet().
> * TestLogAggregationService (nodemanager): it batched assertion failures in
> Jetty's MultiException, which Jetty 12 no longer has. Throw one
> org.opentest4j.MultipleFailuresError (which comes with junit-jupiter-api)
> with every failure, so each one's message is shown.
> * HttpServer2 (hadoop-common): it used Jetty's MultiException in start() and
> stop(). The start() catch only logged and rethrew into the outer catch
> (Exception e), which wraps it, so remove it; stop() collects its exceptions
> in a list instead, rethrowing a single one as it is and, with several, the
> first carrying the rest as suppressed exceptions. Also, drop the cast in
> inferMimeType to a Jetty context, since ServletContext has getMimeType.
> *Out of scope*: classes that Jetty 12 moves to the org.eclipse.jetty.ee8
> packages, and the Jetty types Jetty 12 removes with no replacement other than
> another Jetty API: RequestLogHandler, and
> WebSocketServlet/WebSocketServletFactory, which become
> ee8.websocket.server.JettyWebSocketServlet/JettyWebSocketServletFactory
> (HandlerCollection moves to ee8.nested and server.session.SessionHandler to
> org.eclipse.jetty.session). Those are the upgrade itself, HADOOP-19972.
> *Why*: these uses would not compile on Jetty 12, and none of them needs
> Jetty. Removing them now keeps HADOOP-19972 to the changes the upgrade really
> requires.
> *Impact on Jetty 9*: none. Java changes only, no pom change; the logging,
> set, failure-reporting, exception-collecting and MIME-type code behaves the
> same.
> *Downstream*: none.
> *CI*: hadoop-common, applicationhistoryservice, yarn-client, resourcemanager,
> nodemanager.
> *PR*: https://github.com/apache/hadoop/pull/8893
> Regrouped on 2026-11-04 by kind of change, as suggested in the review: this
> issue now holds all the Java changes that were split between HADOOP-20015
> (YARN) and HADOOP-20016 (HADOOP); HADOOP-20016 holds all the pom changes.
> Updated on 2026-11-05 with the review's follow-ups: HttpServer2's
> MultiException removed here rather than in HADOOP-19972, and the list of
> classes left to HADOOP-19972 corrected.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]