fuchanghai commented on code in PR #14750:
URL:
https://github.com/apache/dolphinscheduler/pull/14750#discussion_r1355975635
##########
dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/utils/DagHelper.java:
##########
@@ -340,14 +340,18 @@ public static Set<Long> parsePostNodes(Long preNodeCode,
* if all of the task dependence are skipped, skip it too.
*/
private static boolean isTaskNodeNeedSkip(TaskNode taskNode,
- Map<Long, TaskNode>
skipTaskNodeList) {
+ Map<Long, TaskNode>
skipTaskNodeList,
+ Map<Long, TaskInstance>
completeTaskList) {
if (CollectionUtils.isEmpty(taskNode.getDepList())) {
return false;
}
for (Long depNode : taskNode.getDepList()) {
if (!skipTaskNodeList.containsKey(depNode)) {
return false;
}
+ if (completeTaskList.containsKey(depNode)) {
Review Comment:
hi @LiuShuangBJ 1.在s1 之前加一个 s0 ,再次运行不符合预期
2.s1如果依赖一个延迟任务,当从s2 分支执行到s1 时,延时任务还未执行,不包含在compeleteTask 中,导致s1 也会跳过
##########
dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/utils/DagHelper.java:
##########
@@ -340,14 +340,18 @@ public static Set<Long> parsePostNodes(Long preNodeCode,
* if all of the task dependence are skipped, skip it too.
*/
private static boolean isTaskNodeNeedSkip(TaskNode taskNode,
- Map<Long, TaskNode>
skipTaskNodeList) {
+ Map<Long, TaskNode>
skipTaskNodeList,
+ Map<Long, TaskInstance>
completeTaskList) {
if (CollectionUtils.isEmpty(taskNode.getDepList())) {
return false;
}
for (Long depNode : taskNode.getDepList()) {
if (!skipTaskNodeList.containsKey(depNode)) {
return false;
}
+ if (completeTaskList.containsKey(depNode)) {
Review Comment:
hi @LiuShuangBJ 1.在s1 之前加一个 s0 ,再次运行不符合预期
2.s1如果依赖一个延迟任务,当从s2 分支执行到s1 时,延时任务还未执行,不包含在compeleteTask 中,导致s1 也会跳过
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]