[Bug] [Master] Dependent task result detection has some problems
Search before asking
- [X] I had searched in the issues and found no similar issues.
What happened
- two dag:a -> b -> c,dependent _1 -> d -> e
- Retry after failure is configured for task b.
- dependent _1 is Dependent task and depends on task b.
- When task b fails but the maximum number of retries is not reached, dependent _1 task fails.
中文:
- 两个工作流:a -> b -> c,dependent _1 -> d -> e
- 其中任务b配置了失败重试,比如最大重试次数为3,重试间隔为3min
- 任务dependent _1是一个Dependent类型的任务,依赖任务b,依赖定义如下图
- 结果:当任务b失败一次后,就会触发dependent _1任务失败。
What you expected to happen
In my opinion, after failed retry is configured for task b, dependent tasks need to wait for the retry to complete before their execution results can be calculated
中文: 我认为,如果任务b配置了失败重试,依赖任务b的Dependent任务需要等待其执行成功或者执行失败且达到最大重试次数后才能计算Dependent任务的依赖结果,而不是在任务b失败一次后就触发dependent _1任务失败,因为任务b处于失败重试阶段,此任务并未结束。
How to reproduce
I think that when calculating the dependency result of a dependent task, it is necessary to additionally determine whether the dependent task has a failed retry stage to prevent the dependent task from failing due to a single failure of the dependent task.
中文: 我认为,在计算Dependent类型任务的依赖结果时,需要额外判断被依赖任务是否处于失败重试阶段,防止因为被依赖任务单次失败造成Dependent类型任务失败。
Anything else
No response
Version
3.1.x
Are you willing to submit PR?
- [X] Yes I am willing to submit a PR!
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
Search before asking
- [X] I had searched in the issues and found no similar issues.
What happened
- two dag: a -> b -> c, dependent _1 -> d -> e
- Retry after failure is configured for task b.
- dependent _1 is Dependent task and depends on task b.
- When task b fails but the maximum number of retries is not reached, dependent _1 task fails.
Chinese:
- Two workflows: a -> b -> c, dependent _1 -> d -> e
- Task b is configured with failed retries, for example, the maximum number of retries is 3 and the retry interval is 3 minutes.
- Task dependent _1 is a Dependent type task, which depends on task b. The dependency definition is as shown below
- Result: When task b fails once, the failure of dependent _1 task will be triggered.
What you expected to happen
In my opinion, after failed retry is configured for task b, dependent tasks need to wait for the retry to complete before their execution results can be calculated
Chinese: I think that if task b is configured with a failure retry, the Dependent task that depends on task b needs to wait for its successful execution or execution failure and the maximum number of retries before it can calculate the dependency result of the Dependent task, rather than after task b After one failure, the dependent _1 task fails, because task b is in the failed retry stage and this task has not ended.
How to reproduce
I think that when calculating the dependency result of a dependent task, it is necessary to additionally determine whether the dependent task has a failed retry stage to prevent the dependent task from failing due to a single failure of the dependent task.
Chinese: I think that when calculating the dependency result of a Dependent type task, it is necessary to additionally determine whether the dependent task is in the failure retry stage to prevent the Dependent type task from failing due to a single failure of the dependent task.
Anything else
No response
Version
3.1.x
Are you willing to submit PR?
- [X] Yes I am willing to submit a PR!
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
大佬太厉害了,我感觉dependent模块确实还有待完善
Fixed.