[
https://issues.apache.org/jira/browse/HADOOP-20016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18134772#comment-18134772
]
ASF GitHub Bot commented on HADOOP-20016:
-----------------------------------------
joseluisll opened a new pull request, #8894:
URL: https://github.com/apache/hadoop/pull/8894
### Description of PR
Part of HADOOP-19912 (Jetty 12 on ee8): split out of #8699, where it was
reviewed.
`ShuffleChannelHandler`, `HttpServer2` and `McpHttpServer`,
`TestJettyHelper` (HttpFS) and `SLSWebApp` import `org.eclipse.jetty.http.*`,
but their modules only received `jetty-http` transitively.
- hadoop-project: manage `jetty-http` at `${jetty.version}`; it was not
managed before.
- hadoop-common, hadoop-mapreduce-client-shuffle, hadoop-hdfs-httpfs:
declare `jetty-http` as `optional`. hadoop-sls: declare it `provided`, like its
`jetty-server`.
Why `optional`: it keeps the declaration for compiling each module without
passing it on, so what downstream projects resolve does not change. At plain
compile scope, Maven's nearest-wins mediation changed it: a project with
`jetty-client` 9.4.40 next to hadoop-common resolved `jetty-http` 9.4.58
instead of 9.4.40. For the shuffle handler (review on #8699: `provided`?),
trunk already resolves `jetty-http` at compile scope, through the NodeManager
and mapreduce-client-common. `optional` keeps that resolution as it is, while
`provided` would change it. It is not copied into the mapreduce lib directory
either.
No version change: `jetty-http` already resolved at 9.4.58.v20250814 in each
module.
### How was this patch tested?
- The fork's artifact and dependency comparison against trunk (dist,
per-module dependency lists, and the dependency resolution of sample downstream
projects) shows no difference from this change. The compile-scope variant did
show the downstream `jetty-http` change described above.
- Shuffle handler: `jetty-http` 9.4.58 resolves at compile scope as on
trunk, now marked optional. The dist has `jetty-http` only in `common/lib` and
`hdfs/lib`, as before.
### For code changes:
- [x] 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? (not
applicable)
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)? (no new
dependencies; already present transitively)
- [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`,
`NOTICE-binary` files? (not applicable)
### AI Tooling
If an AI tool was used:
- [x] The PR includes the phrase "Contains content generated by <tool>"
where <tool> is the name of the AI tool used.
- [x] My use of AI contributions follows the ASF legal policy
https://www.apache.org/legal/generative-tooling.html
Contains content generated by Claude Code.
> HADOOP - Declare jetty-http in the modules that import it: hadoop-common,
> HttpFS, the shuffle handler and SLS
> -------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-20016
> URL: https://issues.apache.org/jira/browse/HADOOP-20016
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: mapreduce
> Reporter: Jose Luis López
> Priority: Minor
>
> *Scope*:
> * hadoop-mapreduce-client-shuffle/pom.xml: ShuffleChannelHandler imports
> org.eclipse.jetty.http.HttpHeader. Declare org.eclipse.jetty:jetty-http.
> * hadoop-project/pom.xml: manage jetty-http at ${jetty.version}. It is not
> managed today.
> *Why*: the module compiles against jetty-http that it gets only transitively.
> *Impact on Jetty 9*: none. jetty-http already resolves at 9.4.58.
> *Downstream*: none.
> *CI*: touches hadoop-project, so a full build.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]