apache / dolphinscheduler

Apache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code

Home Page:https://dolphinscheduler.apache.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug] [dolphinscheduler-master] The handling of task dependency logic is problematic.

ILZZY opened this issue · comments

Search before asking

  • I had searched in the issues and found no similar issues.

What happened

org.apache.dolphinscheduler.server.master.utils.DependentExecute#findLastProcessInterval

491714282989_ pic

Considering tasks A and B, where task B is contingent upon the completion of task A, and this dependency is established within the operational period of the current month. It is known that task B initiated its first successful run on the 28th day and task A is configured to be scheduled 2 minutes subsequent to B's scheduling time. The present scenario involves an evaluation logic that has segmented the month into a period ranging from April 1st to April 30th. Upon assessing April 1st – a date for which no instance of task B exists – the logic promptly returns a 'waiting' status without proceeding to evaluate the remaining days of the month.

What you expected to happen

Given that the dependency timeframe is set for the current month, and there indeed exists a successful execution instance of task B within this month, the expected outcome of the dependency check should logically yield a 'success' status. This, in turn, would permit task A to proceed with its scheduled execution.

How to reproduce

  1. Task A schedule is [0 30 10 28 4 ? *]
  2. TaskB schedule is [0 32 10 28 4 ? *]
  3. Task B relies on Task A, with the dependency anchored within the business cycle of the current month.

Anything else

No response

Version

dev

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct