Native DAG-Level Time Travel for Reproducible Backfills #73636
Unanswered
daniyarndh
asked this question in
Ideas
Replies: 1 comment
|
That is a discussion that should happen on Devlist. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Currently, Airflow DAG execution logic is decoupled from its runtime execution state. When a DAG run fails or requires a historical backfill (e.g., re-running a task from 3 months ago), Airflow executes the task using today's live code base, current environment variables, and latest provider dependencies.
This leads to some significant operational challenges:
Proposed Solution
We want to introduce a
Time-Travel Pipeline runsfeature that takes a snapshot of the exact code and environment every time a pipeline starts. Airflow saves two unique identifiers directly to the run's metadata:In short, it turns pipeline re-runs into true time capsules, ensuring backfills are safe, bugs are reproducible, and past reports are fully auditable. Example:
{ "execution_snapshot": { "git_commit": "4f82d1c67a", "docker_digest": "[registry.example.com/airflow-dags@sha256:a3f128c98e](https://registry.example.com/airflow-dags@sha256:a3f128c98e)...", "pinned_at": "2026-09-23T20:00:00Z" } }All reactions