Robert Kanter created OOZIE-1989:
------------------------------------

             Summary: NPE during a rerun with forks
                 Key: OOZIE-1989
                 URL: https://issues.apache.org/jira/browse/OOZIE-1989
             Project: Oozie
          Issue Type: Bug
          Components: core
    Affects Versions: 4.1.0
            Reporter: Robert Kanter
            Assignee: Robert Kanter
            Priority: Blocker
             Fix For: 4.1.0


OOZIE-1879 fixes a problem where the order of actions that the actions in a 
fork ended can be different than when they are executed during a rerun, 
resulting in an error.  It does this by using a comparator to sort them into 
the proper order in LiteWorkflowInstance.  However, the code assumes that all 
actions in the executionPath have an end time, which is not always true.  If 
that happens, you get an NPE like this:
{noformat}
java.lang.NullPointerException
        at 
org.apache.oozie.workflow.lite.LiteWorkflowInstance$ActionEndTimesComparator.compare(LiteWorkflowInstance.java:739)
        at 
org.apache.oozie.workflow.lite.LiteWorkflowInstance$ActionEndTimesComparator.compare(LiteWorkflowInstance.java:719)
        at java.util.TimSort.countRunAndMakeAscending(TimSort.java:324)
        at java.util.TimSort.sort(TimSort.java:189)
        at java.util.TimSort.sort(TimSort.java:173)
        at java.util.Arrays.sort(Arrays.java:659)
        at java.util.Collections.sort(Collections.java:217)
        at 
org.apache.oozie.workflow.lite.LiteWorkflowInstance.signal(LiteWorkflowInstance.java:316)
        at 
org.apache.oozie.command.wf.SignalXCommand.execute(SignalXCommand.java:190)
        at 
org.apache.oozie.command.wf.SignalXCommand.execute(SignalXCommand.java:73)
        at org.apache.oozie.command.XCommand.call(XCommand.java:283)
        at 
org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:323)
        at 
org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:252)
        at 
org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:174)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
{noformat}





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to