diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/ExecutionStatus.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/ExecutionStatus.java index ce141d059a..1c336c89a1 100644 --- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/ExecutionStatus.java +++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/ExecutionStatus.java @@ -76,7 +76,7 @@ public enum ExecutionStatus { * @return status */ public boolean typeIsFailure(){ - return this == FAILURE || this == NEED_FAULT_TOLERANCE || this == KILL; + return this == FAILURE || this == NEED_FAULT_TOLERANCE; } /** diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterExecThread.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterExecThread.java index 462e30ca19..6379b32290 100644 --- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterExecThread.java +++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterExecThread.java @@ -805,7 +805,8 @@ public class MasterExecThread implements Runnable { ProcessInstance instance = processService.findProcessInstanceById(processInstance.getId()); ExecutionStatus state = instance.getState(); - if(activeTaskNode.size() > 0 || haveRetryTaskStandBy()){ + if(activeTaskNode.size() > 0 || retryTaskExists()){ + // active task and retry task exists return runningState(state); } // process failure @@ -828,7 +829,8 @@ public class MasterExecThread implements Runnable { List stopList = getCompleteTaskByState(ExecutionStatus.STOP); List killList = getCompleteTaskByState(ExecutionStatus.KILL); if(CollectionUtils.isNotEmpty(stopList) - || CollectionUtils.isNotEmpty(killList) || !isComplementEnd()){ + || CollectionUtils.isNotEmpty(killList) + || !isComplementEnd()){ return ExecutionStatus.STOP; }else{ return ExecutionStatus.SUCCESS; @@ -837,9 +839,13 @@ public class MasterExecThread implements Runnable { // success if(state == ExecutionStatus.RUNNING_EXEUTION){ + List killTasks = getCompleteTaskByState(ExecutionStatus.KILL); if(readyToSubmitTaskList.size() > 0){ //tasks currently pending submission, no retries, indicating that depend is waiting to complete return ExecutionStatus.RUNNING_EXEUTION; + }else if(CollectionUtils.isNotEmpty(killTasks)){ + // tasks maybe killed manually + return ExecutionStatus.FAILURE; }else{ // if the waiting queue is empty and the status is in progress, then success return ExecutionStatus.SUCCESS; @@ -853,7 +859,7 @@ public class MasterExecThread implements Runnable { * whether standby task list have retry tasks * @return */ - private boolean haveRetryTaskStandBy() { + private boolean retryTaskExists() { boolean result = false;