You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ke...@apache.org on 2023/04/30 04:03:59 UTC
[dolphinscheduler] branch 3.1.6-prepare updated: cherry-pick [Fix-13780][api] Fix the problem of process instance DAG can't show dependent task #13823
This is an automated email from the ASF dual-hosted git repository.
kerwin pushed a commit to branch 3.1.6-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/3.1.6-prepare by this push:
new b78e42f496 cherry-pick [Fix-13780][api] Fix the problem of process instance DAG can't show dependent task #13823
b78e42f496 is described below
commit b78e42f496762cd9b9218a25a47808add0e3804c
Author: ralphgj <ra...@gmail.com>
AuthorDate: Wed Apr 19 15:40:51 2023 +0800
cherry-pick [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 5a3b42b155..f184e0509c 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
@@ -401,11 +401,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 7868120eb5..3f54c0ca5c 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
@@ -368,7 +368,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 7a8d15941d..d93568646b 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;
@@ -249,8 +250,8 @@ public class DependentTaskProcessor extends BaseTaskProcessor {
if (!dependResultMap.containsKey(entry.getKey())) {
dependResultMap.put(entry.getKey(), entry.getValue());
// save depend result to log
- logger.info("dependent item complete, dependentKey: {}, result: {}, dependentDate: {}",
- entry.getKey(), entry.getValue(), dependentDate);
+ logger.info("dependent item complete, {} dependentKey: {}, result: {}, dependentDate: {}",
+ DEPENDENT_SPLIT, entry.getKey(), entry.getValue(), dependentDate);
}
}
if (!dependentExecute.finish(dependentDate)) {