Skip to content

chore: Prune Dev Server dynamic configs#1925

Merged
mjameswh merged 2 commits intomainfrom
prune-dynamic-configs
Feb 5, 2026
Merged

chore: Prune Dev Server dynamic configs#1925
mjameswh merged 2 commits intomainfrom
prune-dynamic-configs

Conversation

@mjameswh
Copy link
Contributor

@mjameswh mjameswh commented Feb 5, 2026

What was changed

  • Prune out the list of dynamic configs used by our SDK internal test suite. Many of those dynamic configs are either now default or have been dropped in the server.

@mjameswh mjameswh requested a review from a team as a code owner February 5, 2026 13:04
'worker.buildIdScavengerEnabled=true',
'worker.removableBuildIdDurationSinceDefault=1',
'component.nexusoperations.recordCancelRequestCompletionEvents=true',
'history.enableRequestIdRefLinks=true',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the best way to find an explanation of what a dynamic config does? I followed some of the links at https://docs.temporal.io/references/dynamic-configuration, but wasn't able to find this one

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah... That's difficult.

For context, there are basically two distinct categories of dynamic configs.

  1. Some dynamic configs are user-tuneable feature flags, providing server-level or namespace-level control on exposed features and some performance-related options. Those are relatively stable over time, and meant to be used by Temporal server administrators, so we try to document those properly, e.g. on that page you referred to, but the reference is definitely incomplete.
  2. Other dynamic configs are introduced as gatekeepers for not-yet-stable server-side features. Those are short-lived (just a few server releases, then they get removed), and not something we want to broadly expose to users. Now, we (Temporalites) obviously see a lot of those, even though the exact signification of a given dynamic config is often a bit obscure to anyone outside that specific feature crew.

Most dynamic configs (all that start with frontend, history, matching or worker) should be defined in this file. So you can walk that file at various tags and branches to see when a specific flag was added, what's its default value, and whether it is still pertinent on latest releases.

From there, you may also get the constant used by the server to identify that feature, and search the code base to see what is gated by that constant.

@mjameswh mjameswh merged commit 599d994 into main Feb 5, 2026
26 of 27 checks passed
@mjameswh mjameswh deleted the prune-dynamic-configs branch February 5, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants