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

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


The following commit(s) were added to refs/heads/2.0.2-prepare by this push:
     new ab1467e  cherry-pick bug_7537 (#7555)
ab1467e is described below

commit ab1467e622f8f9cb8b7248ae8092a74b5e02bd17
Author: SbloodyS <[email protected]>
AuthorDate: Thu Dec 23 09:34:47 2021 +0800

    cherry-pick bug_7537 (#7555)
---
 .../server/master/runner/StateWheelExecuteThread.java              | 7 +++----
 .../server/master/runner/WorkflowExecuteThread.java                | 2 ++
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/StateWheelExecuteThread.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/StateWheelExecuteThread.java
index bc3f257..de6db1d 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/StateWheelExecuteThread.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/StateWheelExecuteThread.java
@@ -118,12 +118,11 @@ public class StateWheelExecuteThread extends Thread {
         }
 
         for (TaskInstance taskInstance : 
this.taskInstanceRetryCheckList.values()) {
-            if (taskInstance.taskCanRetry() && 
taskInstance.retryTaskIntervalOverTime()) {
+            if (!taskInstance.getState().typeIsFinished() && 
(taskInstance.isSubProcess() || taskInstance.isDependTask())) {
                 addTaskStateChangeEvent(taskInstance);
-                taskInstanceRetryCheckList.remove(taskInstance.getId());
-            }
-            if (taskInstance.isSubProcess() || taskInstance.isDependTask()) {
+            } else if (taskInstance.taskCanRetry() && 
taskInstance.retryTaskIntervalOverTime()) {
                 addTaskStateChangeEvent(taskInstance);
+                taskInstanceRetryCheckList.remove(taskInstance.getId());
             }
         }
     }
diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java
index bc6159d..085c1d5 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java
@@ -381,6 +381,8 @@ public class WorkflowExecuteThread implements Runnable {
                 this.addRetryCheck(task);
             } else {
                 submitStandByTask();
+                taskTimeoutCheckList.remove(task.getId());
+                taskRetryCheckList.remove(task.getId());
             }
             return;
         }

Reply via email to