Explorar o código

fix bug: start from the setting nodes with NODE_PRE would be NPE. (#4219)

bao liang %!s(int64=4) %!d(string=hai) anos
pai
achega
b694474c78

+ 3 - 0
dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/utils/DagHelper.java

@@ -398,6 +398,9 @@ public class DagHelper {
                                         DAG<String, TaskNode, TaskNodeRelation> dag,
                                         DAG<String, TaskNode, TaskNodeRelation> dag,
                                         Map<String, TaskInstance> completeTaskList,
                                         Map<String, TaskInstance> completeTaskList,
                                         Map<String, TaskNode> skipTaskNodeList) {
                                         Map<String, TaskNode> skipTaskNodeList) {
+        if (!dag.containsNode(skipNodeName)) {
+            return;
+        }
         skipTaskNodeList.putIfAbsent(skipNodeName, dag.getNode(skipNodeName));
         skipTaskNodeList.putIfAbsent(skipNodeName, dag.getNode(skipNodeName));
         Collection<String> postNodeList = dag.getSubsequentNodes(skipNodeName);
         Collection<String> postNodeList = dag.getSubsequentNodes(skipNodeName);
         for (String post : postNodeList) {
         for (String post : postNodeList) {