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

zihaoxiang 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 7835ddfdb7 [Fix-13780][api] Fix the problem of process instance DAG 
can't show dependent task (#13823)
7835ddfdb7 is described below

commit 7835ddfdb769306ef4c776a43a162a1b0fde3aca
Author: ralphgj <[email protected]>
AuthorDate: Wed Apr 19 15:40:51 2023 +0800

    [Fix-13780][api] Fix the problem of process instance DAG can't show 
dependent task (#13823)
---
 .../api/service/impl/ProcessInstanceServiceImpl.java               | 7 ++++---
 .../dolphinscheduler/api/service/ProcessInstanceServiceTest.java   | 2 +-
 .../server/master/runner/task/DependentTaskProcessor.java          | 5 +++--
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
index 69620e7640..6fb10fd431 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
@@ -526,11 +526,12 @@ public class ProcessInstanceServiceImpl extends 
BaseServiceImpl implements Proce
                 }
                 String dependResultString = tmpStringArray[1];
                 String[] dependStringArray = dependResultString.split(",");
-                if (dependStringArray.length != 2) {
+                if (dependStringArray.length != 3) {
                     continue;
                 }
-                String key = dependStringArray[0].trim();
-                DependResult dependResult = 
DependResult.valueOf(dependStringArray[1].trim());
+                String key = dependStringArray[0].trim().split(":")[1].trim();
+                String result = 
dependStringArray[1].trim().split(":")[1].trim();
+                DependResult dependResult = DependResult.valueOf(result);
                 resultMap.put(key, dependResult);
             }
         }
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java
index 0282049d44..b35b9ccf3c 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java
@@ -465,7 +465,7 @@ public class ProcessInstanceServiceTest {
     public void testParseLogForDependentResult() throws IOException {
         String logString =
                 "[INFO] 2019-03-19 17:11:08.475 
org.apache.dolphinscheduler.server.worker.log.TaskLogger:[172]"
-                        + " - [taskAppId=TASK_223_10739_452334] dependent item 
complete :|| 223-ALL-day-last1Day,SUCCESS\n"
+                        + " - [taskAppId=TASK_223_10739_452334] dependent item 
complete, :|| dependentKey: 223-ALL-day-last1Day, result: SUCCESS, 
dependentDate: Wed Mar 19 17:10:36 CST 2019\n"
                         + "[INFO] 2019-03-19 17:11:08.476 
org.apache.dolphinscheduler.server.worker.runner.TaskScheduleThread:[172]"
                         + " - task : 223_10739_452334 exit status code : 0\n"
                         + "[root@node2 current]# ";
diff --git 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/DependentTaskProcessor.java
 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/DependentTaskProcessor.java
index 372305c996..a7d807cba3 100644
--- 
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/DependentTaskProcessor.java
+++ 
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/DependentTaskProcessor.java
@@ -17,6 +17,7 @@
 
 package org.apache.dolphinscheduler.server.master.runner.task;
 
+import static 
org.apache.dolphinscheduler.common.constants.Constants.DEPENDENT_SPLIT;
 import static 
org.apache.dolphinscheduler.plugin.task.api.TaskConstants.TASK_TYPE_DEPENDENT;
 
 import org.apache.dolphinscheduler.common.constants.Constants;
@@ -255,8 +256,8 @@ public class DependentTaskProcessor extends 
BaseTaskProcessor {
                 if (!dependResultMap.containsKey(entry.getKey())) {
                     dependResultMap.put(entry.getKey(), entry.getValue());
                     // save depend result to log
-                    log.info("dependent item complete, dependentKey: {}, 
result: {}, dependentDate: {}",
-                            entry.getKey(), entry.getValue(), dependentDate);
+                    log.info("dependent item complete, {} dependentKey: {}, 
result: {}, dependentDate: {}",
+                            DEPENDENT_SPLIT, entry.getKey(), entry.getValue(), 
dependentDate);
                 }
             }
             if (!dependentExecute.finish(dependentDate, testFlag)) {

Reply via email to