You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Attila Sasvari (JIRA)" <ji...@apache.org> on 2017/10/10 12:19:00 UTC

[jira] [Created] (OOZIE-3082) Move org.apache.oozie.action.hadoop.ActionStats to Oozie ShareLib

Attila Sasvari created OOZIE-3082:
-------------------------------------

             Summary: Move org.apache.oozie.action.hadoop.ActionStats to Oozie ShareLib
                 Key: OOZIE-3082
                 URL: https://issues.apache.org/jira/browse/OOZIE-3082
             Project: Oozie
          Issue Type: Bug
    Affects Versions: 5.0.0
            Reporter: Attila Sasvari


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:
{code}
State:	FINISHED
FinalStatus:	FAILED
Started:	10-Oct-2017 13:54:33
Elapsed:	14sec
Tracking URL:	History
Diagnostics:	org/apache/oozie/action/hadoop/ActionStats
{code}
- Looking at the logs it turns out ActionStats is not contained anymore in the Oozie sharelib:
{code}
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
{code}

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



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