Can someone explain the decision to include the following jars in the HDP distribution for HBase? Is this for compatibility? Please provide some technical background on the decision.
-rw-r--r-- 1 user user 790250 Nov 15 19:41 netty-3.2.4.Final.jar -rw-r--r-- 1 user user 1779991 Nov 15 18:11 netty-all-4.0.23.Final.jar -rw-r--r-- 1 user user 132368 Nov 15 18:12 servlet-api-2.5-6.1.14.jar -rw-r--r-- 1 user user 105112 Nov 15 18:05 servlet-api-2.5.jar
servlet-api-2.5.jar is brought in by transitive dependency:
[INFO] +- org.apache.hadoop:hadoop-mapreduce-client-core:jar:126.96.36.199.6.0.0-SNAPSHOT:compile
[INFO] | +- org.apache.hadoop:hadoop-yarn-common:jar:188.8.131.52.6.0.0-SNAPSHOT:compile
[INFO] | | +- javax.xml.bind:jaxb-api:jar:2.2.2:compile
[INFO] | | | \- javax.activation:activation:jar:1.1:compile
[INFO] | | +- javax.servlet:servlet-api:jar:2.5:compile
I would also add to Ted's comment that netty-3.2.4 (which is required by hadoop-hdfs) and netty-all-4.0.23 are not conflicting because 3.2.4 is the old version with org.jboss.netty package while 4.0.23 has io.netty package. Actually they even have different artifact IDs (netty vs netty-all). So it's safe to use both of them in the same project.