Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-3082

Move org.apache.oozie.action.hadoop.ActionStats to Oozie ShareLib

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.0.0
    • 5.0.0b1
    • None
    • None

    Description

      OOZIE-2852 moved ActionStats to oozie-core. Because of this Pig jobs are failing with java.lang.NoClassDefFoundError: org/apache/oozie/action/hadoop/ActionStats

      Reproduction:

      • I executed the pig wf example on a cluster with bin/oozie job -oozie http://localhost:11000/oozie -config examples/apps/pig/job.properties -run -DnameNode=hdfs://localhost:9000 -DjobTracker=localhost:8032. RM web UI show the OoziLauncher failed:
        State:	FINISHED
        FinalStatus:	FAILED
        Started:	10-Oct-2017 13:54:33
        Elapsed:	14sec
        Tracking URL:	History
        Diagnostics:	org/apache/oozie/action/hadoop/ActionStats
        
      • Looking at the logs it turns out ActionStats is not contained anymore in the Oozie sharelib:
        java.lang.NoClassDefFoundError: org/apache/oozie/action/hadoop/ActionStats
                at java.lang.Class.forName0(Native Method)
                at java.lang.Class.forName(Class.java:348)
                at org.apache.hadoop.conf.Configuration.getClassByNameOrNull(Configuration.java:2013)
                at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1978)
                at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2072)
                at org.apache.oozie.action.hadoop.LauncherAM.runActionMain(LauncherAM.java:404)
                at org.apache.oozie.action.hadoop.LauncherAM.access$300(LauncherAM.java:56)
                at org.apache.oozie.action.hadoop.LauncherAM$2.run(LauncherAM.java:223)
                at java.security.AccessController.doPrivileged(Native Method)
                at javax.security.auth.Subject.doAs(Subject.java:422)
                at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
                at org.apache.oozie.action.hadoop.LauncherAM.run(LauncherAM.java:217)
                at org.apache.oozie.action.hadoop.LauncherAM$1.run(LauncherAM.java:153)
                at java.security.AccessController.doPrivileged(Native Method)
                at javax.security.auth.Subject.doAs(Subject.java:422)
                at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
                at org.apache.oozie.action.hadoop.LauncherAM.main(LauncherAM.java:140)
        Caused by: java.lang.ClassNotFoundException: org.apache.oozie.action.hadoop.ActionStats
                at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
                at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
                ... 17 more
        

      We should move ActionStats to sharelib (that is oozie-core's compile dependency).

      ( It might also make sense to create a docker based job to run the example workflows regularly to protect against this kind of failures in the future. Docker image could contain a simple, 1-node pseudo hadoop cluster and Oozie. )

      Attachments

        1. OOZIE-3082-001.patch
          0.7 kB
          Attila Sasvári

        Issue Links

          Activity

            People

              asasvari Attila Sasvári
              asasvari Attila Sasvári
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: