Uh oh!
There was an error while loading. Please reload this page.
Exclude non-successful runs from AVERAGE_RUNTIME deadline calculation - #68647
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ferruzzi
left a comment
There was a problem hiding this comment.
Looks right. Approved pending green CI and resolving Ramit's comments.
DeadlineReference.AVERAGE_RUNTIME computes a deadline from the average duration of past DAG runs, but the query filtered only on dag_id + start/end-date present — with no DagRun.state filter. Failed runs (which may have died fast or hung before failing) were folded into the average, skewing the computed deadline: a fast-failing history makes it too short (spurious misses), a slow-then-failed history makes it too long (real slowness never trips it). Filter the duration query to successful runs only. Add tests asserting failed runs are excluded from the average and that the deadline is skipped when too few successful runs exist.
The average and the min_runs threshold count successful runs only, so "previous Dag runs" / "completed runs" were imprecise. Generated-by: Claude Code (Opus 4.8) following the guidelines
1fb1621 to
64355c4CompareCo-authored-by: Ramit Kataria <ramitkat@amazon.com>
Co-authored-by: Ramit Kataria <ramitkat@amazon.com>
Hi maintainer, this PR was merged without a milestone set.
|
Backport successfully created: v3-3-testNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
|
… calculation (#68647) DeadlineReference.AVERAGE_RUNTIME computes a deadline from the average duration of past DAG runs, but the query filtered only on dag_id + start/end-date present — with no DagRun.state filter. Failed runs (which may have died fast or hung before failing) were folded into the average, skewing the computed deadline: a fast-failing history makes it too short (spurious misses), a slow-then-failed history makes it too long (real slowness never trips it). Filter the duration query to successful runs only. Add tests asserting failed runs are excluded from the average and that the deadline is skipped when too few successful runs exist. --------- (cherry picked from commit 88e6110) Co-authored-by: Sean Ghaeli <58916776+seanghaeli@users.noreply.github.com> Co-authored-by: Sean Ghaeli <ghaeli@amazon.com> Co-authored-by: Ramit Kataria <ramitkat@amazon.com>
… calculation (#68647) (#68949) DeadlineReference.AVERAGE_RUNTIME computes a deadline from the average duration of past DAG runs, but the query filtered only on dag_id + start/end-date present — with no DagRun.state filter. Failed runs (which may have died fast or hung before failing) were folded into the average, skewing the computed deadline: a fast-failing history makes it too short (spurious misses), a slow-then-failed history makes it too long (real slowness never trips it). Filter the duration query to successful runs only. Add tests asserting failed runs are excluded from the average and that the deadline is skipped when too few successful runs exist. --------- (cherry picked from commit 88e6110) Co-authored-by: Sean Ghaeli <58916776+seanghaeli@users.noreply.github.com> Co-authored-by: Sean Ghaeli <ghaeli@amazon.com> Co-authored-by: Ramit Kataria <ramitkat@amazon.com>
…apache#68647) DeadlineReference.AVERAGE_RUNTIME computes a deadline from the average duration of past DAG runs, but the query filtered only on dag_id + start/end-date present — with no DagRun.state filter. Failed runs (which may have died fast or hung before failing) were folded into the average, skewing the computed deadline: a fast-failing history makes it too short (spurious misses), a slow-then-failed history makes it too long (real slowness never trips it). Filter the duration query to successful runs only. Add tests asserting failed runs are excluded from the average and that the deadline is skipped when too few successful runs exist. --------- Co-authored-by: Sean Ghaeli <ghaeli@amazon.com> Co-authored-by: Ramit Kataria <ramitkat@amazon.com>
For
AVERAGE_RUNTIMEdeadlines, exclude non-success dag runs in the average calculation