Skip to content

[v3-3-test] Bound the scheduler's deserialized Dag cache (#71704) - #71821

Merged
jason810496 merged 1 commit into
v3-3-testfrom
backport-29dd99d-v3-3-test
Aug 19, 2026
Merged

[v3-3-test] Bound the scheduler's deserialized Dag cache (#71704)#71821
jason810496 merged 1 commit into
v3-3-testfrom
backport-29dd99d-v3-3-test

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

The scheduler kept every Dag version it deserialized in a mapping that never
evicted, so a long-running scheduler grew with the number of versions it had
ever seen until it was restarted or OOM killed. Deployments that redeploy Dags
frequently accumulate versions fastest and hit this soonest.

(cherry picked from commit 29dd99d)

Co-authored-by: Jason(Zhe-You) Liu 68415893+jason810496@users.noreply.github.com

The scheduler kept every Dag version it deserialized in a mapping that never
evicted, so a long-running scheduler grew with the number of versions it had
ever seen until it was restarted or OOM killed. Deployments that redeploy Dags
frequently accumulate versions fastest and hit this soonest.
A least-recently-used cap is the only thing that bounds this outright. An idle
timeout would not: the scheduler re-checks an entry on each lookup, which
re-arms its expiry, so a timeout reclaims a version only once its runs finish
and it stops being requested, leaving memory a function of the concurrently
active set rather than a fixed ceiling.
Deliberately not configurable here, so the fix stays small enough to
cherry-pick. Cache activity currently reports under the existing
api_server.dag_bag.* metrics; a scheduler-specific namespace, along with
configuration, follows separately.
(cherry picked from commit 29dd99d)
Co-authored-by: Jason(Zhe-You) Liu <68415893+jason810496@users.noreply.github.com>
closes: #69001
@boring-cyborgboring-cyborgBot added the area:Scheduler including HA (high availability) scheduler label Aug 19, 2026
@jason810496
jason810496 marked this pull request as ready for review August 19, 2026 07:20
@jason810496jason810496 added this to the Airflow 3.3.2 milestone Aug 19, 2026
@vatsrahul1001vatsrahul1001 added the type:bug-fix Changelog: Bug Fixes label Aug 19, 2026
@jason810496
jason810496 merged commit b326364 into v3-3-testAug 19, 2026
100 of 109 checks passed
@jason810496
jason810496 deleted the backport-29dd99d-v3-3-test branch August 19, 2026 08:51
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:Schedulerincluding HA (high availability) schedulertype:bug-fixChangelog: Bug Fixes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jason810496@vatsrahul1001