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)