Skip to content

Make the scheduler Dag cache size and TTL configurable - #71816

Draft
jason810496 wants to merge 1 commit into
apache:mainfrom
jason810496:feat/scheduler-dag-cache-config
Draft

Make the scheduler Dag cache size and TTL configurable#71816
jason810496 wants to merge 1 commit into
apache:mainfrom
jason810496:feat/scheduler-dag-cache-config

Conversation

@jason810496

@jason810496 jason810496 commented Aug 19, 2026

Copy link
Copy Markdown
Member

Why

The scheduler's cache bound landed in #71704 as a fixed constant. Deployments whose active Dag-version working set exceeds that limit cannot raise it, while memory-constrained deployments cannot lower it or choose time-based eviction.

How

The API server and scheduler read and validate their size and TTL pairs through one helper. Each component constructs CachedDBDagBag for every configuration. When both values are 0, the configured cache uses a plain unbounded dict and performs no eviction.

What

  • Adds [scheduler] dag_cache_size, defaulting to the existing LRU limit of 512 versions.
  • Adds [scheduler] dag_cache_ttl, defaulting to 0 with no time-based eviction.
  • Defines 0 consistently: size 0 disables size-based eviction, TTL 0 disables time-based eviction, and both 0 disable eviction for the process lifetime.
  • Documents the scheduler tuning guidance and the corresponding metrics.
  • Adds a feature newsfragment for the new scheduler settings.

Was generative AI tooling used to co-author this PR?

A fixed 512-entry cache cannot fit every deployment: larger active working sets churn while memory-constrained schedulers may need a lower cap. Exposing size and TTL controls lets operators trade memory for refetch and deserialization cost while preserving the current defaults.
@jason810496
jason810496 force-pushed the feat/scheduler-dag-cache-config branch from 47dda94 to e2f7da7 Compare August 21, 2026 12:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:API Airflow's REST/HTTP API area:ConfigTemplates area:dev-tools area:Scheduler including HA (high availability) scheduler backport-to-v3-3-test Backport to v3-3-test kind:documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant