You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f7a3398
Browse filesBrowse the repository at this point in the historyBrowse files
Honour wait_for_past_depends_before_skipping when a task is told to skip
A task with depends_on_past=True and wait_for_past_depends_before_skipping=True
was skipped at once when an upstream ShortCircuitOperator or branch operator
decided to skip it, even though its previous run's task instance had failed.
Two things stood between the parameter and the scheduler. SkipMixin raised
DownstreamTasksSkipped for every direct downstream task, so the execution API
wrote SKIPPED before any dependency ran. And the scheduler deps only honoured
DepContext.wait_for_past_depends_before_skipping, which nothing sets in
Airflow 3; the task attribute was never read, and SerializedMappedOperator
did not expose it.
SkipMixin now leaves the direct downstream tasks that set both flags out of
the state change, keeping them in the XCom decision, so NotPreviouslySkippedDep
decides. The deps read the task attribute as well as the context flag, and
PrevDagrunDep writes the past-depends-met mark through the scheduler's session
instead of a fresh one that commits inside the scheduling loop. A task that
sets only one of the two flags keeps today's immediate skip, as its docstring
says, and tasks reached through another skipped task are still skipped at once.
0 commit comments