Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
The method is written as
void addAllToSuffix(final String... entries) { for (final String classPathEntry : entries) { /** should be add to suffix **/ this.addToPrefix(classPathEntry); } }
and I believe it should be
void addAllToSuffix(final String... entries) { for (final String classPathEntry : entries) { this.addToSuffix(classPathEntry); } }
The method is used to add some hadoop dependencies to the class path of the driver jvm, like addAllToSuffix(SOME_HADOOP_DEPENDENCIES). So we expect -classpath looks like APPLICATION_JAR:SOME_HADOOP_DEPENDENCIES, but the bug makes it as SOME_HADOOP_DEPENDENCIES:APPLICATION_JAR, which causes the class loader firstly looks up transitive dependencies from the HADOOP_DEPENDENCIES. We cannot use higher versions of guava or netty which are also defined on those HADOOP_DEPENDENCIES, with the bug. I guess that this bug also causes REEF-1897 .