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:54:00 UTC

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

    [ https://issues.apache.org/jira/browse/REEF-1959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16248815#comment-16248815 ] 

Geon-Woo Kim commented on REEF-1959:
------------------------------------

I've made a PR for the issue. [#1416|https://github.com/apache/reef/pull/1416]

> 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)