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

Attila Doroszlai resolved HDDS-4512.
------------------------------------
    Fix Version/s: 1.1.0
       Resolution: Fixed

> Remove unused netty3 transitive dependency
> ------------------------------------------
>
>                 Key: HDDS-4512
>                 URL: https://issues.apache.org/jira/browse/HDDS-4512
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>            Reporter: Marton Elek
>            Assignee: Marton Elek
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.1.0
>
>
> Ozone uses Netty either as direct dependency (ozone-csi) or from the ratis 
> shaded dependency (for ratis gprc server). Both use Netty 4.x.
> But netty 3 is also included in share/lib/ozone which is not required. The 
> declared netty 3 version has security issues, we need to remove it to make it 
> clear it's not used. (And make classpath safer)
> It turned out that netty (and other dependencies) came with the test-jar 
> dependencies used from Hadoop.
> Based on the reference of Maven, compile time dependencies of a test 
> dependency should be used as test dependency 
> (https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html)
>  but in this case it doesn't work:
> {code}
> cd hadoop-hdds/container-service
> mvn dependency:tree
> ...
> [INFO] +- org.apache.hadoop:hadoop-hdfs:test-jar:tests:3.2.1:test
> [INFO] |  +- org.eclipse.jetty:jetty-server:jar:9.4.34.v20201102:test
> [INFO] |  |  +- org.eclipse.jetty:jetty-http:jar:9.4.34.v20201102:test
> [INFO] |  |  \- org.eclipse.jetty:jetty-io:jar:9.4.34.v20201102:test
> [INFO] |  +- org.eclipse.jetty:jetty-util-ajax:jar:9.4.34.v20201102:test
> [INFO] |  +- com.sun.jersey:jersey-core:jar:1.19:test
> [INFO] |  |  \- javax.ws.rs:jsr311-api:jar:1.1.1:test
> [INFO] |  +- com.sun.jersey:jersey-server:jar:1.19:test
> [INFO] |  +- commons-cli:commons-cli:jar:1.2:compile
> [INFO] |  +- commons-codec:commons-codec:jar:1.11:compile
> [INFO] |  +- commons-daemon:commons-daemon:jar:1.0.13:test
> [INFO] |  +- javax.servlet:javax.servlet-api:jar:3.1.0:test
> [INFO] |  +- io.netty:netty:jar:3.10.5.Final:compile
> [INFO] |  +- org.apache.htrace:htrace-core4:jar:4.1.0-incubating:compile
> [INFO] |  \- com.fasterxml.jackson.core:jackson-databind:jar:2.10.3:compile
> [INFO] \- junit:junit:jar:4.11:test
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] 
> ------------------------------------------------------------------------
> ...
> {code}
> Here all the dependencies of the hadop-hdfs:test-jar suppposed to have test 
> scope.
> I didn't find the exact MVN issue, but found that there are multiple open 
> issues related to transitive dependency resolution (can be the 
> https://issues.apache.org/jira/browse/MNG-1378, but there are other open 
> issues, too).
> As a result, we should remain on the same side. I ssugest:
>  1. Exclude ALL the TRANSITIVE test dependencies for hadoop test-jars. Hadoop 
> test-jars can still be used, but if we need any other class, they should be 
> requested with an explicit dependency
>  2. hadoop-ozone-dependency-test should be used everywhere instead of using 
> hadoop-hdfs or hadoop-common test jars (because it includes all the required 
> excludes ;-) ) 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to