Skip to content
Discussion options

You must be logged in to vote

This looks like the scheduler behaving consistently with the current policy, not the pool behaving oddly. In the critical scheduling path, Airflow picks scheduled TIs ordered by priority weight descending, then DagRun.logical_date ascending, then map_index; after that it applies constraints such as pool slots, DAG/task concurrency, and max_active_tis_per_dag. With one task and equal priority, the oldest eligible run always wins the tie. A pool with 2 slots changes the capacity, not the ordering, so it does not make the selection fair across logical dates. (apache.googlesource.com)

The retry pattern in the repro makes the starvation much easier to hit. The first two runs execute, fail, and…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@franzwong
Comment options

Answer selected by franzwong
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants