Uploaded image for project: 'REEF (Retired)'
  1. REEF (Retired)
  2. REEF-1959

Fix bug in ClassPathBuilder#addAllToSuffix

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.17
    • REEF Runtime YARN
    • 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 .

      Attachments

        Activity

          People

            gwsshs22 Geon-Woo Kim
            gwkim Geon-Woo Kim
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: