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

Jose Luis López updated HADOOP-20013:
-------------------------------------
    Description: 
*Scope*:
* hadoop-project/pom.xml: on javax-websocket-server-impl, exclude 
javax.annotation:javax.annotation-api, which arrives through jetty-annotations. 
jakarta.annotation-api 1.3.5 already provides the same javax.annotation classes.
* 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.
* LICENSE-binary: drop javax.annotation:javax.annotation-api, if listed.

*Why*: two jars publish the javax.annotation packages, and which one a module 
sees depends on jar order. The shuffle compiles against jetty-http that it gets 
only transitively.

*Impact on Jetty 9*: none. Same classes; jetty-http already resolves at 9.4.58.

*Downstream*: none for the shaded clients. Direct consumers no longer get 
javax.annotation-api; jakarta.annotation-api provides the same classes.

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

  was:
*Scope*:
hadoop-project/pom.xml:904: change the dead exclusion on jetty-server from 
org.eclipse.jetty:javax.servlet-api to javax.servlet:javax.servlet-api. Manage 
jetty-continuation at ${jetty.version}

*New*: hadoop-tools/hadoop-sls/pom.xml:57 has the same dead exclusion; fix it 
the same way.
hadoop-project/pom.xml:931: on javax-websocket-server-impl, also exclude 
javax.servlet:javax.servlet-api and javax.annotation:javax.annotation-api, 
which jakarta.annotation-api 1.3.5 already provides.
hadoop-common/pom.xml: declare the managed servlet API, still 
jakarta.servlet-api 4.0.4. Ten modules compile against javax.servlet without 
declaring an API and get it through hadoop-common.
LICENSE-binary:628 and NOTICE-binary:466: drop javax.servlet-api 3.1.0.

*Impact on Jetty 9*: none. The 3.1.0 and 4.0.4 jars carry the same 
javax.servlet packages, and 4.0 is a superset of 3.1. Jetty 9.4 is built 
against servlet 3.1 and runs on 4.0.

*CI*: touches hadoop-project, so it triggers a full build (~2.5h).

*Open*: run dependency:tree before dropping the LICENSE line, to confirm 3.1.0 
is gone from every module.


> HADOOP — Remove the duplicate javax.servlet-api and javax.annotation-api from 
> the classpath
> -------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-20013
>                 URL: https://issues.apache.org/jira/browse/HADOOP-20013
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: build, common
>            Reporter: Jose Luis López
>            Priority: Major
>
> *Scope*:
> * hadoop-project/pom.xml: on javax-websocket-server-impl, exclude 
> javax.annotation:javax.annotation-api, which arrives through 
> jetty-annotations. jakarta.annotation-api 1.3.5 already provides the same 
> javax.annotation classes.
> * 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.
> * LICENSE-binary: drop javax.annotation:javax.annotation-api, if listed.
> *Why*: two jars publish the javax.annotation packages, and which one a module 
> sees depends on jar order. The shuffle compiles against jetty-http that it 
> gets only transitively.
> *Impact on Jetty 9*: none. Same classes; jetty-http already resolves at 
> 9.4.58.
> *Downstream*: none for the shaded clients. Direct consumers no longer get 
> javax.annotation-api; jakarta.annotation-api provides the same classes.
> *CI*: touches hadoop-project, so a full build.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to