[ 
https://issues.apache.org/jira/browse/HADOOP-20016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jose Luis López updated HADOOP-20016:
-------------------------------------
    Description: 
*Scope*:
* hadoop-project/pom.xml: manage jetty-http at ${jetty.version}. It is not 
managed today.
* hadoop-mapreduce-client-shuffle/pom.xml: ShuffleChannelHandler imports 
org.eclipse.jetty.http.HttpHeader. Declare org.eclipse.jetty:jetty-http, 
optional.
* hadoop-common/pom.xml: HttpServer2 and McpHttpServer import 
org.eclipse.jetty.http.*. Declare jetty-http at compile scope, optional.
* hadoop-hdfs-httpfs/pom.xml: TestJettyHelper imports org.eclipse.jetty.http.*. 
Declare jetty-http, optional.
* hadoop-sls/pom.xml: SLSWebApp imports org.eclipse.jetty.http.*. Declare 
jetty-http with scope provided, like the module's jetty-server.

*Why*: these modules compile against jetty-http that they get only 
transitively, through 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 it did: Maven's nearest-wins mediation picked Hadoop's jetty-http 
over another one at the same depth, and a project with jetty-client 9.4.40 next 
to hadoop-common resolved jetty-http 9.4.58 instead of 9.4.40. In the shuffle 
handler, trunk already resolves jetty-http at compile scope (through the 
NodeManager and mapreduce-client-common); optional keeps that, whereas provided 
would change it (review on PR #8699). It is not copied into the mapreduce lib 
directory.

*Impact on Jetty 9*: none. jetty-http already resolves at 9.4.58 in each module.

*Downstream*: none. Projects that depend on these modules keep getting 
jetty-http through jetty-server, as today.

*CI*: touches hadoop-project, so a full build.

*PR*: https://github.com/apache/hadoop/pull/8894

  was:
*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.


> 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
>              Labels: pull-request-available
>
> *Scope*:
> * hadoop-project/pom.xml: manage jetty-http at ${jetty.version}. It is not 
> managed today.
> * hadoop-mapreduce-client-shuffle/pom.xml: ShuffleChannelHandler imports 
> org.eclipse.jetty.http.HttpHeader. Declare org.eclipse.jetty:jetty-http, 
> optional.
> * hadoop-common/pom.xml: HttpServer2 and McpHttpServer import 
> org.eclipse.jetty.http.*. Declare jetty-http at compile scope, optional.
> * hadoop-hdfs-httpfs/pom.xml: TestJettyHelper imports 
> org.eclipse.jetty.http.*. Declare jetty-http, optional.
> * hadoop-sls/pom.xml: SLSWebApp imports org.eclipse.jetty.http.*. Declare 
> jetty-http with scope provided, like the module's jetty-server.
> *Why*: these modules compile against jetty-http that they get only 
> transitively, through 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 it did: Maven's nearest-wins mediation picked Hadoop's 
> jetty-http over another one at the same depth, and a project with 
> jetty-client 9.4.40 next to hadoop-common resolved jetty-http 9.4.58 instead 
> of 9.4.40. In the shuffle handler, trunk already resolves jetty-http at 
> compile scope (through the NodeManager and mapreduce-client-common); optional 
> keeps that, whereas provided would change it (review on PR #8699). It is not 
> copied into the mapreduce lib directory.
> *Impact on Jetty 9*: none. jetty-http already resolves at 9.4.58 in each 
> module.
> *Downstream*: none. Projects that depend on these modules keep getting 
> jetty-http through jetty-server, as today.
> *CI*: touches hadoop-project, so a full build.
> *PR*: https://github.com/apache/hadoop/pull/8894



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to