Skip to content

Removed mapped tasks block all_success trigger rule #33164

@tanelk

Description

@tanelk

Apache Airflow version

2.6.3

What happened

When rerunning a DAG run with dynamically mapped tasks and the number of mapped task instances degreases, then downstream tasks with all_success trigger rule (likely some others as well) will not get scheduled, because removed status is not considered to be successful. When a regular task gets removed, then this does not happen, because it will get removed from the DAG structure.

Task dependency message
Task's trigger rule 'all_success' requires all upstream tasks to have succeeded, but found 2 non-success(es). upstream_states=_UpstreamTIStates(success=22, skipped=0, failed=0, upstream_failed=0, removed=2, done=24), upstream_task_ids={'upstream_task'}

Previously you could forcefully run it with the "run" button in UI, but it has been removed in one of the resent releases.

Luckily I could delete the removed TIs and then the downstream tasks got rescheduled, but this is not "scalable".

What you think should happen instead

Removed TIs should not block any trigger rules from getting executed.

How to reproduce

Operating System

Versions of Apache Airflow Providers

No response

Deployment

Virtualenv installation

Deployment details

No response

Anything else

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions