This is an automated email from the ASF dual-hosted git repository.

chenxingchun pushed a commit to branch 1.3.6-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/1.3.6-prepare by this push:
     new 59685d8  [1.3.6-prepare]work flow would running if task is killed by 
manual. (#5363)
59685d8 is described below

commit 59685d883171f6e96f7aa57680b29611ece33469
Author: Kirs <[email protected]>
AuthorDate: Sun Apr 25 09:45:06 2021 +0800

    [1.3.6-prepare]work flow would running if task is killed by manual. (#5363)
    
    pr #5362
    issue #5349
---
 .../org/apache/dolphinscheduler/common/enums/DependResult.java    | 3 ++-
 .../dolphinscheduler/server/master/runner/MasterExecThread.java   | 8 ++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/DependResult.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/DependResult.java
index 3e305f3..f906c86 100644
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/DependResult.java
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/enums/DependResult.java
@@ -26,6 +26,7 @@ public enum DependResult {
      * 0 success
      * 1 waiting
      * 2 failed
+     * 3 non execution
      */
-    SUCCESS, WAITING, FAILED
+    SUCCESS, WAITING, FAILED, NON_EXEC
 }
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 08cf2b5..674acbe 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
@@ -527,7 +527,7 @@ public class MasterExecThread implements Runnable {
             }
             ExecutionStatus depTaskState = 
completeTaskList.get(depsNode).getState();
             if(depTaskState.typeIsPause() || depTaskState.typeIsCancel()){
-                return DependResult.WAITING;
+                return DependResult.NON_EXEC;
             }
             // ignore task state if current task is condition
             if(taskNode.isConditionsTask()){
@@ -1017,7 +1017,11 @@ public class MasterExecThread implements Runnable {
                     dependFailedTask.put(task.getName(), task);
                     removeTaskFromStandbyList(task);
                     logger.info("task {},id:{} depend result : 
{}",task.getName(), task.getId(), dependResult);
-                }
+                } else if (DependResult.NON_EXEC == dependResult) {
+                // for some reasons(depend task pause/stop) this task would 
not be submit
+                removeTaskFromStandbyList(task);
+                logger.info("remove task {},id:{} , because depend result : 
{}", task.getName(), task.getId(), dependResult);
+               }
             }
         } catch (Exception e) {
             logger.error("submit standby task error",e);

Reply via email to