http://archive.cloudera.com/cdh/3/oozie/DG_Examples.html

I was following example from above webpage to submit job to oozie and wait
for its completion

// submit and start the workflow job
    String jobId = wc.run(conf);
    System.out.println("Workflow job submitted");
.
    // wait until the workflow job finishes printing the status every 10 seconds
    while (wc.getJobInfo(jobId).getStatus() == Workflow.Status.RUNNING) {
        System.out.println("Workflow job running ...");
        Thread.sleep(10 * 1000);
    }


Occassionally, i am seeing following exception

E0605 : E0605: Action does not exist [<openjpa-2.1.0-r422266:1071316
nonfatal store error>
org.apache.openjpa.persistence.OptimisticLockException: Unable to
obtain an object lock on "null".]

        at org.apache.oozie.client.OozieClient.handleError(OozieClient.java:445)
        at 
org.apache.oozie.client.OozieClient$JobInfo.call(OozieClient.java:658)
        at 
org.apache.oozie.client.OozieClient$JobInfo.call(OozieClient.java:642)
        at 
org.apache.oozie.client.OozieClient$ClientCallable.call(OozieClient.java:416)
        at org.apache.oozie.client.OozieClient.getJobInfo(OozieClient.java:705)
        at org.apache.oozie.client.OozieClient.getJobInfo(OozieClient.java:692)
        at 
com.walmartlabs.dare.oozie.OozieExecutionManager.submitToOozie(OozieExecutionManager.java:134)
        at 
com.walmartlabs.dare.oozie.OozieExecutionManager.runExecTask(OozieExecutionManager.java:72)
        at 
com.codeminders.hamake.execution.AbstractExecutionManager.runTask(AbstractExecutionManager.java:180)
        at 
com.codeminders.hamake.execution.AbstractExecutionManager.access$000(AbstractExecutionManager.java:17)
        at 
com.codeminders.hamake.execution.AbstractExecutionManager$TaskExecutionInfo.run(AbstractExecutionManager.java:47)
        at java.lang.Thread.run(Thread.java:662)

134th line in our code is ::

Status jobStatus = oozieClient.getJobInfo(jobId).getStatus();

I see from webconsole that corresponding oozie job got completed successfully.

Is there a way to avoid this error?

Is this transient one , in which case i can try querying for jobStatus
even in the case of above exception.

Is there any alternative approach for submission and waiting for
completion of oozie jobs other than polling?

Thanks,

Giridhar.

Reply via email to