go.temporal.io/server@v1.23.0/common/dynamicconfig/constants.go (about) 1 // The MIT License 2 // 3 // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved. 4 // 5 // Copyright (c) 2020 Uber Technologies, Inc. 6 // 7 // Permission is hereby granted, free of charge, to any person obtaining a copy 8 // of this software and associated documentation files (the "Software"), to deal 9 // in the Software without restriction, including without limitation the rights 10 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 // copies of the Software, and to permit persons to whom the Software is 12 // furnished to do so, subject to the following conditions: 13 // 14 // The above copyright notice and this permission notice shall be included in 15 // all copies or substantial portions of the Software. 16 // 17 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 // THE SOFTWARE. 24 25 package dynamicconfig 26 27 func (k Key) String() string { 28 return string(k) 29 } 30 31 const ( 32 // keys for admin 33 34 // AdminMatchingNamespaceToPartitionDispatchRate is the max qps of any task queue partition for a given namespace 35 AdminMatchingNamespaceToPartitionDispatchRate = "admin.matchingNamespaceToPartitionDispatchRate" 36 // AdminMatchingNamespaceTaskqueueToPartitionDispatchRate is the max qps of a task queue partition for a given namespace & task queue 37 AdminMatchingNamespaceTaskqueueToPartitionDispatchRate = "admin.matchingNamespaceTaskqueueToPartitionDispatchRate" 38 39 // keys for system 40 41 // DEPRECATED: the following block of configs are deprecated and replaced by the next block of configs 42 // StandardVisibilityPersistenceMaxReadQPS is the max QPC system host can query standard visibility DB (SQL or Cassandra) for read. 43 StandardVisibilityPersistenceMaxReadQPS = "system.standardVisibilityPersistenceMaxReadQPS" 44 // StandardVisibilityPersistenceMaxWriteQPS is the max QPC system host can query standard visibility DB (SQL or Cassandra) for write. 45 StandardVisibilityPersistenceMaxWriteQPS = "system.standardVisibilityPersistenceMaxWriteQPS" 46 // AdvancedVisibilityPersistenceMaxReadQPS is the max QPC system host can query advanced visibility DB (Elasticsearch) for read. 47 AdvancedVisibilityPersistenceMaxReadQPS = "system.advancedVisibilityPersistenceMaxReadQPS" 48 // AdvancedVisibilityPersistenceMaxWriteQPS is the max QPC system host can query advanced visibility DB (Elasticsearch) for write. 49 AdvancedVisibilityPersistenceMaxWriteQPS = "system.advancedVisibilityPersistenceMaxWriteQPS" 50 // AdvancedVisibilityWritingMode is key for how to write to advanced visibility 51 AdvancedVisibilityWritingMode = "system.advancedVisibilityWritingMode" 52 // EnableWriteToSecondaryAdvancedVisibility is the config to enable write to secondary visibility for Elasticsearch 53 EnableWriteToSecondaryAdvancedVisibility = "system.enableWriteToSecondaryAdvancedVisibility" 54 // EnableReadVisibilityFromES is key for enable read from Elasticsearch 55 EnableReadVisibilityFromES = "system.enableReadVisibilityFromES" 56 // EnableReadFromSecondaryAdvancedVisibility is the config to enable read from secondary Elasticsearch 57 EnableReadFromSecondaryAdvancedVisibility = "system.enableReadFromSecondaryAdvancedVisibility" 58 59 // VisibilityPersistenceMaxReadQPS is the max QPC system host can query visibility DB for read. 60 VisibilityPersistenceMaxReadQPS = "system.visibilityPersistenceMaxReadQPS" 61 // VisibilityPersistenceMaxWriteQPS is the max QPC system host can query visibility DB for write. 62 VisibilityPersistenceMaxWriteQPS = "system.visibilityPersistenceMaxWriteQPS" 63 // EnableReadFromSecondaryVisibility is the config to enable read from secondary visibility 64 EnableReadFromSecondaryVisibility = "system.enableReadFromSecondaryVisibility" 65 // SecondaryVisibilityWritingMode is key for how to write to secondary visibility 66 SecondaryVisibilityWritingMode = "system.secondaryVisibilityWritingMode" 67 // VisibilityDisableOrderByClause is the config to disable ORDERY BY clause for Elasticsearch 68 VisibilityDisableOrderByClause = "system.visibilityDisableOrderByClause" 69 // VisibilityEnableManualPagination is the config to enable manual pagination for Elasticsearch 70 VisibilityEnableManualPagination = "system.visibilityEnableManualPagination" 71 // VisibilityAllowList is the config to allow list of values for regular types 72 VisibilityAllowList = "system.visibilityAllowList" 73 // SuppressErrorSetSystemSearchAttribute suppresses errors when trying to set 74 // values in system search attributes. 75 SuppressErrorSetSystemSearchAttribute = "system.suppressErrorSetSystemSearchAttribute" 76 77 // HistoryArchivalState is key for the state of history archival 78 HistoryArchivalState = "system.historyArchivalState" 79 // EnableReadFromHistoryArchival is key for enabling reading history from archival store 80 EnableReadFromHistoryArchival = "system.enableReadFromHistoryArchival" 81 // VisibilityArchivalState is key for the state of visibility archival 82 VisibilityArchivalState = "system.visibilityArchivalState" 83 // EnableReadFromVisibilityArchival is key for enabling reading visibility from archival store 84 EnableReadFromVisibilityArchival = "system.enableReadFromVisibilityArchival" 85 // EnableNamespaceNotActiveAutoForwarding whether enabling DC auto forwarding to active cluster 86 // for signal / start / signal with start API if namespace is not active 87 EnableNamespaceNotActiveAutoForwarding = "system.enableNamespaceNotActiveAutoForwarding" 88 // TransactionSizeLimit is the largest allowed transaction size to persistence 89 TransactionSizeLimit = "system.transactionSizeLimit" 90 // DisallowQuery is the key to disallow query for a namespace 91 DisallowQuery = "system.disallowQuery" 92 // EnableAuthorization is the key to enable authorization for a namespace 93 EnableAuthorization = "system.enableAuthorization" 94 // EnableCrossNamespaceCommands is the key to enable commands for external namespaces 95 EnableCrossNamespaceCommands = "system.enableCrossNamespaceCommands" 96 // ClusterMetadataRefreshInterval is config to manage cluster metadata table refresh interval 97 ClusterMetadataRefreshInterval = "system.clusterMetadataRefreshInterval" 98 // ForceSearchAttributesCacheRefreshOnRead forces refreshing search attributes cache on a read operation, so we always 99 // get the latest data from DB. This effectively bypasses cache value and is used to facilitate testing of changes in 100 // search attributes. This should not be turned on in production. 101 ForceSearchAttributesCacheRefreshOnRead = "system.forceSearchAttributesCacheRefreshOnRead" 102 EnableRingpopTLS = "system.enableRingpopTLS" 103 // EnableParentClosePolicyWorker decides whether or not enable system workers for processing parent close policy task 104 EnableParentClosePolicyWorker = "system.enableParentClosePolicyWorker" 105 // EnableStickyQuery indicates if sticky query should be enabled per namespace 106 EnableStickyQuery = "system.enableStickyQuery" 107 // EnableActivityEagerExecution indicates if activity eager execution is enabled per namespace 108 EnableActivityEagerExecution = "system.enableActivityEagerExecution" 109 // EnableEagerWorkflowStart toggles "eager workflow start" - returning the first workflow task inline in the 110 // response to a StartWorkflowExecution request and skipping the trip through matching. 111 EnableEagerWorkflowStart = "system.enableEagerWorkflowStart" 112 // NamespaceCacheRefreshInterval is the key for namespace cache refresh interval dynamic config 113 NamespaceCacheRefreshInterval = "system.namespaceCacheRefreshInterval" 114 // PersistenceHealthSignalMetricsEnabled determines whether persistence shard RPS metrics are emitted 115 PersistenceHealthSignalMetricsEnabled = "system.persistenceHealthSignalMetricsEnabled" 116 // PersistenceHealthSignalAggregationEnabled determines whether persistence latency and error averages are tracked 117 PersistenceHealthSignalAggregationEnabled = "system.persistenceHealthSignalAggregationEnabled" 118 // PersistenceHealthSignalWindowSize is the time window size in seconds for aggregating persistence signals 119 PersistenceHealthSignalWindowSize = "system.persistenceHealthSignalWindowSize" 120 // PersistenceHealthSignalBufferSize is the maximum number of persistence signals to buffer in memory per signal key 121 PersistenceHealthSignalBufferSize = "system.persistenceHealthSignalBufferSize" 122 // ShardRPSWarnLimit is the per-shard RPS limit for warning 123 ShardRPSWarnLimit = "system.shardRPSWarnLimit" 124 // ShardPerNsRPSWarnPercent is the per-shard per-namespace RPS limit for warning as a percentage of ShardRPSWarnLimit 125 // these warning are not emitted if the value is set to 0 or less 126 ShardPerNsRPSWarnPercent = "system.shardPerNsRPSWarnPercent" 127 // OperatorRPSRatio is the percentage of the rate limit provided to priority rate limiters that should be used for 128 // operator API calls (highest priority). Should be >0.0 and <= 1.0 (defaults to 20% if not specified) 129 OperatorRPSRatio = "system.operatorRPSRatio" 130 131 // Whether the deadlock detector should dump goroutines 132 DeadlockDumpGoroutines = "system.deadlock.DumpGoroutines" 133 // Whether the deadlock detector should cause the grpc server to fail health checks 134 DeadlockFailHealthCheck = "system.deadlock.FailHealthCheck" 135 // Whether the deadlock detector should abort the process 136 DeadlockAbortProcess = "system.deadlock.AbortProcess" 137 // How often the detector checks each root. 138 DeadlockInterval = "system.deadlock.Interval" 139 // How many extra goroutines can be created per root. 140 DeadlockMaxWorkersPerRoot = "system.deadlock.MaxWorkersPerRoot" 141 142 // keys for size limit 143 144 // BlobSizeLimitError is the per event blob size limit 145 BlobSizeLimitError = "limit.blobSize.error" 146 // BlobSizeLimitWarn is the per event blob size limit for warning 147 BlobSizeLimitWarn = "limit.blobSize.warn" 148 // MemoSizeLimitError is the per event memo size limit 149 MemoSizeLimitError = "limit.memoSize.error" 150 // MemoSizeLimitWarn is the per event memo size limit for warning 151 MemoSizeLimitWarn = "limit.memoSize.warn" 152 // NumPendingChildExecutionsLimitError is the maximum number of pending child workflows a workflow can have before 153 // StartChildWorkflowExecution commands will fail. 154 NumPendingChildExecutionsLimitError = "limit.numPendingChildExecutions.error" 155 // NumPendingActivitiesLimitError is the maximum number of pending activities a workflow can have before 156 // ScheduleActivityTask will fail. 157 NumPendingActivitiesLimitError = "limit.numPendingActivities.error" 158 // NumPendingSignalsLimitError is the maximum number of pending signals a workflow can have before 159 // SignalExternalWorkflowExecution commands from this workflow will fail. 160 NumPendingSignalsLimitError = "limit.numPendingSignals.error" 161 // NumPendingCancelRequestsLimitError is the maximum number of pending requests to cancel other workflows a workflow can have before 162 // RequestCancelExternalWorkflowExecution commands will fail. 163 NumPendingCancelRequestsLimitError = "limit.numPendingCancelRequests.error" 164 // HistorySizeLimitError is the per workflow execution history size limit 165 HistorySizeLimitError = "limit.historySize.error" 166 // HistorySizeLimitWarn is the per workflow execution history size limit for warning 167 HistorySizeLimitWarn = "limit.historySize.warn" 168 // HistorySizeSuggestContinueAsNew is the workflow execution history size limit to suggest 169 // continue-as-new (in workflow task started event) 170 HistorySizeSuggestContinueAsNew = "limit.historySize.suggestContinueAsNew" 171 // HistoryCountLimitError is the per workflow execution history event count limit 172 HistoryCountLimitError = "limit.historyCount.error" 173 // HistoryCountLimitWarn is the per workflow execution history event count limit for warning 174 HistoryCountLimitWarn = "limit.historyCount.warn" 175 // MutableStateActivityFailureSizeLimitError is the per activity failure size limit for workflow mutable state. 176 // If exceeded, failure will be truncated before being stored in mutable state. 177 MutableStateActivityFailureSizeLimitError = "limit.mutableStateActivityFailureSize.error" 178 // MutableStateActivityFailureSizeLimitWarn is the per activity failure size warning limit for workflow mutable state 179 MutableStateActivityFailureSizeLimitWarn = "limit.mutableStateActivityFailureSize.warn" 180 // MutableStateSizeLimitError is the per workflow execution mutable state size limit in bytes 181 MutableStateSizeLimitError = "limit.mutableStateSize.error" 182 // MutableStateSizeLimitWarn is the per workflow execution mutable state size limit in bytes for warning 183 MutableStateSizeLimitWarn = "limit.mutableStateSize.warn" 184 // HistoryCountSuggestContinueAsNew is the workflow execution history event count limit to 185 // suggest continue-as-new (in workflow task started event) 186 HistoryCountSuggestContinueAsNew = "limit.historyCount.suggestContinueAsNew" 187 // HistoryMaxPageSize is default max size for GetWorkflowExecutionHistory in one page 188 HistoryMaxPageSize = "limit.historyMaxPageSize" 189 // MaxIDLengthLimit is the length limit for various IDs, including: Namespace, TaskQueue, WorkflowID, ActivityID, TimerID, 190 // WorkflowType, ActivityType, SignalName, MarkerName, ErrorReason/FailureReason/CancelCause, Identity, RequestID 191 MaxIDLengthLimit = "limit.maxIDLength" 192 // WorkerBuildIdSizeLimit is the byte length limit for a worker build id as used in the rpc methods for updating 193 // the version sets for a task queue. 194 // Do not set this to a value higher than 255 for clusters using SQL based persistence due to predefined VARCHAR 195 // column width. 196 WorkerBuildIdSizeLimit = "limit.workerBuildIdSize" 197 // VersionCompatibleSetLimitPerQueue is the max number of compatible sets allowed in the versioning data for a task 198 // queue. Update requests which would cause the versioning data to exceed this number will fail with a 199 // FailedPrecondition error. 200 VersionCompatibleSetLimitPerQueue = "limit.versionCompatibleSetLimitPerQueue" 201 // VersionBuildIdLimitPerQueue is the max number of build IDs allowed to be defined in the versioning data for a 202 // task queue. Update requests which would cause the versioning data to exceed this number will fail with a 203 // FailedPrecondition error. 204 VersionBuildIdLimitPerQueue = "limit.versionBuildIdLimitPerQueue" 205 // ReachabilityTaskQueueScanLimit limits the number of task queues to scan when responding to a 206 // GetWorkerTaskReachability query. 207 ReachabilityTaskQueueScanLimit = "limit.reachabilityTaskQueueScan" 208 // ReachabilityQueryBuildIdLimit limits the number of build ids that can be requested in a single call to the 209 // GetWorkerTaskReachability API. 210 ReachabilityQueryBuildIdLimit = "limit.reachabilityQueryBuildIds" 211 // ReachabilityQuerySetDurationSinceDefault is the minimum period since a version set was demoted from being the 212 // queue default before it is considered unreachable by new workflows. 213 // This setting allows some propogation delay of versioning data for the reachability queries, which may happen for 214 // the following reasons: 215 // 1. There are no workflows currently marked as open in the visibility store but a worker for the demoted version 216 // is currently processing a task. 217 // 2. There are delays in the visibility task processor (which is asynchronous). 218 // 3. There's propagation delay of the versioning data between matching nodes. 219 ReachabilityQuerySetDurationSinceDefault = "frontend.reachabilityQuerySetDurationSinceDefault" 220 // TaskQueuesPerBuildIdLimit limits the number of task queue names that can be mapped to a single build id. 221 TaskQueuesPerBuildIdLimit = "limit.taskQueuesPerBuildId" 222 // RemovableBuildIdDurationSinceDefault is the minimum duration since a build id was last default in its containing 223 // set for it to be considered for removal, used by the build id scavenger. 224 // This setting allows some propogation delay of versioning data, which may happen for the following reasons: 225 // 1. There are no workflows currently marked as open in the visibility store but a worker for the demoted version 226 // is currently processing a task. 227 // 2. There are delays in the visibility task processor (which is asynchronous). 228 // 3. There's propagation delay of the versioning data between matching nodes. 229 RemovableBuildIdDurationSinceDefault = "worker.removableBuildIdDurationSinceDefault" 230 // BuildIdScavengerVisibilityRPS is the rate limit for visibility calls from the build id scavenger 231 BuildIdScavenengerVisibilityRPS = "worker.buildIdScavengerVisibilityRPS" 232 233 // keys for frontend 234 235 // FrontendPersistenceMaxQPS is the max qps frontend host can query DB 236 FrontendPersistenceMaxQPS = "frontend.persistenceMaxQPS" 237 // FrontendPersistenceGlobalMaxQPS is the max qps frontend cluster can query DB 238 FrontendPersistenceGlobalMaxQPS = "frontend.persistenceGlobalMaxQPS" 239 // FrontendPersistenceNamespaceMaxQPS is the max qps each namespace on frontend host can query DB 240 FrontendPersistenceNamespaceMaxQPS = "frontend.persistenceNamespaceMaxQPS" 241 // FrontendPersistenceNamespaceMaxQPS is the max qps each namespace in frontend cluster can query DB 242 FrontendPersistenceGlobalNamespaceMaxQPS = "frontend.persistenceGlobalNamespaceMaxQPS" 243 // FrontendEnablePersistencePriorityRateLimiting indicates if priority rate limiting is enabled in frontend persistence client 244 FrontendEnablePersistencePriorityRateLimiting = "frontend.enablePersistencePriorityRateLimiting" 245 // FrontendPersistenceDynamicRateLimitingParams is a map that contains all adjustable dynamic rate limiting params 246 // see DefaultDynamicRateLimitingParams for available options and defaults 247 FrontendPersistenceDynamicRateLimitingParams = "frontend.persistenceDynamicRateLimitingParams" 248 // FrontendVisibilityMaxPageSize is default max size for ListWorkflowExecutions in one page 249 FrontendVisibilityMaxPageSize = "frontend.visibilityMaxPageSize" 250 // FrontendHistoryMaxPageSize is default max size for GetWorkflowExecutionHistory in one page 251 FrontendHistoryMaxPageSize = "frontend.historyMaxPageSize" 252 // FrontendRPS is workflow rate limit per second per-instance 253 FrontendRPS = "frontend.rps" 254 // FrontendGlobalRPS is workflow rate limit per second for the whole cluster 255 FrontendGlobalRPS = "frontend.globalRPS" 256 // FrontendNamespaceReplicationInducingAPIsRPS limits the per second request rate for namespace replication inducing 257 // APIs (e.g. RegisterNamespace, UpdateNamespace, UpdateWorkerBuildIdCompatibility). 258 // This config is EXPERIMENTAL and may be changed or removed in a later release. 259 FrontendNamespaceReplicationInducingAPIsRPS = "frontend.rps.namespaceReplicationInducingAPIs" 260 // FrontendMaxNamespaceRPSPerInstance is workflow namespace rate limit per second 261 FrontendMaxNamespaceRPSPerInstance = "frontend.namespaceRPS" 262 // FrontendMaxNamespaceBurstPerInstance is workflow namespace burst limit 263 FrontendMaxNamespaceBurstPerInstance = "frontend.namespaceBurst" 264 // FrontendMaxConcurrentLongRunningRequestsPerInstance limits concurrent long-running requests per-instance, 265 // per-API. Example requests include long-poll requests, and `Query` requests (which need to wait for WFTs). The 266 // limit is applied individually to each API method. This value is ignored if 267 // FrontendGlobalMaxConcurrentLongRunningRequests is greater than zero. Warning: setting this to zero will cause all 268 // long-running requests to fail. The name `frontend.namespaceCount` is kept for backwards compatibility with 269 // existing deployments even though it is a bit of a misnomer. This does not limit the number of namespaces; it is a 270 // per-_namespace_ limit on the _count_ of long-running requests. Requests are only throttled when the limit is 271 // exceeded, not when it is only reached. 272 FrontendMaxConcurrentLongRunningRequestsPerInstance = "frontend.namespaceCount" 273 // FrontendGlobalMaxConcurrentLongRunningRequests limits concurrent long-running requests across all frontend 274 // instances in the cluster, for a given namespace, per-API method. If this is set to 0 (the default), then it is 275 // ignored. The name `frontend.globalNamespaceCount` is kept for consistency with the per-instance limit name, 276 // `frontend.namespaceCount`. 277 FrontendGlobalMaxConcurrentLongRunningRequests = "frontend.globalNamespaceCount" 278 // FrontendMaxNamespaceVisibilityRPSPerInstance is namespace rate limit per second for visibility APIs. 279 // This config is EXPERIMENTAL and may be changed or removed in a later release. 280 FrontendMaxNamespaceVisibilityRPSPerInstance = "frontend.namespaceRPS.visibility" 281 // FrontendMaxNamespaceNamespaceReplicationInducingAPIsRPSPerInstance is a per host/per namespace RPS limit for 282 // namespace replication inducing APIs (e.g. RegisterNamespace, UpdateNamespace, UpdateWorkerBuildIdCompatibility). 283 // This config is EXPERIMENTAL and may be changed or removed in a later release. 284 FrontendMaxNamespaceNamespaceReplicationInducingAPIsRPSPerInstance = "frontend.namespaceRPS.namespaceReplicationInducingAPIs" 285 // FrontendMaxNamespaceVisibilityBurstPerInstance is namespace burst limit for visibility APIs. 286 // This config is EXPERIMENTAL and may be changed or removed in a later release. 287 FrontendMaxNamespaceVisibilityBurstPerInstance = "frontend.namespaceBurst.visibility" 288 // FrontendMaxNamespaceNamespaceReplicationInducingAPIsBurstPerInstance is a per host/per namespace burst limit for 289 // namespace replication inducing APIs (e.g. RegisterNamespace, UpdateNamespace, UpdateWorkerBuildIdCompatibility). 290 // This config is EXPERIMENTAL and may be changed or removed in a later release. 291 FrontendMaxNamespaceNamespaceReplicationInducingAPIsBurstPerInstance = "frontend.namespaceBurst.namespaceReplicationInducingAPIs" 292 // FrontendGlobalNamespaceRPS is workflow namespace rate limit per second for the whole cluster. 293 // The limit is evenly distributed among available frontend service instances. 294 // If this is set, it overwrites per instance limit "frontend.namespaceRPS". 295 FrontendGlobalNamespaceRPS = "frontend.globalNamespaceRPS" 296 // InternalFrontendGlobalNamespaceRPS is workflow namespace rate limit per second across 297 // all internal-frontends. 298 InternalFrontendGlobalNamespaceRPS = "internal-frontend.globalNamespaceRPS" 299 // FrontendGlobalNamespaceVisibilityRPS is workflow namespace rate limit per second for the whole cluster for visibility API. 300 // The limit is evenly distributed among available frontend service instances. 301 // If this is set, it overwrites per instance limit "frontend.namespaceRPS.visibility". 302 // This config is EXPERIMENTAL and may be changed or removed in a later release. 303 FrontendGlobalNamespaceVisibilityRPS = "frontend.globalNamespaceRPS.visibility" 304 // FrontendGlobalNamespaceNamespaceReplicationInducingAPIsRPS is a cluster global, per namespace RPS limit for 305 // namespace replication inducing APIs (e.g. RegisterNamespace, UpdateNamespace, UpdateWorkerBuildIdCompatibility). 306 // The limit is evenly distributed among available frontend service instances. 307 // If this is set, it overwrites the per instance limit configured with 308 // "frontend.namespaceRPS.namespaceReplicationInducingAPIs". 309 // This config is EXPERIMENTAL and may be changed or removed in a later release. 310 FrontendGlobalNamespaceNamespaceReplicationInducingAPIsRPS = "frontend.globalNamespaceRPS.namespaceReplicationInducingAPIs" 311 // InternalFrontendGlobalNamespaceVisibilityRPS is workflow namespace rate limit per second 312 // across all internal-frontends. 313 // This config is EXPERIMENTAL and may be changed or removed in a later release. 314 InternalFrontendGlobalNamespaceVisibilityRPS = "internal-frontend.globalNamespaceRPS.visibility" 315 // FrontendThrottledLogRPS is the rate limit on number of log messages emitted per second for throttled logger 316 FrontendThrottledLogRPS = "frontend.throttledLogRPS" 317 // FrontendShutdownDrainDuration is the duration of traffic drain during shutdown 318 FrontendShutdownDrainDuration = "frontend.shutdownDrainDuration" 319 // FrontendShutdownFailHealthCheckDuration is the duration of shutdown failure detection 320 FrontendShutdownFailHealthCheckDuration = "frontend.shutdownFailHealthCheckDuration" 321 // FrontendMaxBadBinaries is the max number of bad binaries in namespace config 322 FrontendMaxBadBinaries = "frontend.maxBadBinaries" 323 // SendRawWorkflowHistory is whether to enable raw history retrieving 324 SendRawWorkflowHistory = "frontend.sendRawWorkflowHistory" 325 // SearchAttributesNumberOfKeysLimit is the limit of number of keys 326 SearchAttributesNumberOfKeysLimit = "frontend.searchAttributesNumberOfKeysLimit" 327 // SearchAttributesSizeOfValueLimit is the size limit of each value 328 SearchAttributesSizeOfValueLimit = "frontend.searchAttributesSizeOfValueLimit" 329 // SearchAttributesTotalSizeLimit is the size limit of the whole map 330 SearchAttributesTotalSizeLimit = "frontend.searchAttributesTotalSizeLimit" 331 // VisibilityArchivalQueryMaxPageSize is the maximum page size for a visibility archival query 332 VisibilityArchivalQueryMaxPageSize = "frontend.visibilityArchivalQueryMaxPageSize" 333 // EnableServerVersionCheck is a flag that controls whether or not periodic version checking is enabled 334 EnableServerVersionCheck = "frontend.enableServerVersionCheck" 335 // EnableTokenNamespaceEnforcement enables enforcement that namespace in completion token matches namespace of the request 336 EnableTokenNamespaceEnforcement = "frontend.enableTokenNamespaceEnforcement" 337 // DisableListVisibilityByFilter is config to disable list open/close workflow using filter 338 DisableListVisibilityByFilter = "frontend.disableListVisibilityByFilter" 339 // KeepAliveMinTime is the minimum amount of time a client should wait before sending a keepalive ping. 340 KeepAliveMinTime = "frontend.keepAliveMinTime" 341 // KeepAlivePermitWithoutStream If true, server allows keepalive pings even when there are no active 342 // streams(RPCs). If false, and client sends ping when there are no active 343 // streams, server will send GOAWAY and close the connection. 344 KeepAlivePermitWithoutStream = "frontend.keepAlivePermitWithoutStream" 345 // KeepAliveMaxConnectionIdle is a duration for the amount of time after which an 346 // idle connection would be closed by sending a GoAway. Idleness duration is 347 // defined since the most recent time the number of outstanding RPCs became 348 // zero or the connection establishment. 349 KeepAliveMaxConnectionIdle = "frontend.keepAliveMaxConnectionIdle" 350 // KeepAliveMaxConnectionAge is a duration for the maximum amount of time a 351 // connection may exist before it will be closed by sending a GoAway. A 352 // random jitter of +/-10% will be added to MaxConnectionAge to spread out 353 // connection storms. 354 KeepAliveMaxConnectionAge = "frontend.keepAliveMaxConnectionAge" 355 // KeepAliveMaxConnectionAgeGrace is an additive period after MaxConnectionAge after 356 // which the connection will be forcibly closed. 357 KeepAliveMaxConnectionAgeGrace = "frontend.keepAliveMaxConnectionAgeGrace" 358 // KeepAliveTime After a duration of this time if the server doesn't see any activity it 359 // pings the client to see if the transport is still alive. 360 // If set below 1s, a minimum value of 1s will be used instead. 361 KeepAliveTime = "frontend.keepAliveTime" 362 // KeepAliveTimeout After having pinged for keepalive check, the server waits for a duration 363 // of Timeout and if no activity is seen even after that the connection is closed. 364 KeepAliveTimeout = "frontend.keepAliveTimeout" 365 // FrontendEnableSchedules enables schedule-related RPCs in the frontend 366 FrontendEnableSchedules = "frontend.enableSchedules" 367 // FrontendMaxConcurrentBatchOperationPerNamespace is the max concurrent batch operation job count per namespace 368 FrontendMaxConcurrentBatchOperationPerNamespace = "frontend.MaxConcurrentBatchOperationPerNamespace" 369 // FrontendMaxExecutionCountBatchOperationPerNamespace is the max execution count batch operation supports per namespace 370 FrontendMaxExecutionCountBatchOperationPerNamespace = "frontend.MaxExecutionCountBatchOperationPerNamespace" 371 // FrontendEnableBatcher enables batcher-related RPCs in the frontend 372 FrontendEnableBatcher = "frontend.enableBatcher" 373 // FrontendAccessHistoryFraction (0.0~1.0) is the fraction of history operations that are sent to the history 374 // service using the new RPCs. The remaining access history via the existing implementation. 375 // TODO: remove once migration completes. 376 FrontendAccessHistoryFraction = "frontend.accessHistoryFraction" 377 // FrontendAdminDeleteAccessHistoryFraction (0.0~1.0) is the fraction of admin DeleteWorkflowExecution requests 378 // that are sent to the history service using the new RPCs. The remaining access history via the existing implementation. 379 // TODO: remove once migration completes. 380 FrontendAdminDeleteAccessHistoryFraction = "frontend.adminDeleteAccessHistoryFraction" 381 382 // FrontendEnableUpdateWorkflowExecution enables UpdateWorkflowExecution API in the frontend. 383 // The UpdateWorkflowExecution API has gone through rigorous testing efforts but this config's default is `false` until the 384 // feature gets more time in production. 385 FrontendEnableUpdateWorkflowExecution = "frontend.enableUpdateWorkflowExecution" 386 387 // FrontendEnableUpdateWorkflowExecutionAsyncAccepted enables the form of 388 // asynchronous workflow execution update that waits on the "Accepted" 389 // lifecycle stage. Default value is `false`. 390 FrontendEnableUpdateWorkflowExecutionAsyncAccepted = "frontend.enableUpdateWorkflowExecutionAsyncAccepted" 391 392 // FrontendEnableWorkerVersioningDataAPIs enables worker versioning data read / write APIs. 393 FrontendEnableWorkerVersioningDataAPIs = "frontend.workerVersioningDataAPIs" 394 // FrontendEnableWorkerVersioningWorkflowAPIs enables worker versioning in workflow progress APIs. 395 FrontendEnableWorkerVersioningWorkflowAPIs = "frontend.workerVersioningWorkflowAPIs" 396 397 // DeleteNamespaceDeleteActivityRPS is an RPS per every parallel delete executions activity. 398 // Total RPS is equal to DeleteNamespaceDeleteActivityRPS * DeleteNamespaceConcurrentDeleteExecutionsActivities. 399 // Default value is 100. 400 DeleteNamespaceDeleteActivityRPS = "frontend.deleteNamespaceDeleteActivityRPS" 401 // DeleteNamespacePageSize is a page size to read executions from visibility for delete executions activity. 402 // Default value is 1000. 403 DeleteNamespacePageSize = "frontend.deleteNamespaceDeletePageSize" 404 // DeleteNamespacePagesPerExecution is a number of pages before returning ContinueAsNew from delete executions activity. 405 // Default value is 256. 406 DeleteNamespacePagesPerExecution = "frontend.deleteNamespacePagesPerExecution" 407 // DeleteNamespaceConcurrentDeleteExecutionsActivities is a number of concurrent delete executions activities. 408 // Must be not greater than 256 and number of worker cores in the cluster. 409 // Default is 4. 410 DeleteNamespaceConcurrentDeleteExecutionsActivities = "frontend.deleteNamespaceConcurrentDeleteExecutionsActivities" 411 // DeleteNamespaceNamespaceDeleteDelay is a duration for how long namespace stays in database 412 // after all namespace resources (i.e. workflow executions) are deleted. 413 // Default is 0, means, namespace will be deleted immediately. 414 DeleteNamespaceNamespaceDeleteDelay = "frontend.deleteNamespaceNamespaceDeleteDelay" 415 416 // keys for matching 417 418 // MatchingRPS is request rate per second for each matching host 419 MatchingRPS = "matching.rps" 420 // MatchingPersistenceMaxQPS is the max qps matching host can query DB 421 MatchingPersistenceMaxQPS = "matching.persistenceMaxQPS" 422 // MatchingPersistenceGlobalMaxQPS is the max qps matching cluster can query DB 423 MatchingPersistenceGlobalMaxQPS = "matching.persistenceGlobalMaxQPS" 424 // MatchingPersistenceNamespaceMaxQPS is the max qps each namespace on matching host can query DB 425 MatchingPersistenceNamespaceMaxQPS = "matching.persistenceNamespaceMaxQPS" 426 // MatchingPersistenceNamespaceMaxQPS is the max qps each namespace in matching cluster can query DB 427 MatchingPersistenceGlobalNamespaceMaxQPS = "matching.persistenceGlobalNamespaceMaxQPS" 428 // MatchingEnablePersistencePriorityRateLimiting indicates if priority rate limiting is enabled in matching persistence client 429 MatchingEnablePersistencePriorityRateLimiting = "matching.enablePersistencePriorityRateLimiting" 430 // MatchingPersistenceDynamicRateLimitingParams is a map that contains all adjustable dynamic rate limiting params 431 // see DefaultDynamicRateLimitingParams for available options and defaults 432 MatchingPersistenceDynamicRateLimitingParams = "matching.persistenceDynamicRateLimitingParams" 433 // MatchingMinTaskThrottlingBurstSize is the minimum burst size for task queue throttling 434 MatchingMinTaskThrottlingBurstSize = "matching.minTaskThrottlingBurstSize" 435 // MatchingGetTasksBatchSize is the maximum batch size to fetch from the task buffer 436 MatchingGetTasksBatchSize = "matching.getTasksBatchSize" 437 // MatchingLongPollExpirationInterval is the long poll expiration interval in the matching service 438 MatchingLongPollExpirationInterval = "matching.longPollExpirationInterval" 439 // MatchingSyncMatchWaitDuration is to wait time for sync match 440 MatchingSyncMatchWaitDuration = "matching.syncMatchWaitDuration" 441 // MatchingHistoryMaxPageSize is the maximum page size of history events returned on PollWorkflowTaskQueue requests 442 MatchingHistoryMaxPageSize = "matching.historyMaxPageSize" 443 // MatchingLoadUserData can be used to entirely disable loading user data from persistence (and the inter node RPCs 444 // that propoagate it). When turned off, features that rely on user data (e.g. worker versioning) will essentially 445 // be disabled. When disabled, matching will drop tasks for versioned workflows and activities to avoid breaking 446 // versioning semantics. Operator intervention will be required to reschedule the dropped tasks. 447 MatchingLoadUserData = "matching.loadUserData" 448 // MatchingUpdateAckInterval is the interval for update ack 449 MatchingUpdateAckInterval = "matching.updateAckInterval" 450 // MatchingMaxTaskQueueIdleTime is the time after which an idle task queue will be unloaded. 451 // Note: this should be greater than matching.longPollExpirationInterval and matching.getUserDataLongPollTimeout. 452 MatchingMaxTaskQueueIdleTime = "matching.maxTaskQueueIdleTime" 453 // MatchingOutstandingTaskAppendsThreshold is the threshold for outstanding task appends 454 MatchingOutstandingTaskAppendsThreshold = "matching.outstandingTaskAppendsThreshold" 455 // MatchingMaxTaskBatchSize is max batch size for task writer 456 MatchingMaxTaskBatchSize = "matching.maxTaskBatchSize" 457 // MatchingMaxTaskDeleteBatchSize is the max batch size for range deletion of tasks 458 MatchingMaxTaskDeleteBatchSize = "matching.maxTaskDeleteBatchSize" 459 // MatchingThrottledLogRPS is the rate limit on number of log messages emitted per second for throttled logger 460 MatchingThrottledLogRPS = "matching.throttledLogRPS" 461 // MatchingNumTaskqueueWritePartitions is the number of write partitions for a task queue 462 MatchingNumTaskqueueWritePartitions = "matching.numTaskqueueWritePartitions" 463 // MatchingNumTaskqueueReadPartitions is the number of read partitions for a task queue 464 MatchingNumTaskqueueReadPartitions = "matching.numTaskqueueReadPartitions" 465 // MatchingForwarderMaxOutstandingPolls is the max number of inflight polls from the forwarder 466 MatchingForwarderMaxOutstandingPolls = "matching.forwarderMaxOutstandingPolls" 467 // MatchingForwarderMaxOutstandingTasks is the max number of inflight addTask/queryTask from the forwarder 468 MatchingForwarderMaxOutstandingTasks = "matching.forwarderMaxOutstandingTasks" 469 // MatchingForwarderMaxRatePerSecond is the max rate at which add/query can be forwarded 470 MatchingForwarderMaxRatePerSecond = "matching.forwarderMaxRatePerSecond" 471 // MatchingForwarderMaxChildrenPerNode is the max number of children per node in the task queue partition tree 472 MatchingForwarderMaxChildrenPerNode = "matching.forwarderMaxChildrenPerNode" 473 // MatchingShutdownDrainDuration is the duration of traffic drain during shutdown 474 MatchingShutdownDrainDuration = "matching.shutdownDrainDuration" 475 // MatchingGetUserDataLongPollTimeout is the max length of long polls for GetUserData calls between partitions. 476 MatchingGetUserDataLongPollTimeout = "matching.getUserDataLongPollTimeout" 477 // MatchingBacklogNegligibleAge if the head of backlog gets older than this we stop sync match and 478 // forwarding to ensure more equal dispatch order among partitions. 479 MatchingBacklogNegligibleAge = "matching.backlogNegligibleAge" 480 // MatchingMaxWaitForPollerBeforeFwd in presence of a non-negligible backlog, we resume forwarding tasks if the 481 // duration since last poll exceeds this threshold. 482 MatchingMaxWaitForPollerBeforeFwd = "matching.maxWaitForPollerBeforeFwd" 483 484 // for matching testing only: 485 486 // TestMatchingDisableSyncMatch forces tasks to go through the db once 487 TestMatchingDisableSyncMatch = "test.matching.disableSyncMatch" 488 // TestMatchingLBForceReadPartition forces polls to go to a specific partition 489 TestMatchingLBForceReadPartition = "test.matching.lbForceReadPartition" 490 // TestMatchingLBForceWritePartition forces adds to go to a specific partition 491 TestMatchingLBForceWritePartition = "test.matching.lbForceWritePartition" 492 493 // keys for history 494 495 // EnableReplicationStream turn on replication stream 496 EnableReplicationStream = "history.enableReplicationStream" 497 // EnableHistoryReplicationDLQV2 switches to the DLQ v2 implementation for history replication. See details in 498 // [go.temporal.io/server/common/persistence.QueueV2]. This feature is currently in development. Do NOT use it in 499 // production. 500 EnableHistoryReplicationDLQV2 = "history.enableHistoryReplicationDLQV2" 501 502 // HistoryRPS is request rate per second for each history host 503 HistoryRPS = "history.rps" 504 // HistoryPersistenceMaxQPS is the max qps history host can query DB 505 HistoryPersistenceMaxQPS = "history.persistenceMaxQPS" 506 // HistoryPersistenceGlobalMaxQPS is the max qps history cluster can query DB 507 HistoryPersistenceGlobalMaxQPS = "history.persistenceGlobalMaxQPS" 508 // HistoryPersistenceNamespaceMaxQPS is the max qps each namespace on history host can query DB 509 // If value less or equal to 0, will fall back to HistoryPersistenceMaxQPS 510 HistoryPersistenceNamespaceMaxQPS = "history.persistenceNamespaceMaxQPS" 511 // HistoryPersistenceNamespaceMaxQPS is the max qps each namespace in history cluster can query DB 512 HistoryPersistenceGlobalNamespaceMaxQPS = "history.persistenceGlobalNamespaceMaxQPS" 513 // HistoryPersistencePerShardNamespaceMaxQPS is the max qps each namespace on a shard can query DB 514 HistoryPersistencePerShardNamespaceMaxQPS = "history.persistencePerShardNamespaceMaxQPS" 515 // HistoryEnablePersistencePriorityRateLimiting indicates if priority rate limiting is enabled in history persistence client 516 HistoryEnablePersistencePriorityRateLimiting = "history.enablePersistencePriorityRateLimiting" 517 // HistoryPersistenceDynamicRateLimitingParams is a map that contains all adjustable dynamic rate limiting params 518 // see DefaultDynamicRateLimitingParams for available options and defaults 519 HistoryPersistenceDynamicRateLimitingParams = "history.persistenceDynamicRateLimitingParams" 520 // HistoryLongPollExpirationInterval is the long poll expiration interval in the history service 521 HistoryLongPollExpirationInterval = "history.longPollExpirationInterval" 522 // HistoryCacheInitialSize is initial size of history cache 523 HistoryCacheInitialSize = "history.cacheInitialSize" 524 // HistoryCacheMaxSize is max size of history cache 525 HistoryCacheMaxSize = "history.cacheMaxSize" 526 // HistoryCacheTTL is TTL of history cache 527 HistoryCacheTTL = "history.cacheTTL" 528 // HistoryCacheNonUserContextLockTimeout controls how long non-user call (callerType != API or Operator) 529 // will wait on workflow lock acquisition. Requires service restart to take effect. 530 HistoryCacheNonUserContextLockTimeout = "history.cacheNonUserContextLockTimeout" 531 // EnableHostHistoryCache controls if the history cache is host level 532 EnableHostHistoryCache = "history.enableHostHistoryCache" 533 // HistoryCacheHostLevelMaxSize is max size of history host level cache 534 HistoryCacheHostLevelMaxSize = "history.hostLevelCacheMaxSize" 535 // EnableAPIGetCurrentRunIDLock controls if a lock should be acquired before getting current run ID for API requests 536 EnableAPIGetCurrentRunIDLock = "history.enableAPIGetCurrentRunIDLock" 537 // HistoryStartupMembershipJoinDelay is the duration a history instance waits 538 // before joining membership after starting. 539 HistoryStartupMembershipJoinDelay = "history.startupMembershipJoinDelay" 540 // HistoryShutdownDrainDuration is the duration of traffic drain during shutdown 541 HistoryShutdownDrainDuration = "history.shutdownDrainDuration" 542 // XDCCacheMaxSizeBytes is max size of events cache in bytes 543 XDCCacheMaxSizeBytes = "history.xdcCacheMaxSizeBytes" 544 // EventsCacheMaxSizeBytes is max size of events cache in bytes 545 EventsCacheMaxSizeBytes = "history.eventsCacheMaxSizeBytes" 546 // EventsCacheTTL is TTL of events cache 547 EventsCacheTTL = "history.eventsCacheTTL" 548 // AcquireShardInterval is interval that timer used to acquire shard 549 AcquireShardInterval = "history.acquireShardInterval" 550 // AcquireShardConcurrency is number of goroutines that can be used to acquire shards in the shard controller. 551 AcquireShardConcurrency = "history.acquireShardConcurrency" 552 // ShardLingerOwnershipCheckQPS is the frequency to perform shard ownership 553 // checks while a shard is lingering. 554 ShardLingerOwnershipCheckQPS = "history.shardLingerOwnershipCheckQPS" 555 // ShardLingerTimeLimit configures if and for how long the shard controller 556 // will temporarily delay closing shards after a membership update, awaiting a 557 // shard ownership lost error from persistence. Not recommended with 558 // persistence layers that are missing AssertShardOwnership support. 559 // If set to zero, shards will not delay closing. 560 ShardLingerTimeLimit = "history.shardLingerTimeLimit" 561 // ShardOwnershipAssertionEnabled configures if the shard ownership is asserted 562 // for API requests when a NotFound or NamespaceNotFound error is returned from 563 // persistence. 564 // NOTE: Shard ownership assertion is not implemented by any persistence implementation 565 // in this codebase, because assertion is not needed for persistence implementation 566 // that guarantees read after write consistency. As a result, even if this config is 567 // enabled, it's a no-op. 568 ShardOwnershipAssertionEnabled = "history.shardOwnershipAssertionEnabled" 569 // HistoryClientOwnershipCachingEnabled configures if history clients try to cache 570 // shard ownership information, instead of checking membership for each request. 571 // Only inspected when an instance first creates a history client, so changes 572 // to this require a restart to take effect. 573 HistoryClientOwnershipCachingEnabled = "history.clientOwnershipCachingEnabled" 574 // ShardIOConcurrency controls the concurrency of persistence operations in shard context 575 ShardIOConcurrency = "history.shardIOConcurrency" 576 // StandbyClusterDelay is the artificial delay added to standby cluster's view of active cluster's time 577 StandbyClusterDelay = "history.standbyClusterDelay" 578 // StandbyTaskMissingEventsResendDelay is the amount of time standby cluster's will wait (if events are missing) 579 // before calling remote for missing events 580 StandbyTaskMissingEventsResendDelay = "history.standbyTaskMissingEventsResendDelay" 581 // StandbyTaskMissingEventsDiscardDelay is the amount of time standby cluster's will wait (if events are missing) 582 // before discarding the task 583 StandbyTaskMissingEventsDiscardDelay = "history.standbyTaskMissingEventsDiscardDelay" 584 // QueuePendingTaskCriticalCount is the max number of pending task in one queue 585 // before triggering queue slice splitting and unloading 586 QueuePendingTaskCriticalCount = "history.queuePendingTaskCriticalCount" 587 // QueueReaderStuckCriticalAttempts is the max number of task loading attempts for a certain task range 588 // before that task range is split into a separate slice to unblock loading for later range. 589 // currently only work for scheduled queues and the task range is 1s. 590 QueueReaderStuckCriticalAttempts = "history.queueReaderStuckCriticalAttempts" 591 // QueueCriticalSlicesCount is the max number of slices in one queue 592 // before force compacting slices 593 QueueCriticalSlicesCount = "history.queueCriticalSlicesCount" 594 // QueuePendingTaskMaxCount is the max number of task pending tasks in one queue before stop 595 // loading new tasks into memory. While QueuePendingTaskCriticalCount won't stop task loading 596 // for the entire queue but only trigger a queue action to unload tasks. Ideally this max count 597 // limit should not be hit and task unloading should happen once critical count is exceeded. But 598 // since queue action is async, we need this hard limit. 599 QueuePendingTaskMaxCount = "history.queuePendingTasksMaxCount" 600 // QueueMaxReaderCount is the max number of readers in one multi-cursor queue 601 QueueMaxReaderCount = "history.queueMaxReaderCount" 602 // ContinueAsNewMinInterval is the minimal interval between continue_as_new executions. 603 // This is needed to prevent tight loop continue_as_new spin. Default is 1s. 604 ContinueAsNewMinInterval = "history.continueAsNewMinInterval" 605 606 // TaskSchedulerEnableRateLimiter indicates if task scheduler rate limiter should be enabled 607 TaskSchedulerEnableRateLimiter = "history.taskSchedulerEnableRateLimiter" 608 // TaskSchedulerEnableRateLimiterShadowMode indicates if task scheduler rate limiter should run in shadow mode 609 // i.e. through rate limiter and emit metrics but do not actually block/throttle task scheduling 610 TaskSchedulerEnableRateLimiterShadowMode = "history.taskSchedulerEnableRateLimiterShadowMode" 611 // TaskSchedulerRateLimiterStartupDelay is the duration to wait after startup before enforcing task scheduler rate limiting 612 TaskSchedulerRateLimiterStartupDelay = "history.taskSchedulerRateLimiterStartupDelay" 613 // TaskSchedulerGlobalMaxQPS is the max qps all task schedulers in the cluster can schedule tasks 614 // If value less or equal to 0, will fall back to TaskSchedulerMaxQPS 615 TaskSchedulerGlobalMaxQPS = "history.taskSchedulerGlobalMaxQPS" 616 // TaskSchedulerMaxQPS is the max qps task schedulers on a host can schedule tasks 617 // If value less or equal to 0, will fall back to HistoryPersistenceMaxQPS 618 TaskSchedulerMaxQPS = "history.taskSchedulerMaxQPS" 619 // TaskSchedulerGlobalNamespaceMaxQPS is the max qps all task schedulers in the cluster can schedule tasks for a certain namespace 620 // If value less or equal to 0, will fall back to TaskSchedulerNamespaceMaxQPS 621 TaskSchedulerGlobalNamespaceMaxQPS = "history.taskSchedulerGlobalNamespaceMaxQPS" 622 // TaskSchedulerNamespaceMaxQPS is the max qps task schedulers on a host can schedule tasks for a certain namespace 623 // If value less or equal to 0, will fall back to HistoryPersistenceNamespaceMaxQPS 624 TaskSchedulerNamespaceMaxQPS = "history.taskSchedulerNamespaceMaxQPS" 625 626 // TimerTaskBatchSize is batch size for timer processor to process tasks 627 TimerTaskBatchSize = "history.timerTaskBatchSize" 628 // TimerProcessorSchedulerWorkerCount is the number of workers in the host level task scheduler for timer processor 629 TimerProcessorSchedulerWorkerCount = "history.timerProcessorSchedulerWorkerCount" 630 // TimerProcessorSchedulerActiveRoundRobinWeights is the priority round robin weights used by timer task scheduler for active namespaces 631 TimerProcessorSchedulerActiveRoundRobinWeights = "history.timerProcessorSchedulerActiveRoundRobinWeights" 632 // TimerProcessorSchedulerStandbyRoundRobinWeights is the priority round robin weights used by timer task scheduler for standby namespaces 633 TimerProcessorSchedulerStandbyRoundRobinWeights = "history.timerProcessorSchedulerStandbyRoundRobinWeights" 634 // TimerProcessorUpdateAckInterval is update interval for timer processor 635 TimerProcessorUpdateAckInterval = "history.timerProcessorUpdateAckInterval" 636 // TimerProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient 637 TimerProcessorUpdateAckIntervalJitterCoefficient = "history.timerProcessorUpdateAckIntervalJitterCoefficient" 638 // TimerProcessorCompleteTimerInterval is complete timer interval for timer processor 639 TimerProcessorCompleteTimerInterval = "history.timerProcessorCompleteTimerInterval" 640 // TimerProcessorFailoverMaxPollRPS is max poll rate per second for timer processor 641 TimerProcessorFailoverMaxPollRPS = "history.timerProcessorFailoverMaxPollRPS" 642 // TimerProcessorMaxPollRPS is max poll rate per second for timer processor 643 TimerProcessorMaxPollRPS = "history.timerProcessorMaxPollRPS" 644 // TimerProcessorMaxPollHostRPS is max poll rate per second for all timer processor on a host 645 TimerProcessorMaxPollHostRPS = "history.timerProcessorMaxPollHostRPS" 646 // TimerProcessorMaxPollInterval is max poll interval for timer processor 647 TimerProcessorMaxPollInterval = "history.timerProcessorMaxPollInterval" 648 // TimerProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient 649 TimerProcessorMaxPollIntervalJitterCoefficient = "history.timerProcessorMaxPollIntervalJitterCoefficient" 650 // TimerProcessorPollBackoffInterval is the poll backoff interval if task redispatcher's size exceeds limit for timer processor 651 TimerProcessorPollBackoffInterval = "history.timerProcessorPollBackoffInterval" 652 // TimerProcessorMaxTimeShift is the max shift timer processor can have 653 TimerProcessorMaxTimeShift = "history.timerProcessorMaxTimeShift" 654 // RetentionTimerJitterDuration is a time duration jitter to distribute timer from T0 to T0 + jitter duration 655 RetentionTimerJitterDuration = "history.retentionTimerJitterDuration" 656 657 // MemoryTimerProcessorSchedulerWorkerCount is the number of workers in the task scheduler for in memory timer processor. 658 MemoryTimerProcessorSchedulerWorkerCount = "history.memoryTimerProcessorSchedulerWorkerCount" 659 660 // TransferTaskBatchSize is batch size for transferQueueProcessor 661 TransferTaskBatchSize = "history.transferTaskBatchSize" 662 // TransferProcessorFailoverMaxPollRPS is max poll rate per second for transferQueueProcessor 663 TransferProcessorFailoverMaxPollRPS = "history.transferProcessorFailoverMaxPollRPS" 664 // TransferProcessorMaxPollRPS is max poll rate per second for transferQueueProcessor 665 TransferProcessorMaxPollRPS = "history.transferProcessorMaxPollRPS" 666 // TransferProcessorMaxPollHostRPS is max poll rate per second for all transferQueueProcessor on a host 667 TransferProcessorMaxPollHostRPS = "history.transferProcessorMaxPollHostRPS" 668 // TransferProcessorSchedulerWorkerCount is the number of workers in the host level task scheduler for transferQueueProcessor 669 TransferProcessorSchedulerWorkerCount = "history.transferProcessorSchedulerWorkerCount" 670 // TransferProcessorSchedulerActiveRoundRobinWeights is the priority round robin weights used by transfer task scheduler for active namespaces 671 TransferProcessorSchedulerActiveRoundRobinWeights = "history.transferProcessorSchedulerActiveRoundRobinWeights" 672 // TransferProcessorSchedulerStandbyRoundRobinWeights is the priority round robin weights used by transfer task scheduler for standby namespaces 673 TransferProcessorSchedulerStandbyRoundRobinWeights = "history.transferProcessorSchedulerStandbyRoundRobinWeights" 674 // TransferProcessorUpdateShardTaskCount is update shard count for transferQueueProcessor 675 TransferProcessorUpdateShardTaskCount = "history.transferProcessorUpdateShardTaskCount" 676 // TransferProcessorMaxPollInterval max poll interval for transferQueueProcessor 677 TransferProcessorMaxPollInterval = "history.transferProcessorMaxPollInterval" 678 // TransferProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient 679 TransferProcessorMaxPollIntervalJitterCoefficient = "history.transferProcessorMaxPollIntervalJitterCoefficient" 680 // TransferProcessorUpdateAckInterval is update interval for transferQueueProcessor 681 TransferProcessorUpdateAckInterval = "history.transferProcessorUpdateAckInterval" 682 // TransferProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient 683 TransferProcessorUpdateAckIntervalJitterCoefficient = "history.transferProcessorUpdateAckIntervalJitterCoefficient" 684 // TransferProcessorCompleteTransferInterval is complete timer interval for transferQueueProcessor 685 TransferProcessorCompleteTransferInterval = "history.transferProcessorCompleteTransferInterval" 686 // TransferProcessorPollBackoffInterval is the poll backoff interval if task redispatcher's size exceeds limit for transferQueueProcessor 687 TransferProcessorPollBackoffInterval = "history.transferProcessorPollBackoffInterval" 688 // TransferProcessorEnsureCloseBeforeDelete means we ensure the execution is closed before we delete it 689 TransferProcessorEnsureCloseBeforeDelete = "history.transferProcessorEnsureCloseBeforeDelete" 690 691 // VisibilityTaskBatchSize is batch size for visibilityQueueProcessor 692 VisibilityTaskBatchSize = "history.visibilityTaskBatchSize" 693 // VisibilityProcessorMaxPollRPS is max poll rate per second for visibilityQueueProcessor 694 VisibilityProcessorMaxPollRPS = "history.visibilityProcessorMaxPollRPS" 695 // VisibilityProcessorMaxPollHostRPS is max poll rate per second for all visibilityQueueProcessor on a host 696 VisibilityProcessorMaxPollHostRPS = "history.visibilityProcessorMaxPollHostRPS" 697 // VisibilityProcessorSchedulerWorkerCount is the number of workers in the host level task scheduler for visibilityQueueProcessor 698 VisibilityProcessorSchedulerWorkerCount = "history.visibilityProcessorSchedulerWorkerCount" 699 // VisibilityProcessorSchedulerActiveRoundRobinWeights is the priority round robin weights by visibility task scheduler for active namespaces 700 VisibilityProcessorSchedulerActiveRoundRobinWeights = "history.visibilityProcessorSchedulerActiveRoundRobinWeights" 701 // VisibilityProcessorSchedulerStandbyRoundRobinWeights is the priority round robin weights by visibility task scheduler for standby namespaces 702 VisibilityProcessorSchedulerStandbyRoundRobinWeights = "history.visibilityProcessorSchedulerStandbyRoundRobinWeights" 703 // VisibilityProcessorMaxPollInterval max poll interval for visibilityQueueProcessor 704 VisibilityProcessorMaxPollInterval = "history.visibilityProcessorMaxPollInterval" 705 // VisibilityProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient 706 VisibilityProcessorMaxPollIntervalJitterCoefficient = "history.visibilityProcessorMaxPollIntervalJitterCoefficient" 707 // VisibilityProcessorUpdateAckInterval is update interval for visibilityQueueProcessor 708 VisibilityProcessorUpdateAckInterval = "history.visibilityProcessorUpdateAckInterval" 709 // VisibilityProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient 710 VisibilityProcessorUpdateAckIntervalJitterCoefficient = "history.visibilityProcessorUpdateAckIntervalJitterCoefficient" 711 // VisibilityProcessorCompleteTaskInterval is complete timer interval for visibilityQueueProcessor 712 VisibilityProcessorCompleteTaskInterval = "history.visibilityProcessorCompleteTaskInterval" 713 // VisibilityProcessorPollBackoffInterval is the poll backoff interval if task redispatcher's size exceeds limit for visibilityQueueProcessor 714 VisibilityProcessorPollBackoffInterval = "history.visibilityProcessorPollBackoffInterval" 715 // VisibilityProcessorEnsureCloseBeforeDelete means we ensure the visibility of an execution is closed before we delete its visibility records 716 VisibilityProcessorEnsureCloseBeforeDelete = "history.visibilityProcessorEnsureCloseBeforeDelete" 717 // VisibilityProcessorEnableCloseWorkflowCleanup to clean up the mutable state after visibility 718 // close task has been processed. Must use Elasticsearch as visibility store, otherwise workflow 719 // data (eg: search attributes) will be lost after workflow is closed. 720 VisibilityProcessorEnableCloseWorkflowCleanup = "history.visibilityProcessorEnableCloseWorkflowCleanup" 721 722 // ArchivalTaskBatchSize is batch size for archivalQueueProcessor 723 ArchivalTaskBatchSize = "history.archivalTaskBatchSize" 724 // ArchivalProcessorMaxPollRPS is max poll rate per second for archivalQueueProcessor 725 ArchivalProcessorMaxPollRPS = "history.archivalProcessorMaxPollRPS" 726 // ArchivalProcessorMaxPollHostRPS is max poll rate per second for all archivalQueueProcessor on a host 727 ArchivalProcessorMaxPollHostRPS = "history.archivalProcessorMaxPollHostRPS" 728 // ArchivalProcessorSchedulerWorkerCount is the number of workers in the host level task scheduler for 729 // archivalQueueProcessor 730 ArchivalProcessorSchedulerWorkerCount = "history.archivalProcessorSchedulerWorkerCount" 731 // ArchivalProcessorMaxPollInterval max poll interval for archivalQueueProcessor 732 ArchivalProcessorMaxPollInterval = "history.archivalProcessorMaxPollInterval" 733 // ArchivalProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient 734 ArchivalProcessorMaxPollIntervalJitterCoefficient = "history.archivalProcessorMaxPollIntervalJitterCoefficient" 735 // ArchivalProcessorUpdateAckInterval is update interval for archivalQueueProcessor 736 ArchivalProcessorUpdateAckInterval = "history.archivalProcessorUpdateAckInterval" 737 // ArchivalProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient 738 ArchivalProcessorUpdateAckIntervalJitterCoefficient = "history.archivalProcessorUpdateAckIntervalJitterCoefficient" 739 // ArchivalProcessorPollBackoffInterval is the poll backoff interval if task redispatcher's size exceeds limit for 740 // archivalQueueProcessor 741 ArchivalProcessorPollBackoffInterval = "history.archivalProcessorPollBackoffInterval" 742 // ArchivalProcessorArchiveDelay is the delay before archivalQueueProcessor starts to process archival tasks 743 ArchivalProcessorArchiveDelay = "history.archivalProcessorArchiveDelay" 744 // ArchivalBackendMaxRPS is the maximum rate of requests per second to the archival backend 745 ArchivalBackendMaxRPS = "history.archivalBackendMaxRPS" 746 747 // WorkflowExecutionMaxInFlightUpdates is the max number of updates that can be in-flight (admitted but not yet completed) for any given workflow execution. 748 WorkflowExecutionMaxInFlightUpdates = "history.maxInFlightUpdates" 749 // WorkflowExecutionMaxTotalUpdates is the max number of updates that any given workflow execution can receive. 750 WorkflowExecutionMaxTotalUpdates = "history.maxTotalUpdates" 751 752 // ReplicatorTaskBatchSize is batch size for ReplicatorProcessor 753 ReplicatorTaskBatchSize = "history.replicatorTaskBatchSize" 754 // ReplicatorMaxSkipTaskCount is maximum number of tasks that can be skipped during tasks pagination due to not meeting filtering conditions (e.g. missed namespace). 755 ReplicatorMaxSkipTaskCount = "history.replicatorMaxSkipTaskCount" 756 // ReplicatorTaskWorkerCount is number of worker for ReplicatorProcessor 757 ReplicatorTaskWorkerCount = "history.replicatorTaskWorkerCount" 758 // ReplicatorProcessorMaxPollRPS is max poll rate per second for ReplicatorProcessor 759 ReplicatorProcessorMaxPollRPS = "history.replicatorProcessorMaxPollRPS" 760 // ReplicatorProcessorMaxPollInterval is max poll interval for ReplicatorProcessor 761 ReplicatorProcessorMaxPollInterval = "history.replicatorProcessorMaxPollInterval" 762 // ReplicatorProcessorMaxPollIntervalJitterCoefficient is the max poll interval jitter coefficient 763 ReplicatorProcessorMaxPollIntervalJitterCoefficient = "history.replicatorProcessorMaxPollIntervalJitterCoefficient" 764 // ReplicatorProcessorUpdateAckInterval is update interval for ReplicatorProcessor 765 ReplicatorProcessorUpdateAckInterval = "history.replicatorProcessorUpdateAckInterval" 766 // ReplicatorProcessorUpdateAckIntervalJitterCoefficient is the update interval jitter coefficient 767 ReplicatorProcessorUpdateAckIntervalJitterCoefficient = "history.replicatorProcessorUpdateAckIntervalJitterCoefficient" 768 // ReplicatorProcessorEnablePriorityTaskProcessor indicates whether priority task processor should be used for ReplicatorProcessor 769 ReplicatorProcessorEnablePriorityTaskProcessor = "history.replicatorProcessorEnablePriorityTaskProcessor" 770 // MaximumBufferedEventsBatch is the maximum permissible number of buffered events for any given mutable state. 771 MaximumBufferedEventsBatch = "history.maximumBufferedEventsBatch" 772 // MaximumBufferedEventsSizeInBytes is the maximum permissible size of all buffered events for any given mutable 773 // state. The total size is determined by the sum of the size, in bytes, of each HistoryEvent proto. 774 MaximumBufferedEventsSizeInBytes = "history.maximumBufferedEventsSizeInBytes" 775 // MaximumSignalsPerExecution is max number of signals supported by single execution 776 MaximumSignalsPerExecution = "history.maximumSignalsPerExecution" 777 // ShardUpdateMinInterval is the minimal time interval which the shard info can be updated 778 ShardUpdateMinInterval = "history.shardUpdateMinInterval" 779 // ShardSyncMinInterval is the minimal time interval which the shard info should be sync to remote 780 ShardSyncMinInterval = "history.shardSyncMinInterval" 781 // EmitShardLagLog whether emit the shard lag log 782 EmitShardLagLog = "history.emitShardLagLog" 783 // DefaultEventEncoding is the encoding type for history events 784 DefaultEventEncoding = "history.defaultEventEncoding" 785 // DefaultActivityRetryPolicy represents the out-of-box retry policy for activities where 786 // the user has not specified an explicit RetryPolicy 787 DefaultActivityRetryPolicy = "history.defaultActivityRetryPolicy" 788 // DefaultWorkflowRetryPolicy represents the out-of-box retry policy for unset fields 789 // where the user has set an explicit RetryPolicy, but not specified all the fields 790 DefaultWorkflowRetryPolicy = "history.defaultWorkflowRetryPolicy" 791 // HistoryMaxAutoResetPoints is the key for max number of auto reset points stored in mutableState 792 HistoryMaxAutoResetPoints = "history.historyMaxAutoResetPoints" 793 // EnableParentClosePolicy whether to ParentClosePolicy 794 EnableParentClosePolicy = "history.enableParentClosePolicy" 795 // ParentClosePolicyThreshold decides that parent close policy will be processed by sys workers(if enabled) if 796 // the number of children greater than or equal to this threshold 797 ParentClosePolicyThreshold = "history.parentClosePolicyThreshold" 798 // NumParentClosePolicySystemWorkflows is key for number of parentClosePolicy system workflows running in total 799 NumParentClosePolicySystemWorkflows = "history.numParentClosePolicySystemWorkflows" 800 // HistoryThrottledLogRPS is the rate limit on number of log messages emitted per second for throttled logger 801 HistoryThrottledLogRPS = "history.throttledLogRPS" 802 // StickyTTL is to expire a sticky taskqueue if no update more than this duration 803 StickyTTL = "history.stickyTTL" 804 // WorkflowTaskHeartbeatTimeout for workflow task heartbeat 805 WorkflowTaskHeartbeatTimeout = "history.workflowTaskHeartbeatTimeout" 806 // WorkflowTaskCriticalAttempts is the number of attempts for a workflow task that's regarded as critical 807 WorkflowTaskCriticalAttempts = "history.workflowTaskCriticalAttempt" 808 // WorkflowTaskRetryMaxInterval is the maximum interval added to a workflow task's startToClose timeout for slowing down retry 809 WorkflowTaskRetryMaxInterval = "history.workflowTaskRetryMaxInterval" 810 // DefaultWorkflowTaskTimeout for a workflow task 811 DefaultWorkflowTaskTimeout = "history.defaultWorkflowTaskTimeout" 812 // SkipReapplicationByNamespaceID is whether skipping a event re-application for a namespace 813 SkipReapplicationByNamespaceID = "history.SkipReapplicationByNamespaceID" 814 // StandbyTaskReReplicationContextTimeout is the context timeout for standby task re-replication 815 StandbyTaskReReplicationContextTimeout = "history.standbyTaskReReplicationContextTimeout" 816 // MaxBufferedQueryCount indicates max buffer query count 817 MaxBufferedQueryCount = "history.MaxBufferedQueryCount" 818 // MutableStateChecksumGenProbability is the probability [0-100] that checksum will be generated for mutable state 819 MutableStateChecksumGenProbability = "history.mutableStateChecksumGenProbability" 820 // MutableStateChecksumVerifyProbability is the probability [0-100] that checksum will be verified for mutable state 821 MutableStateChecksumVerifyProbability = "history.mutableStateChecksumVerifyProbability" 822 // MutableStateChecksumInvalidateBefore is the epoch timestamp before which all checksums are to be discarded 823 MutableStateChecksumInvalidateBefore = "history.mutableStateChecksumInvalidateBefore" 824 825 // ReplicationTaskFetcherParallelism determines how many go routines we spin up for fetching tasks 826 ReplicationTaskFetcherParallelism = "history.ReplicationTaskFetcherParallelism" 827 // ReplicationTaskFetcherAggregationInterval determines how frequently the fetch requests are sent 828 ReplicationTaskFetcherAggregationInterval = "history.ReplicationTaskFetcherAggregationInterval" 829 // ReplicationTaskFetcherTimerJitterCoefficient is the jitter for fetcher timer 830 ReplicationTaskFetcherTimerJitterCoefficient = "history.ReplicationTaskFetcherTimerJitterCoefficient" 831 // ReplicationTaskFetcherErrorRetryWait is the wait time when fetcher encounters error 832 ReplicationTaskFetcherErrorRetryWait = "history.ReplicationTaskFetcherErrorRetryWait" 833 // ReplicationTaskProcessorErrorRetryWait is the initial retry wait when we see errors in applying replication tasks 834 ReplicationTaskProcessorErrorRetryWait = "history.ReplicationTaskProcessorErrorRetryWait" 835 // ReplicationTaskProcessorErrorRetryBackoffCoefficient is the retry wait backoff time coefficient 836 ReplicationTaskProcessorErrorRetryBackoffCoefficient = "history.ReplicationTaskProcessorErrorRetryBackoffCoefficient" 837 // ReplicationTaskProcessorErrorRetryMaxInterval is the retry wait backoff max duration 838 ReplicationTaskProcessorErrorRetryMaxInterval = "history.ReplicationTaskProcessorErrorRetryMaxInterval" 839 // ReplicationTaskProcessorErrorRetryMaxAttempts is the max retry attempts for applying replication tasks 840 ReplicationTaskProcessorErrorRetryMaxAttempts = "history.ReplicationTaskProcessorErrorRetryMaxAttempts" 841 // ReplicationTaskProcessorErrorRetryExpiration is the max retry duration for applying replication tasks 842 ReplicationTaskProcessorErrorRetryExpiration = "history.ReplicationTaskProcessorErrorRetryExpiration" 843 // ReplicationTaskProcessorNoTaskInitialWait is the wait time when not ask is returned 844 ReplicationTaskProcessorNoTaskInitialWait = "history.ReplicationTaskProcessorNoTaskInitialWait" 845 // ReplicationTaskProcessorCleanupInterval determines how frequently the cleanup replication queue 846 ReplicationTaskProcessorCleanupInterval = "history.ReplicationTaskProcessorCleanupInterval" 847 // ReplicationTaskProcessorCleanupJitterCoefficient is the jitter for cleanup timer 848 ReplicationTaskProcessorCleanupJitterCoefficient = "history.ReplicationTaskProcessorCleanupJitterCoefficient" 849 // ReplicationTaskProcessorStartWait is the wait time before each task processing batch 850 ReplicationTaskProcessorStartWait = "history.ReplicationTaskProcessorStartWait" 851 // ReplicationTaskProcessorHostQPS is the qps of task processing rate limiter on host level 852 ReplicationTaskProcessorHostQPS = "history.ReplicationTaskProcessorHostQPS" 853 // ReplicationTaskProcessorShardQPS is the qps of task processing rate limiter on shard level 854 ReplicationTaskProcessorShardQPS = "history.ReplicationTaskProcessorShardQPS" 855 // ReplicationBypassCorruptedData is the flag to bypass corrupted workflow data in source cluster 856 ReplicationBypassCorruptedData = "history.ReplicationBypassCorruptedData" 857 // ReplicationEnableDLQMetrics is the flag to emit DLQ metrics 858 ReplicationEnableDLQMetrics = "history.ReplicationEnableDLQMetrics" 859 // HistoryTaskDLQEnabled enables the history task DLQ. This applies to internal tasks like transfer and timer tasks. 860 // Do not turn this on if you aren't using Cassandra as the history task DLQ is not implemented for other databases. 861 HistoryTaskDLQEnabled = "history.TaskDLQEnabled" 862 // HistoryTaskDLQUnexpectedErrorAttempts is the number of task execution attempts before sending the task to DLQ. 863 HistoryTaskDLQUnexpectedErrorAttempts = "history.TaskDLQUnexpectedErrorAttempts" 864 865 // ReplicationStreamSyncStatusDuration sync replication status duration 866 ReplicationStreamSyncStatusDuration = "history.ReplicationStreamSyncStatusDuration" 867 // ReplicationStreamMinReconnectDuration minimal replication stream reconnection duration 868 ReplicationStreamMinReconnectDuration = "history.ReplicationStreamMinReconnectDuration" 869 // ReplicationProcessorSchedulerQueueSize is the replication task executor queue size 870 ReplicationProcessorSchedulerQueueSize = "history.ReplicationProcessorSchedulerQueueSize" 871 // ReplicationProcessorSchedulerWorkerCount is the replication task executor worker count 872 ReplicationProcessorSchedulerWorkerCount = "history.ReplicationProcessorSchedulerWorkerCount" 873 // EnableEagerNamespaceRefresher is a feature flag for eagerly refresh namespace during processing replication task 874 EnableEagerNamespaceRefresher = "history.EnableEagerNamespaceRefresher" 875 // EnableReplicationTaskBatching is a feature flag for batching replicate history event task 876 EnableReplicationTaskBatching = "history.EnableReplicationTaskBatching" 877 878 // keys for worker 879 880 // WorkerPersistenceMaxQPS is the max qps worker host can query DB 881 WorkerPersistenceMaxQPS = "worker.persistenceMaxQPS" 882 // WorkerPersistenceGlobalMaxQPS is the max qps worker cluster can query DB 883 WorkerPersistenceGlobalMaxQPS = "worker.persistenceGlobalMaxQPS" 884 // WorkerPersistenceNamespaceMaxQPS is the max qps each namespace on worker host can query DB 885 WorkerPersistenceNamespaceMaxQPS = "worker.persistenceNamespaceMaxQPS" 886 // WorkerPersistenceNamespaceMaxQPS is the max qps each namespace in worker cluster can query DB 887 WorkerPersistenceGlobalNamespaceMaxQPS = "worker.persistenceGlobalNamespaceMaxQPS" 888 // WorkerEnablePersistencePriorityRateLimiting indicates if priority rate limiting is enabled in worker persistence client 889 WorkerEnablePersistencePriorityRateLimiting = "worker.enablePersistencePriorityRateLimiting" 890 // WorkerPersistenceDynamicRateLimitingParams is a map that contains all adjustable dynamic rate limiting params 891 // see DefaultDynamicRateLimitingParams for available options and defaults 892 WorkerPersistenceDynamicRateLimitingParams = "worker.persistenceDynamicRateLimitingParams" 893 // WorkerIndexerConcurrency is the max concurrent messages to be processed at any given time 894 WorkerIndexerConcurrency = "worker.indexerConcurrency" 895 // WorkerESProcessorNumOfWorkers is num of workers for esProcessor 896 WorkerESProcessorNumOfWorkers = "worker.ESProcessorNumOfWorkers" 897 // WorkerESProcessorBulkActions is max number of requests in bulk for esProcessor 898 WorkerESProcessorBulkActions = "worker.ESProcessorBulkActions" 899 // WorkerESProcessorBulkSize is max total size of bulk in bytes for esProcessor 900 WorkerESProcessorBulkSize = "worker.ESProcessorBulkSize" 901 // WorkerESProcessorFlushInterval is flush interval for esProcessor 902 WorkerESProcessorFlushInterval = "worker.ESProcessorFlushInterval" 903 // WorkerESProcessorAckTimeout is the timeout that store will wait to get ack signal from ES processor. 904 // Should be at least WorkerESProcessorFlushInterval+<time to process request>. 905 WorkerESProcessorAckTimeout = "worker.ESProcessorAckTimeout" 906 // WorkerThrottledLogRPS is the rate limit on number of log messages emitted per second for throttled logger 907 WorkerThrottledLogRPS = "worker.throttledLogRPS" 908 // WorkerScannerMaxConcurrentActivityExecutionSize indicates worker scanner max concurrent activity execution size 909 WorkerScannerMaxConcurrentActivityExecutionSize = "worker.ScannerMaxConcurrentActivityExecutionSize" 910 // WorkerScannerMaxConcurrentWorkflowTaskExecutionSize indicates worker scanner max concurrent workflow execution size 911 WorkerScannerMaxConcurrentWorkflowTaskExecutionSize = "worker.ScannerMaxConcurrentWorkflowTaskExecutionSize" 912 // WorkerScannerMaxConcurrentActivityTaskPollers indicates worker scanner max concurrent activity pollers 913 WorkerScannerMaxConcurrentActivityTaskPollers = "worker.ScannerMaxConcurrentActivityTaskPollers" 914 // WorkerScannerMaxConcurrentWorkflowTaskPollers indicates worker scanner max concurrent workflow pollers 915 WorkerScannerMaxConcurrentWorkflowTaskPollers = "worker.ScannerMaxConcurrentWorkflowTaskPollers" 916 // ScannerPersistenceMaxQPS is the maximum rate of persistence calls from worker.Scanner 917 ScannerPersistenceMaxQPS = "worker.scannerPersistenceMaxQPS" 918 // ExecutionScannerPerHostQPS is the maximum rate of calls per host from executions.Scanner 919 ExecutionScannerPerHostQPS = "worker.executionScannerPerHostQPS" 920 // ExecutionScannerPerShardQPS is the maximum rate of calls per shard from executions.Scanner 921 ExecutionScannerPerShardQPS = "worker.executionScannerPerShardQPS" 922 // ExecutionDataDurationBuffer is the data TTL duration buffer of execution data 923 ExecutionDataDurationBuffer = "worker.executionDataDurationBuffer" 924 // ExecutionScannerWorkerCount is the execution scavenger worker count 925 ExecutionScannerWorkerCount = "worker.executionScannerWorkerCount" 926 // ExecutionScannerHistoryEventIdValidator is the flag to enable history event id validator 927 ExecutionScannerHistoryEventIdValidator = "worker.executionEnableHistoryEventIdValidator" 928 // TaskQueueScannerEnabled indicates if task queue scanner should be started as part of worker.Scanner 929 TaskQueueScannerEnabled = "worker.taskQueueScannerEnabled" 930 // BuildIdScavengerEnabled indicates if the build id scavenger should be started as part of worker.Scanner 931 BuildIdScavengerEnabled = "worker.buildIdScavengerEnabled" 932 // HistoryScannerEnabled indicates if history scanner should be started as part of worker.Scanner 933 HistoryScannerEnabled = "worker.historyScannerEnabled" 934 // ExecutionsScannerEnabled indicates if executions scanner should be started as part of worker.Scanner 935 ExecutionsScannerEnabled = "worker.executionsScannerEnabled" 936 // HistoryScannerDataMinAge indicates the history scanner cleanup minimum age. 937 HistoryScannerDataMinAge = "worker.historyScannerDataMinAge" 938 // HistoryScannerVerifyRetention indicates the history scanner verify data retention. 939 // If the service configures with archival feature enabled, update worker.historyScannerVerifyRetention to be double of the data retention. 940 HistoryScannerVerifyRetention = "worker.historyScannerVerifyRetention" 941 // EnableBatcher decides whether start batcher in our worker 942 EnableBatcher = "worker.enableBatcher" 943 // BatcherRPS controls number the rps of batch operations 944 BatcherRPS = "worker.batcherRPS" 945 // BatcherConcurrency controls the concurrency of one batch operation 946 BatcherConcurrency = "worker.batcherConcurrency" 947 // WorkerParentCloseMaxConcurrentActivityExecutionSize indicates worker parent close worker max concurrent activity execution size 948 WorkerParentCloseMaxConcurrentActivityExecutionSize = "worker.ParentCloseMaxConcurrentActivityExecutionSize" 949 // WorkerParentCloseMaxConcurrentWorkflowTaskExecutionSize indicates worker parent close worker max concurrent workflow execution size 950 WorkerParentCloseMaxConcurrentWorkflowTaskExecutionSize = "worker.ParentCloseMaxConcurrentWorkflowTaskExecutionSize" 951 // WorkerParentCloseMaxConcurrentActivityTaskPollers indicates worker parent close worker max concurrent activity pollers 952 WorkerParentCloseMaxConcurrentActivityTaskPollers = "worker.ParentCloseMaxConcurrentActivityTaskPollers" 953 // WorkerParentCloseMaxConcurrentWorkflowTaskPollers indicates worker parent close worker max concurrent workflow pollers 954 WorkerParentCloseMaxConcurrentWorkflowTaskPollers = "worker.ParentCloseMaxConcurrentWorkflowTaskPollers" 955 // WorkerPerNamespaceWorkerCount controls number of per-ns (scheduler, batcher, etc.) workers to run per namespace 956 WorkerPerNamespaceWorkerCount = "worker.perNamespaceWorkerCount" 957 // WorkerPerNamespaceWorkerOptions are SDK worker options for per-namespace worker 958 WorkerPerNamespaceWorkerOptions = "worker.perNamespaceWorkerOptions" 959 // WorkerEnableScheduler controls whether to start the worker for scheduled workflows 960 WorkerEnableScheduler = "worker.enableScheduler" 961 // WorkerStickyCacheSize controls the sticky cache size for SDK workers on worker nodes 962 // (shared between all workers in the process, cannot be changed after startup) 963 WorkerStickyCacheSize = "worker.stickyCacheSize" 964 // SchedulerNamespaceStartWorkflowRPS is the per-namespace limit for starting workflows by schedules 965 SchedulerNamespaceStartWorkflowRPS = "worker.schedulerNamespaceStartWorkflowRPS" 966 // WorkerDeleteNamespaceActivityLimitsConfig is a map that contains a copy of relevant sdkworker.Options 967 // settings for controlling remote activity concurrency for delete namespace workflows. 968 WorkerDeleteNamespaceActivityLimitsConfig = "worker.deleteNamespaceActivityLimitsConfig" 969 )