Uh oh!
There was an error while loading. Please reload this page.
Add date and value filters to Backfills UI API - #70151
Conversation
Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contributors' Guide
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
f733102 to
63e9af5Comparec4fdc46 to
19e523dCompareUh 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.
3ba66de to
dad2002ComparePhinhas214
commented
Jul 30, 2026
Thank you @bbovenzi for the review. I fixed up the issues you surfaced and rebased my changes after #70159. Let me know that how you think I should tackle |
dad2002 to
e8b4f7dComparebbovenzi
commented
Aug 11, 2026
Something broke with your rebase. Closing this. Feel free to open up a new PR with only changes to the backfill filters. |
Related: #53049
Add date and value filters to the Backfills tab UI.
Adds 6 of the 8 filters requested in #53049 to the Backfills tab:
start_date,end_date,created_at,completed_at,reprocess_behavior, andmax_active_runs.The remaining 2 filters
durationandstatusare deliberately left out see "Open questions for reviewers" below.Before
After
backfill_filters_recording.mov
Open questions for reviewers
duration
Backfillhas nodurationcolumn.DagRunderives itsdurationfromend_date - start_datevia a dialect-awarehybrid_property, butBackfillhas neither ofthose columns. The closest fields are
created_at/completed_at. MirroringDagRun's pattern directly on those fields means a runningbackfill has
completed_at = NULL, soduration IS NULL, andNULLfails any SQLcomparison. This implementation would silently exclude every
currently running backfill, even though "surface long-running backfills" (the motivation for
durationfilter) should include ones still running in my opinon.now() - created_atwhencompleted_at IS NULL, so in-progress backfills still get aduration value. Would you like me to implement it that way, or handle it differently?
status
Backfillhas nostatuscolumn — onlyis_pausedandcompleted_at.list_backfills_uialready has a partial precedent (active, based oncompleted_at IS NULL) but this definition ofstatuswould only give us running vs. finished states.statusbuild on that directly, or does it need to look atassociated
DagRunstates (e.g: join out to childDagRunstates to support "failed" state?)Happy to follow up on duration/status once there's a direction.
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Sonnet 5) following the guidelines