You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ca...@apache.org on 2022/05/12 08:31:59 UTC

[dolphinscheduler] branch dev updated: [Fix-9975] The selected task instance was recreated when the Master service fail… (#9976)

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

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


The following commit(s) were added to refs/heads/dev by this push:
     new dbdbfeaeee [Fix-9975] The selected task instance was recreated when the Master service fail… (#9976)
dbdbfeaeee is described below

commit dbdbfeaeee4b6aaaa738ef642a908f700f0cb9bc
Author: WangJPLeo <10...@users.noreply.github.com>
AuthorDate: Thu May 12 16:31:53 2022 +0800

    [Fix-9975] The selected task instance was recreated when the Master service fail… (#9976)
    
    * The selected task instance was recreated when the Master service failed over.
    
    * Returns the expression result directly.
    
    * Use Recovery to determine whether to use the old task instance.
---
 .../dolphinscheduler/server/master/runner/WorkflowExecuteThread.java   | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java
index 98556dc0f0..3b7b5511ae 100644
--- a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java
+++ b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/WorkflowExecuteThread.java
@@ -1960,6 +1960,9 @@ public class WorkflowExecuteThread {
     private boolean isNewProcessInstance() {
         if (ExecutionStatus.RUNNING_EXECUTION == processInstance.getState() && processInstance.getRunTimes() == 1) {
             return true;
+        } else if (processInstance.getRecovery().equals(Flag.YES)) {
+            // host is empty use old task instance
+            return false;
         } else {
             return false;
         }