Satish Subhashrao Saley created OOZIE-2661:
----------------------------------------------

             Summary: Coordinator Action status not updated when workflow job 
SUSPENDED
                 Key: OOZIE-2661
                 URL: https://issues.apache.org/jira/browse/OOZIE-2661
             Project: Oozie
          Issue Type: Bug
            Reporter: Satish Subhashrao Saley
            Assignee: Satish Subhashrao Saley
            Priority: Minor


It's a bug in Oozie. CoordActionCheckXCommand doesn't take care of SUSPENDED 
state. It only handles SUCCEEDED, FAILED and KILLED.

{code}
protected Void execute() throws CommandException {
        try {
            InstrumentUtils.incrJobCounter(getName(), 1, getInstrumentation());
            Status slaStatus = null;
            CoordinatorAction.Status initialStatus = coordAction.getStatus();

            if (workflowJob.getStatus() == WorkflowJob.Status.SUCCEEDED) {
                coordAction.setStatus(CoordinatorAction.Status.SUCCEEDED);
                // set pending to false as the status is SUCCEEDED
                coordAction.setPending(0);
                slaStatus = Status.SUCCEEDED;
            }
            else {
                if (workflowJob.getStatus() == WorkflowJob.Status.FAILED) {
                    coordAction.setStatus(CoordinatorAction.Status.FAILED);
                    slaStatus = Status.FAILED;
                    // set pending to false as the status is FAILED
                    coordAction.setPending(0);
                }
                else {
                    if (workflowJob.getStatus() == WorkflowJob.Status.KILLED) {
                        coordAction.setStatus(CoordinatorAction.Status.KILLED);
                        slaStatus = Status.KILLED;
                        // set pending to false as the status is KILLED
                        coordAction.setPending(0);
                    }
                    else {
                        LOG.warn("Unexpected workflow " + workflowJob.getId() + 
" STATUS " + workflowJob.getStatus());
                        coordAction.setLastModifiedTime(new Date());
                        CoordActionQueryExecutor.getInstance().executeUpdate(
                                
CoordActionQueryExecutor.CoordActionQuery.UPDATE_COORD_ACTION_FOR_MODIFIED_DATE,
                                coordAction);
                        return null;
                    }
                }
            }

{code}
Thank you [~puru] for pointing it out.



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

Reply via email to