This is an automated email from the ASF dual-hosted git repository.
zhongjiajie pushed a commit to branch 2.0.8-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/2.0.8-prepare by this push:
new 10d619924e [Fix-12966] Failed to export and then import the project
(#13455)
10d619924e is described below
commit 10d619924e693830d27f84b4c99a03156d96f745
Author: JinYong Li <[email protected]>
AuthorDate: Tue Jan 31 11:32:54 2023 +0800
[Fix-12966] Failed to export and then import the project (#13455)
* fix 13347 and 12966
* fix switch
Co-authored-by: JinyLeeChina <[email protected]>
---
.../service/impl/ProcessDefinitionServiceImpl.java | 66 ++++++++++++++++++++++
.../task/conditions/ConditionsParameters.java | 12 ++--
.../common/task/switchtask/SwitchParameters.java | 21 ++++---
.../common/task/switchtask/SwitchResultVo.java | 21 ++++---
.../dao/entity/TaskDefinition.java | 2 +-
.../dolphinscheduler/dao/utils/DagHelper.java | 31 +++++-----
.../dolphinscheduler/dao/utils/DagHelperTest.java | 6 +-
.../master/runner/task/SwitchTaskProcessor.java | 22 ++++----
.../server/master/ConditionsTaskTest.java | 4 +-
.../server/master/SwitchTaskTest.java | 8 +--
10 files changed, 130 insertions(+), 63 deletions(-)
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
index 23fee1bb0f..9eb277caa6 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
@@ -43,11 +43,16 @@ import org.apache.dolphinscheduler.common.enums.WarningType;
import org.apache.dolphinscheduler.common.graph.DAG;
import org.apache.dolphinscheduler.common.model.TaskNode;
import org.apache.dolphinscheduler.common.model.TaskNodeRelation;
+import org.apache.dolphinscheduler.common.task.AbstractParameters;
+import org.apache.dolphinscheduler.common.task.conditions.ConditionsParameters;
+import org.apache.dolphinscheduler.common.task.switchtask.SwitchParameters;
+import org.apache.dolphinscheduler.common.task.switchtask.SwitchResultVo;
import org.apache.dolphinscheduler.common.thread.Stopper;
import org.apache.dolphinscheduler.common.utils.CodeGenerateUtils;
import
org.apache.dolphinscheduler.common.utils.CodeGenerateUtils.CodeGenerateException;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
+import org.apache.dolphinscheduler.common.utils.TaskParametersUtils;
import org.apache.dolphinscheduler.dao.entity.DagData;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionLog;
@@ -107,6 +112,7 @@ import org.springframework.web.multipart.MultipartFile;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -962,6 +968,7 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
taskDefinitionLog.setUpdateTime(now);
taskDefinitionLog.setOperator(loginUser.getId());
taskDefinitionLog.setOperateTime(now);
+ taskDefinitionLog.setTaskParams(taskDefinition.getTaskParams());
try {
long code = CodeGenerateUtils.getInstance().genCode();
taskCodeMap.put(taskDefinitionLog.getCode(), code);
@@ -973,6 +980,7 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
}
taskDefinitionLogList.add(taskDefinitionLog);
}
+ taskDefinitionLogList.forEach(v ->
v.setTaskParams(resetImportTaskParams(taskCodeMap, v)));
int insert = taskDefinitionMapper.batchInsert(taskDefinitionLogList);
int logInsert =
taskDefinitionLogMapper.batchInsert(taskDefinitionLogList);
if ((logInsert & insert) == 0) {
@@ -1035,6 +1043,64 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
return true;
}
+ private String resetImportTaskParams(Map<Long, Long> taskCodeMap,
TaskDefinitionLog taskDefinition) {
+ String taskType = taskDefinition.getTaskType();
+ if (!TaskType.CONDITIONS.getDesc().equals(taskType) &&
!TaskType.SWITCH.getDesc().equals(taskType)) {
+ return taskDefinition.getTaskParams();
+ }
+
+ Map<String, Object> taskParamsMap =
JSONUtils.parseObject(taskDefinition.getTaskParams(), new
TypeReference<Map<String, Object>>() {});
+ if (taskParamsMap == null) {
+ taskParamsMap = new HashMap<>();
+ }
+ AbstractParameters switchParameters =
TaskParametersUtils.getParameters(TaskType.SWITCH.getDesc(),
JSONUtils.toJsonString(taskParamsMap.get(Constants.SWITCH_RESULT)));
+ if (switchParameters != null) {
+ taskParamsMap.put(Constants.SWITCH_RESULT,
resetImportSwitchTaskParams(taskCodeMap, switchParameters));
+ }
+ AbstractParameters conditionParameters =
TaskParametersUtils.getParameters(TaskType.CONDITIONS.getDesc(),
JSONUtils.toJsonString(taskParamsMap.get(Constants.CONDITION_RESULT)));
+ if (conditionParameters != null) {
+ taskParamsMap.put(Constants.CONDITION_RESULT,
resetImportConditionTaskParams(taskCodeMap, conditionParameters));
+ }
+ return JSONUtils.toJsonString(taskParamsMap);
+ }
+
+ private AbstractParameters resetImportSwitchTaskParams(Map<Long, Long>
taskCodeMap, AbstractParameters parameter) {
+ SwitchParameters switchParameters = (SwitchParameters) parameter;
+ List<SwitchResultVo> dependTaskList =
switchParameters.getDependTaskList();
+ if (CollectionUtils.isEmpty(dependTaskList)) {
+ return switchParameters;
+ }
+ for (SwitchResultVo resultVo : dependTaskList) {
+ Long nextNode = resultVo.getNextNode();
+ resultVo.setNextNode(taskCodeMap.get(nextNode));
+ }
+ Long nextNode = switchParameters.getNextNode();
+ switchParameters.setNextNode(taskCodeMap.get(nextNode));
+ return switchParameters;
+ }
+
+ private AbstractParameters resetImportConditionTaskParams(Map<Long, Long>
taskCodeMap, AbstractParameters parameter) {
+ ConditionsParameters conditionsParameters = (ConditionsParameters)
parameter;
+ List<Long> originalSuccessNode = conditionsParameters.getSuccessNode();
+ List<Long> originalFailedNode = conditionsParameters.getFailedNode();
+ if (CollectionUtils.isEmpty(originalSuccessNode) ||
CollectionUtils.isEmpty(originalFailedNode)) {
+ return conditionsParameters;
+ }
+ List<Long> resultSuccessNode = new ArrayList<>();
+ List<Long> resultFailedNode = new ArrayList<>();
+
+ if (CollectionUtils.isNotEmpty(originalSuccessNode)) {
+ originalSuccessNode.forEach(v ->
resultSuccessNode.add(taskCodeMap.get(v)));
+ }
+ if (CollectionUtils.isNotEmpty(originalFailedNode)) {
+ originalFailedNode.forEach(v ->
resultFailedNode.add(taskCodeMap.get(v)));
+ }
+
+ conditionsParameters.setSuccessNode(resultSuccessNode);
+ conditionsParameters.setFailedNode(resultFailedNode);
+ return conditionsParameters;
+ }
+
/**
* check importance params
*/
diff --git
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/conditions/ConditionsParameters.java
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/conditions/ConditionsParameters.java
index b136ae295d..0b592901f9 100644
---
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/conditions/ConditionsParameters.java
+++
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/conditions/ConditionsParameters.java
@@ -32,10 +32,10 @@ public class ConditionsParameters extends
AbstractParameters {
private DependentRelation dependRelation;
// node list to run when success
- private List<String> successNode;
+ private List<Long> successNode;
// node list to run when failed
- private List<String> failedNode;
+ private List<Long> failedNode;
@Override
public boolean checkParameters() {
@@ -63,19 +63,19 @@ public class ConditionsParameters extends
AbstractParameters {
this.dependRelation = dependRelation;
}
- public List<String> getSuccessNode() {
+ public List<Long> getSuccessNode() {
return successNode;
}
- public void setSuccessNode(List<String> successNode) {
+ public void setSuccessNode(List<Long> successNode) {
this.successNode = successNode;
}
- public List<String> getFailedNode() {
+ public List<Long> getFailedNode() {
return failedNode;
}
- public void setFailedNode(List<String> failedNode) {
+ public void setFailedNode(List<Long> failedNode) {
this.failedNode = failedNode;
}
diff --git
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/switchtask/SwitchParameters.java
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/switchtask/SwitchParameters.java
index ff04a55b33..f7b4f7bea8 100644
---
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/switchtask/SwitchParameters.java
+++
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/switchtask/SwitchParameters.java
@@ -21,6 +21,8 @@ import
org.apache.dolphinscheduler.common.enums.DependentRelation;
import org.apache.dolphinscheduler.common.process.ResourceInfo;
import org.apache.dolphinscheduler.common.task.AbstractParameters;
+import org.apache.commons.collections.CollectionUtils;
+
import java.util.ArrayList;
import java.util.List;
@@ -28,7 +30,7 @@ public class SwitchParameters extends AbstractParameters {
private DependentRelation dependRelation;
private String relation;
- private List<String> nextNode;
+ private Long nextNode;
private int resultConditionLocation;
private List<SwitchResultVo> dependTaskList;
@@ -74,21 +76,18 @@ public class SwitchParameters extends AbstractParameters {
this.dependTaskList = dependTaskList;
}
- public List<String> getNextNode() {
+ public Long getNextNode() {
return nextNode;
}
public void setNextNode(Object nextNode) {
- if (nextNode instanceof String) {
- List<String> nextNodeList = new ArrayList<>();
- nextNodeList.add(String.valueOf(nextNode));
- this.nextNode = nextNodeList;
- } else if (nextNode instanceof Number) {
- List<String> nextNodeList = new ArrayList<>();
- nextNodeList.add(nextNode.toString());
- this.nextNode = nextNodeList;
+ if (nextNode instanceof Long) {
+ this.nextNode = (Long) nextNode;
} else {
- this.nextNode = (ArrayList) nextNode;
+ List<String> nextNodes = (ArrayList) nextNode;
+ if (CollectionUtils.isNotEmpty(nextNodes)) {
+ this.nextNode = Long.parseLong(nextNodes.get(0));
+ }
}
}
}
\ No newline at end of file
diff --git
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/switchtask/SwitchResultVo.java
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/switchtask/SwitchResultVo.java
index 07f0f94a54..58090c05be 100644
---
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/switchtask/SwitchResultVo.java
+++
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/task/switchtask/SwitchResultVo.java
@@ -17,13 +17,15 @@
package org.apache.dolphinscheduler.common.task.switchtask;
+import org.apache.commons.collections.CollectionUtils;
+
import java.util.ArrayList;
import java.util.List;
public class SwitchResultVo {
private String condition;
- private List<String> nextNode;
+ private Long nextNode;
public String getCondition() {
return condition;
@@ -33,21 +35,18 @@ public class SwitchResultVo {
this.condition = condition;
}
- public List<String> getNextNode() {
+ public Long getNextNode() {
return nextNode;
}
public void setNextNode(Object nextNode) {
- if (nextNode instanceof String) {
- List<String> nextNodeList = new ArrayList<>();
- nextNodeList.add(String.valueOf(nextNode));
- this.nextNode = nextNodeList;
- } else if (nextNode instanceof Number) {
- List<String> nextNodeList = new ArrayList<>();
- nextNodeList.add(nextNode.toString());
- this.nextNode = nextNodeList;
+ if (nextNode instanceof Long) {
+ this.nextNode = (Long) nextNode;
} else {
- this.nextNode = (ArrayList) nextNode;
+ List<String> nextNodes = (ArrayList) nextNode;
+ if (CollectionUtils.isNotEmpty(nextNodes)) {
+ this.nextNode = Long.parseLong(nextNodes.get(0));
+ }
}
}
}
\ No newline at end of file
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinition.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinition.java
index 8c47fbfc86..f8af169d24 100644
---
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinition.java
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinition.java
@@ -294,7 +294,7 @@ public class TaskDefinition {
public Map<String, String> getTaskParamMap() {
if (taskParamMap == null && StringUtils.isNotEmpty(taskParams)) {
JsonNode localParams =
JSONUtils.parseObject(taskParams).findValue("localParams");
- if (localParams != null) {
+ if (localParams != null && localParams.size() > 0) {
List<Property> propList =
JSONUtils.toList(localParams.toString(), Property.class);
taskParamMap =
propList.stream().collect(Collectors.toMap(Property::getProp,
Property::getValue));
}
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/utils/DagHelper.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/utils/DagHelper.java
index 154c58473b..727e040287 100644
---
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/utils/DagHelper.java
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/utils/DagHelper.java
@@ -38,6 +38,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -363,13 +364,16 @@ public class DagHelper {
TaskInstance taskInstance = completeTaskList.get(nodeCode);
ConditionsParameters conditionsParameters =
JSONUtils.parseObject(taskNode.getConditionResult(),
ConditionsParameters.class);
+ if (conditionsParameters == null) {
+ return conditionTaskList;
+ }
List<String> skipNodeList = new ArrayList<>();
if (taskInstance.getState().typeIsSuccess()) {
- conditionTaskList = conditionsParameters.getSuccessNode();
- skipNodeList = conditionsParameters.getFailedNode();
+ conditionTaskList =
conditionsParameters.getSuccessNode().stream().map(String::valueOf).collect(Collectors.toList());
+ skipNodeList =
conditionsParameters.getFailedNode().stream().map(String::valueOf).collect(Collectors.toList());
} else if (taskInstance.getState().typeIsFailure()) {
- conditionTaskList = conditionsParameters.getFailedNode();
- skipNodeList = conditionsParameters.getSuccessNode();
+ conditionTaskList =
conditionsParameters.getFailedNode().stream().map(String::valueOf).collect(Collectors.toList());
+ skipNodeList =
conditionsParameters.getSuccessNode().stream().map(String::valueOf).collect(Collectors.toList());
} else {
conditionTaskList.add(nodeCode);
}
@@ -395,27 +399,28 @@ public class DagHelper {
if (!completeTaskList.containsKey(nodeCode)) {
return conditionTaskList;
}
- conditionTaskList = skipTaskNode4Switch(taskNode, skipTaskNodeList,
completeTaskList, dag);
+ conditionTaskList.add(String.valueOf(skipTaskNode4Switch(taskNode,
skipTaskNodeList, completeTaskList, dag)));
return conditionTaskList;
}
- private static List<String> skipTaskNode4Switch(TaskNode taskNode,
Map<String, TaskNode> skipTaskNodeList,
- Map<String, TaskInstance>
completeTaskList,
- DAG<String, TaskNode,
TaskNodeRelation> dag) {
+ private static Long skipTaskNode4Switch(TaskNode taskNode, Map<String,
TaskNode> skipTaskNodeList,
+ Map<String, TaskInstance>
completeTaskList,
+ DAG<String, TaskNode,
TaskNodeRelation> dag) {
SwitchParameters switchParameters =
completeTaskList.get(Long.toString(taskNode.getCode())).getSwitchDependency();
int resultConditionLocation =
switchParameters.getResultConditionLocation();
List<SwitchResultVo> conditionResultVoList =
switchParameters.getDependTaskList();
- List<String> switchTaskList =
conditionResultVoList.get(resultConditionLocation).getNextNode();
- if (CollectionUtils.isEmpty(switchTaskList)) {
- switchTaskList = new ArrayList<>();
+ Long switchTaskList =
conditionResultVoList.get(resultConditionLocation).getNextNode();
+ if (switchTaskList == null) {
+ switchTaskList = 0L;
}
conditionResultVoList.remove(resultConditionLocation);
for (SwitchResultVo info : conditionResultVoList) {
- if (CollectionUtils.isEmpty(info.getNextNode())) {
+ Long nextNode = info.getNextNode();
+ if (nextNode == null || nextNode == 0L) {
continue;
}
- setTaskNodeSkip(info.getNextNode().get(0), dag, completeTaskList,
skipTaskNodeList);
+ setTaskNodeSkip(String.valueOf(nextNode), dag, completeTaskList,
skipTaskNodeList);
}
return switchTaskList;
}
diff --git
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/utils/DagHelperTest.java
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/utils/DagHelperTest.java
index 8df92dd0ad..fd34c2589c 100644
---
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/utils/DagHelperTest.java
+++
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/utils/DagHelperTest.java
@@ -446,15 +446,15 @@ public class DagHelperTest {
SwitchParameters conditionsParameters = new SwitchParameters();
SwitchResultVo switchResultVo1 = new SwitchResultVo();
switchResultVo1.setCondition(" 2 == 1");
- switchResultVo1.setNextNode("2");
+ switchResultVo1.setNextNode(2L);
SwitchResultVo switchResultVo2 = new SwitchResultVo();
switchResultVo2.setCondition(" 2 == 2");
- switchResultVo2.setNextNode("4");
+ switchResultVo2.setNextNode(4L);
List<SwitchResultVo> list = new ArrayList<>();
list.add(switchResultVo1);
list.add(switchResultVo2);
conditionsParameters.setDependTaskList(list);
- conditionsParameters.setNextNode("5");
+ conditionsParameters.setNextNode(5L);
conditionsParameters.setRelation("AND");
// in: AND(AND(1 is SUCCESS))
diff --git
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/SwitchTaskProcessor.java
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/SwitchTaskProcessor.java
index 9cc00d3158..bdb5e4f76d 100644
---
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/SwitchTaskProcessor.java
+++
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/task/SwitchTaskProcessor.java
@@ -17,6 +17,7 @@
package org.apache.dolphinscheduler.server.master.runner.task;
+import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.DependResult;
import org.apache.dolphinscheduler.common.enums.ExecutionStatus;
import org.apache.dolphinscheduler.common.enums.TaskType;
@@ -30,7 +31,6 @@ import org.apache.dolphinscheduler.dao.entity.TaskInstance;
import org.apache.dolphinscheduler.server.utils.LogUtils;
import org.apache.dolphinscheduler.server.utils.SwitchTaskUtils;
-import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.Date;
@@ -225,9 +225,15 @@ public class SwitchTaskProcessor extends BaseTaskProcessor
{
}
while (m.find()) {
String paramName = m.group(1);
- Property property = globalParams.get(paramName);
+ Property property =
globalParams.get(Constants.START_UP_PARAMS_PREFIX + paramName);
if (property == null) {
- return "";
+ property = globalParams.get(paramName);
+ if (property == null) {
+ property = globalParams.get(Constants.GLOBAL_PARAMS_PREFIX
+ paramName);
+ if (property == null) {
+ return "";
+ }
+ }
}
String value = property.getValue();
if (!org.apache.commons.lang.math.NumberUtils.isNumber(value)) {
@@ -243,15 +249,7 @@ public class SwitchTaskProcessor extends BaseTaskProcessor
{
* check whether switch result is valid
*/
private boolean isValidSwitchResult(SwitchResultVo switchResult) {
- if (CollectionUtils.isEmpty(switchResult.getNextNode())) {
- return false;
- }
- for (String nextNode : switchResult.getNextNode()) {
- if (StringUtils.isEmpty(nextNode)) {
- return false;
- }
- }
- return true;
+ return switchResult.getNextNode() != null &&
switchResult.getNextNode() != 0L;
}
}
diff --git
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/ConditionsTaskTest.java
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/ConditionsTaskTest.java
index 3b3b5855ce..718e14ccaf 100644
---
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/ConditionsTaskTest.java
+++
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/ConditionsTaskTest.java
@@ -155,8 +155,8 @@ public class ConditionsTaskTest {
taskNode.setDependence(JSONUtils.toJsonString(dependentParameters));
ConditionsParameters conditionsParameters = new ConditionsParameters();
-
conditionsParameters.setSuccessNode(Stream.of("2").collect(Collectors.toList()));
-
conditionsParameters.setFailedNode(Stream.of("3").collect(Collectors.toList()));
+
conditionsParameters.setSuccessNode(Stream.of(2L).collect(Collectors.toList()));
+
conditionsParameters.setFailedNode(Stream.of(3L).collect(Collectors.toList()));
// out: SUCCESS => 2, FAILED => 3
taskNode.setConditionResult(JSONUtils.toJsonString(conditionsParameters));
diff --git
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/SwitchTaskTest.java
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/SwitchTaskTest.java
index 61f1d6d800..38bd79d2e0 100644
---
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/SwitchTaskTest.java
+++
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/SwitchTaskTest.java
@@ -113,19 +113,19 @@ public class SwitchTaskTest {
SwitchResultVo switchResultVo1 = new SwitchResultVo();
switchResultVo1.setCondition(" 2 == 1");
- switchResultVo1.setNextNode("t1");
+ switchResultVo1.setNextNode(1L);
SwitchResultVo switchResultVo2 = new SwitchResultVo();
switchResultVo2.setCondition(" 2 == 2");
- switchResultVo2.setNextNode("t2");
+ switchResultVo2.setNextNode(2L);
SwitchResultVo switchResultVo3 = new SwitchResultVo();
switchResultVo3.setCondition(" 3 == 2");
- switchResultVo3.setNextNode("t3");
+ switchResultVo3.setNextNode(3L);
List<SwitchResultVo> list = new ArrayList<>();
list.add(switchResultVo1);
list.add(switchResultVo2);
list.add(switchResultVo3);
conditionsParameters.setDependTaskList(list);
- conditionsParameters.setNextNode("t");
+ conditionsParameters.setNextNode(4L);
conditionsParameters.setRelation("AND");
return conditionsParameters;