Skip to content

[v3-2-test] Fix scheduler callback bundle_version when versioning disabled (#66485)#66518

Merged
potiuk merged 1 commit into
v3-2-testfrom
backport-38a51dc-v3-2-test
May 10, 2026
Merged

[v3-2-test] Fix scheduler callback bundle_version when versioning disabled (#66485)#66518
potiuk merged 1 commit into
v3-2-testfrom
backport-38a51dc-v3-2-test

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented May 7, 2026

When a DAG has disable_bundle_versioning=True, dag_run.bundle_version is
left None at trigger time, but DagVersion.bundle_version still records
the bundle SHA captured during DAG parse. Scheduler-emitted task
callbacks (zombie tasks, heartbeat timeouts, stuck-in-queued) sourced
bundle_version from DagVersion, so the DFP would check out a pinned
versions// working tree and write a _tracking lockfile for a SHA
the run was never pinned to — causing the callback to run against
different code than the task itself, leaving per-version checkouts on
disk, and blocking stale bundle cleanup.

Source bundle_version from dag_run.bundle_version so the callback
inherits the same unpinned state as the run and executes against the
same on-disk code the task did.
(cherry picked from commit 38a51dc)

Co-authored-by: Ephraim Anierobi splendidzigy24@gmail.com

@boring-cyborg boring-cyborg Bot added the area:Scheduler including HA (high availability) scheduler label May 7, 2026
@potiuk potiuk marked this pull request as ready for review May 10, 2026 00:25
@potiuk potiuk requested review from XD-DENG and ashb as code owners May 10, 2026 00:25
…abled (#66485)

When a DAG has disable_bundle_versioning=True, dag_run.bundle_version is
left None at trigger time, but DagVersion.bundle_version still records
the bundle SHA captured during DAG parse. Scheduler-emitted task
callbacks (zombie tasks, heartbeat timeouts, stuck-in-queued) sourced
bundle_version from DagVersion, so the DFP would check out a pinned
versions/<sha>/ working tree and write a _tracking lockfile for a SHA
the run was never pinned to — causing the callback to run against
different code than the task itself, leaving per-version checkouts on
disk, and blocking stale bundle cleanup.

Source bundle_version from dag_run.bundle_version so the callback
inherits the same unpinned state as the run and executes against the
same on-disk code the task did.
(cherry picked from commit 38a51dc)

Co-authored-by: Ephraim Anierobi <splendidzigy24@gmail.com>
@potiuk potiuk force-pushed the backport-38a51dc-v3-2-test branch from 7ed66f1 to 5411a5b Compare May 10, 2026 00:26
@potiuk potiuk merged commit 2b7d1cf into v3-2-test May 10, 2026
78 checks passed
@potiuk potiuk deleted the backport-38a51dc-v3-2-test branch May 10, 2026 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:Scheduler including HA (high availability) scheduler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants