Uploaded image for project: 'Hadoop Distributed Data Store'
  1. Hadoop Distributed Data Store
  2. HDDS-1259

OzoneFS classpath separation is broken by the token validation

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.4.0
    • Component/s: None
    • Target Version/s:

      Description

      hadoop-ozone-filesystem-lib-legacy-0.4.0-SNAPSHOT.jar can't work any more together with older hadoop version, after the change of HDDS-1183.

      2019-03-13 13:48:51 WARN  FileSystem:3170 - Cannot load filesystem: java.util.ServiceConfigurationError: org.apache.hadoop.fs.FileSystem: Provider org.apache.hadoop.fs.ozone.OzoneFileSystem could not be instantiated
      2019-03-13 13:48:51 WARN  FileSystem:3174 - java.lang.NoClassDefFoundError: org/apache/hadoop/hdds/conf/OzoneConfiguration
      2019-03-13 13:48:51 WARN  FileSystem:3174 - java.lang.ClassNotFoundException: org.apache.hadoop.hdds.conf.OzoneConfiguration
      Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hdds/conf/OzoneConfiguration
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:348)
      	at org.apache.hadoop.conf.Configuration.getClassByNameOrNull(Configuration.java:2332)
      	at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2297)
      	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2393)
      	at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:3208)
      	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3240)
      	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:121)
      	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3291)
      	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3259)
      	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:470)
      	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:356)
      	at org.apache.hadoop.fs.shell.PathData.expandAsGlob(PathData.java:325)
      	at org.apache.hadoop.fs.shell.Command.expandArgument(Command.java:245)
      	at org.apache.hadoop.fs.shell.Command.expandArguments(Command.java:228)
      	at org.apache.hadoop.fs.shell.FsCommand.processRawArguments(FsCommand.java:103)
      	at org.apache.hadoop.fs.shell.Command.run(Command.java:175)
      	at org.apache.hadoop.fs.FsShell.run(FsShell.java:315)
      	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
      	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90)
      	at org.apache.hadoop.fs.FsShell.main(FsShell.java:378)
      Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hdds.conf.OzoneConfiguration
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	... 21 more
      

      And Ozone file system current jar is compatible only with hadoop 3.2 after the latest HA change. It means that ozonefs is broken everywhere where the hadoop version is older than 3.2.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                elek Marton Elek
                Reporter:
                elek Marton Elek
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m