temporal
temporal copied to clipboard
Structured defaults in dynamicconfig
What changed?
- Allow "default values" passed to dynamic config to be lists of constrained values, as they would appear in a file. The default values are mixed with values from a file, applying after the specified values per filter set.
- Change precedence order for
getFilterMapsForTaskQueue: a task-queue-only constraint overrides a namespace-only constraint. This is so that we can override the default for the per-ns worker task queue even if there is a namespace-level constraint. - Refactor some of dynamicconfig: replace most of
inMemoryClientandnoopClientwithbasicClient. - Replace crazy integration test hack in
noopClientwith a more reasonable override. - Move
PerNSWorkerTaskQueuetoprimitivesto avoid import cycles. - Move
SystemLocalNamespaceand related constaints toprimitivesto avoid import cycles. - Add structured default value for task queue partition count to use 1 partition for the per-ns worker task queue, and also all internal system namespace task queues.
- Add convenience function for task queue partitions to enforce using the structured default.
Why? To override partition count and update ack interval for per-ns worker task queues to reduce load with large numbers of namespaces.
How did you test it? new unit test, existing tests
Potential risks new bugs in dynamic config
Is hotfix candidate?