[
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]