From ab1467e622f8f9cb8b7248ae8092a74b5e02bd17 Mon Sep 17 00:00:00 2001 From: SbloodyS <460888207@qq.com> Date: Thu, 23 Dec 2021 09:34:47 +0800 Subject: [PATCH] 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 bc3f257a80..de6db1ddb2 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 bc6159d9c3..085c1d569d 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; }