Skip to content

Stop skipping none_failed_min_one_success tasks in mapped task groups#69377

Open
shahar1 wants to merge 1 commit into
apache:mainfrom
shahar1:fix-none-failed-min-one-success-mapped-task-group
Open

Stop skipping none_failed_min_one_success tasks in mapped task groups#69377
shahar1 wants to merge 1 commit into
apache:mainfrom
shahar1:fix-none-failed-min-one-success-mapped-task-group

Conversation

@shahar1

@shahar1 shahar1 commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Human Summary

Considers none_failed_min_one_success as fast triggered to avoid skipping before Dynamic Task Group is fully expanded.

AI Summary

Click here A task whose trigger rule is `none_failed_min_one_success` and that lives inside a dynamically mapped task group was being **skipped before the task group expanded**, even though its upstream succeeded.

The trigger rule is first evaluated on the task's not-yet-expanded summary task instance (map_index -1). By that point the upstream inside the same group has already expanded to map_index 0..n, so the summary-ti evaluation finds no relevant upstream successes, concludes "at least one success required, none found", and skips the task — it never expands.

one_success / one_failed / one_done already avoid this by being treated as "fast-triggered" on the unexpanded summary ti (they depend on all upstream instances until the group expands — see #34023 / #50210). none_failed_min_one_success belongs in that same set: it can be satisfied by a subset of upstreams, so broad depend-on-all-upstreams counting on the summary ti is safe and lets the task expand normally. This PR adds it there.

Reproduced on main (3.4.0) with the issue's minimal Dag (tg.imawake ended up skipped at map_index -1 while tg.imsleepy expanded to 0,1,2 all success); with the fix tg.imawake expands to 0,1,2 and succeeds. Added a regression test that fails on the buggy code and passes with the fix.

A prior attempt at this issue (#40428) was closed in 2024; this revives the fix scoped precisely to the affected trigger rule.

closes: #39801


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 4.8)

Generated-by: Claude Code (Opus 4.8) following the guidelines

@shahar1 shahar1 requested a review from uranusjr July 4, 2026 12:36
@shahar1 shahar1 added the backport-to-v3-3-test Backport to v3-3-test label Jul 4, 2026
A task with the none_failed_min_one_success trigger rule inside a
dynamically mapped task group was evaluated on its not-yet-expanded
summary task instance (map_index -1). At that point its upstream had
already expanded to map indexes 0..n, so the summary evaluation found no
relevant upstream successes and skipped the task before it could expand.

Extend the "fast-triggered" set that gets broad depend-on-all-upstreams
treatment on the unexpanded summary ti to include this rule, alongside
the one_success/one_failed/one_done rules already handled there, so the
task waits for its upstream and expands instead of skipping.

closes: apache#39801
@shahar1 shahar1 force-pushed the fix-none-failed-min-one-success-mapped-task-group branch from 71611ba to a9d9fe8 Compare July 4, 2026 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-to-v3-3-test Backport to v3-3-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tasks with 'none_failed_min_one_success' trigger_rule skipping before Dynamic Task Group is fully expanded

1 participant