From df185242cf29a165d48cee5c269a697bc27d214e Mon Sep 17 00:00:00 2001 From: sparklezzz Date: Sun, 24 Apr 2022 11:39:03 +0800 Subject: [PATCH] [Bug][Master] Global taskRetryCheckList clear conflict to killAllTasks in WorkflowExecuteThread (#9678) --- .../server/master/runner/WorkflowExecuteThread.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 7527daa3dd..2cad3b7579 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 @@ -1333,6 +1333,11 @@ public class WorkflowExecuteThread implements Runnable { } for (int taskId : activeTaskProcessorMaps.keySet()) { + if (taskRetryCheckList.containsKey(taskId)) { + taskRetryCheckList.remove(taskId); + logger.info("task id {} removed from taskRetryCheckList", taskId); + } + TaskInstance taskInstance = processService.findTaskInstanceById(taskId); if (taskInstance == null || taskInstance.getState().typeIsFinished()) { continue; @@ -1348,10 +1353,7 @@ public class WorkflowExecuteThread implements Runnable { } } - if (taskRetryCheckList.size() > 0) { - this.taskRetryCheckList.clear(); - this.addProcessStopEvent(processInstance); - } + this.addProcessStopEvent(processInstance); } public boolean workFlowFinish() {