Kaynağa Gözat

[Bug][Master][Fixes 14216]workflow state keep READY_STOP when sub_process state … (#14221)

* [Bug] [Master] workflow state keep READY_STOP when sub_process state STOP
Fixes #14216

* [Bug] [Master] workflow state keep READY_STOP when sub_process state STOP
Fixes  mvn spotless:apply#14216

* Update testFile.txt.crc

* Update testFile.txt.crc

* Delete testFile.txt.crc
HQFGit 1 yıl önce
ebeveyn
işleme
d587b5f03d

+ 3 - 1
dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteRunnable.java

@@ -1688,8 +1688,10 @@ public class WorkflowExecuteRunnable implements Callable<WorkflowSubmitStatus> {
         if (state == WorkflowExecutionStatus.READY_STOP) {
             List<TaskInstance> killList = getCompleteTaskByState(TaskExecutionStatus.KILL);
             List<TaskInstance> failList = getCompleteTaskByState(TaskExecutionStatus.FAILURE);
+            List<TaskInstance> stopList = getCompleteTaskByState(TaskExecutionStatus.STOP);
             WorkflowExecutionStatus executionStatus;
-            if (CollectionUtils.isNotEmpty(killList) || CollectionUtils.isNotEmpty(failList) || !isComplementEnd()) {
+            if (CollectionUtils.isNotEmpty(stopList) || CollectionUtils.isNotEmpty(killList)
+                    || CollectionUtils.isNotEmpty(failList) || !isComplementEnd()) {
                 executionStatus = WorkflowExecutionStatus.STOP;
             } else {
                 executionStatus = WorkflowExecutionStatus.SUCCESS;

+ 5 - 1
dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/enums/TaskExecutionStatus.java

@@ -88,8 +88,12 @@ public enum TaskExecutionStatus {
         return this == TaskExecutionStatus.PAUSE;
     }
 
+    public boolean isStop() {
+        return this == TaskExecutionStatus.STOP;
+    }
+
     public boolean isFinished() {
-        return isSuccess() || isKill() || isFailure() || isPause();
+        return isSuccess() || isKill() || isFailure() || isPause() || isStop();
     }
 
     public boolean isNeedFaultTolerance() {