chenhaodan created OOZIE-3715:
---------------------------------
Summary: Fix fork out more than one transitions submit , one
transition submit fail can't execute KillXCommand
Key: OOZIE-3715
URL: https://issues.apache.org/jira/browse/OOZIE-3715
Project: Oozie
Issue Type: Bug
Components: core
Affects Versions: 5.2.1
Reporter: chenhaodan
Fix For: 5.2.1
When I fork 2 transitions( A and B) to submit , when A fail , B still Running ,
because can't execute KillXCommand.
ActionXCommand execute failJob and add KillXCommand to commandQueue , but the
commandQueue is the new Bean ActionXCommand not the SignalXCommand , so can't
execute KillXCommand. The code is as follows :
new ActionStartXCommand(context.getAction().getId(),
null).failJob(context)public void failJob(ActionExecutor.Context context,
WorkflowActionBean action) throws CommandException { WorkflowJobBean
workflow = (WorkflowJobBean) context.getWorkflow(); if
(!handleUserRetry(context, action)) {
incrActionErrorCounter(action.getType(), "failed", 1);
LOG.warn("Failing Job due to failed action [\{0}]", action.getName());
try { workflow.getWorkflowInstance().fail(action.getName());
WorkflowInstance wfInstance = workflow.getWorkflowInstance();
((LiteWorkflowInstance)
wfInstance).setStatus(WorkflowInstance.Status.FAILED);
workflow.setWorkflowInstance(wfInstance);
workflow.setStatus(WorkflowJob.Status.FAILED);
action.setStatus(WorkflowAction.Status.FAILED);
action.resetPending(); queue(new
WorkflowNotificationXCommand(workflow, action)); queue(new
KillXCommand(workflow.getId()));
InstrumentUtils.incrJobCounter(INSTR_FAILED_JOBS_COUNTER_NAME, 1,
getInstrumentation());
} catch (WorkflowException ex) { throw
new CommandException(ex);
}
}
}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)