Skip to content

Fix regression: Mark Task Instance As no longer defaults to Downstream#70048

Closed
luisglft wants to merge 4 commits into
apache:mainfrom
luisglft:fix/mark-as-dialog-downstream-default-regression
Closed

Fix regression: Mark Task Instance As no longer defaults to Downstream#70048
luisglft wants to merge 4 commits into
apache:mainfrom
luisglft:fix/mark-as-dialog-downstream-default-regression

Conversation

@luisglft

Copy link
Copy Markdown

Summary

#52130 added defaultValues={["downstream"]} to the shared SegmentedControl (Past/Future/Upstream/Downstream) used by both ClearTaskInstanceDialog and MarkTaskInstanceAsDialog.

  • For Clear Task Instance, this was correct: that dialog's own state already hardcoded useState(["downstream"]) before Set downstream option to default on task instance clear #52130 — the PR only fixed a display bug where the button looked unselected despite downstream already being included in the clear request.
  • For Mark Task Instance As, this is a real regression: before Set downstream option to default on task instance clear #52130, nothing was selected by default, so marking a task as success/failed only affected that task. Now "Downstream" is selected by default, so marking a task also marks its downstream task instances with the same state — but without executing them, since Mark-As sets state directly rather than running anything. This silently short-circuits the DAG for anyone who doesn't notice and manually deselect "Downstream" before confirming.

This PR removes the defaultValues={["downstream"]} prop from MarkTaskInstanceAsDialog only, restoring the pre-#52130 opt-in default. ClearTaskInstanceDialog is untouched.

Test plan

  • Open "Mark Task Instance as success/failed" on a task instance — confirm no options are pre-selected.
  • Open "Clear Task Instance" on a task instance — confirm "Downstream" is still pre-selected (unchanged).

…ault

PR apache#52130 added defaultValues={["downstream"]} to the shared
SegmentedControl in both ClearTaskInstanceDialog and
MarkTaskInstanceAsDialog. For the Clear dialog this only fixed a
display bug, since its own state already defaulted to ["downstream"].

For MarkTaskInstanceAsDialog, however, the state previously started
empty (useState<Array<string>>([])) with no defaultValues on the
control, so nothing was preselected. Adding defaultValues={["downstream"]}
here means "Downstream" is now selected by default when marking a task
instance as success/failed, which sets state on downstream task
instances too -- without executing them, since mark-as only patches
state and never runs anything. Anyone who confirms without noticing
and deselecting "Downstream" silently short-circuits the rest of the
DAG.

Remove the defaultValues prop from this dialog's SegmentedControl to
restore the pre-apache#52130 behavior of nothing selected by default,
leaving ClearTaskInstanceDialog untouched since its default is correct.
@boring-cyborg boring-cyborg Bot added the area:UI Related to UI/UX. For Frontend Developers. label Jul 17, 2026
@potiuk potiuk added the ready for maintainer review Set after triaging when all criteria pass. label Jul 20, 2026
@luisglft

Copy link
Copy Markdown
Author

Common use case for mark a task as success is to allow downstream tasks to run without getting blocked by that task, so we want to have downstream tasks running instead of mark as success. This was the default behavior in Airflow 2

@bbovenzi

Copy link
Copy Markdown
Contributor

Duplicate of #67763

@bbovenzi bbovenzi marked this as a duplicate of #67763 Jul 20, 2026
@bbovenzi bbovenzi closed this Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:UI Related to UI/UX. For Frontend Developers. ready for maintainer review Set after triaging when all criteria pass.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants