You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by "Geon-Woo Kim (JIRA)" <ji...@apache.org> on 2017/11/12 08:45:00 UTC

[jira] [Created] (REEF-1959) Fix bug in ClassPathBuilder#addAllToSuffix

Geon-Woo Kim created REEF-1959:
----------------------------------

             Summary: Fix bug in ClassPathBuilder#addAllToSuffix
                 Key: REEF-1959
                 URL: https://issues.apache.org/jira/browse/REEF-1959
             Project: REEF
          Issue Type: Bug
          Components: REEF Runtime YARN
            Reporter: Geon-Woo Kim


The method is written as
{code:java}
  void addAllToSuffix(final String... entries) {
    for (final String classPathEntry : entries) {
      /** should be add to suffix **/
      this.addToPrefix(classPathEntry);
    }
  }
{code}
and I believe it should be
{code:java}
  void addAllToSuffix(final String... entries) {
    for (final String classPathEntry : entries) {
      this.addToSuffix(classPathEntry);
    }
  }
{code}

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 .



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)