Documentation ¶
Index ¶
- Constants
- Variables
- func ConvertDynamicConfigValueToWeights(weightsFromDC map[string]interface{}, logger log.Logger) map[tasks.Priority]int
- func ConvertWeightsToDynamicConfigValue(weights map[tasks.Priority]int) map[string]interface{}
- func NewPriorityRateLimiter(rateFn quotas.RateFn, operatorRPSRatio dynamicconfig.FloatPropertyFn) quotas.RequestRateLimiter
- type Config
Constants ¶
View Source
const (
DefaultHistoryMaxAutoResetPoints = 20
)
View Source
const (
// OperatorPriority is used to give precedence to calls coming from web UI or tctl
OperatorPriority = 0
)
Variables ¶
View Source
var ( APIToPriority = map[string]int{ "CloseShard": 1, "GetShard": 1, "DeleteWorkflowExecution": 1, "DescribeHistoryHost": 1, "DescribeMutableState": 1, "DescribeWorkflowExecution": 1, "GetDLQMessages": 1, "GetDLQReplicationMessages": 1, "GetMutableState": 1, "GetReplicationMessages": 1, "ImportWorkflowExecution": 1, "IsActivityTaskValid": 1, "IsWorkflowTaskValid": 1, "MergeDLQMessages": 1, "PollMutableState": 1, "PurgeDLQMessages": 1, "QueryWorkflow": 1, "ReapplyEvents": 1, "RebuildMutableState": 1, "RecordActivityTaskHeartbeat": 1, "RecordActivityTaskStarted": 1, "RecordChildExecutionCompleted": 1, "VerifyChildExecutionCompletionRecorded": 1, "RecordWorkflowTaskStarted": 1, "RefreshWorkflowTasks": 1, "RemoveSignalMutableState": 1, "RemoveTask": 1, "ReplicateEventsV2": 1, "ReplicateWorkflowState": 1, "RequestCancelWorkflowExecution": 1, "ResetStickyTaskQueue": 1, "ResetWorkflowExecution": 1, "RespondActivityTaskCanceled": 1, "RespondActivityTaskCompleted": 1, "RespondActivityTaskFailed": 1, "RespondWorkflowTaskCompleted": 1, "RespondWorkflowTaskFailed": 1, "ScheduleWorkflowTask": 1, "VerifyFirstWorkflowTaskScheduled": 1, "SignalWithStartWorkflowExecution": 1, "SignalWorkflowExecution": 1, "StartWorkflowExecution": 1, "SyncActivity": 1, "SyncShardStatus": 1, "TerminateWorkflowExecution": 1, "GenerateLastHistoryReplicationTasks": 1, "GetReplicationStatus": 1, "DeleteWorkflowVisibilityRecord": 1, "UpdateWorkflowExecution": 1, "PollWorkflowExecutionUpdate": 1, "StreamWorkflowReplicationMessages": 1, "GetWorkflowExecutionHistory": 1, "GetWorkflowExecutionHistoryReverse": 1, "GetWorkflowExecutionRawHistoryV2": 1, "ForceDeleteWorkflowExecution": 1, "GetDLQTasks": 1, "DeleteDLQTasks": 1, "AddTasks": 1, "ListQueues": 1, } APIPrioritiesOrdered = []int{OperatorPriority, 1} )
View Source
var ( DefaultActiveTaskPriorityWeight = map[tasks.Priority]int{ tasks.PriorityHigh: 10, tasks.PriorityLow: 1, } DefaultStandbyTaskPriorityWeight = map[tasks.Priority]int{ tasks.PriorityHigh: 1, tasks.PriorityLow: 1, } )
Functions ¶
func ConvertDynamicConfigValueToWeights ¶ added in v1.17.0
func NewPriorityRateLimiter ¶ added in v1.10.0
func NewPriorityRateLimiter( rateFn quotas.RateFn, operatorRPSRatio dynamicconfig.FloatPropertyFn, ) quotas.RequestRateLimiter
Types ¶
type Config ¶
type Config struct { NumberOfShards int32 EnableReplicationStream dynamicconfig.BoolPropertyFn HistoryReplicationDLQV2 dynamicconfig.BoolPropertyFn RPS dynamicconfig.IntPropertyFn OperatorRPSRatio dynamicconfig.FloatPropertyFn MaxIDLengthLimit dynamicconfig.IntPropertyFn PersistenceMaxQPS dynamicconfig.IntPropertyFn PersistenceGlobalMaxQPS dynamicconfig.IntPropertyFn PersistenceNamespaceMaxQPS dynamicconfig.IntPropertyFnWithNamespaceFilter PersistenceGlobalNamespaceMaxQPS dynamicconfig.IntPropertyFnWithNamespaceFilter PersistencePerShardNamespaceMaxQPS dynamicconfig.IntPropertyFnWithNamespaceFilter EnablePersistencePriorityRateLimiting dynamicconfig.BoolPropertyFn PersistenceDynamicRateLimitingParams dynamicconfig.MapPropertyFn VisibilityPersistenceMaxReadQPS dynamicconfig.IntPropertyFn VisibilityPersistenceMaxWriteQPS dynamicconfig.IntPropertyFn EnableReadFromSecondaryVisibility dynamicconfig.BoolPropertyFnWithNamespaceFilter SecondaryVisibilityWritingMode dynamicconfig.StringPropertyFn VisibilityDisableOrderByClause dynamicconfig.BoolPropertyFnWithNamespaceFilter VisibilityEnableManualPagination dynamicconfig.BoolPropertyFnWithNamespaceFilter EmitShardLagLog dynamicconfig.BoolPropertyFn MaxAutoResetPoints dynamicconfig.IntPropertyFnWithNamespaceFilter ThrottledLogRPS dynamicconfig.IntPropertyFn EnableStickyQuery dynamicconfig.BoolPropertyFnWithNamespaceFilter ShutdownDrainDuration dynamicconfig.DurationPropertyFn StartupMembershipJoinDelay dynamicconfig.DurationPropertyFn // HistoryCache settings // Change of these configs require shard restart HistoryCacheInitialSize dynamicconfig.IntPropertyFn HistoryCacheMaxSize dynamicconfig.IntPropertyFn HistoryCacheTTL dynamicconfig.DurationPropertyFn HistoryCacheNonUserContextLockTimeout dynamicconfig.DurationPropertyFn EnableHostLevelHistoryCache dynamicconfig.BoolPropertyFn HistoryShardLevelCacheMaxSize dynamicconfig.IntPropertyFn EnableAPIGetCurrentRunIDLock dynamicconfig.BoolPropertyFn // EventsCache settings // Change of these configs require shard restart EventsCacheMaxSizeBytes dynamicconfig.IntPropertyFn EventsCacheTTL dynamicconfig.DurationPropertyFn // ShardController settings RangeSizeBits uint AcquireShardInterval dynamicconfig.DurationPropertyFn AcquireShardConcurrency dynamicconfig.IntPropertyFn ShardIOConcurrency dynamicconfig.IntPropertyFn ShardLingerOwnershipCheckQPS dynamicconfig.IntPropertyFn ShardLingerTimeLimit dynamicconfig.DurationPropertyFn ShardOwnershipAssertionEnabled dynamicconfig.BoolPropertyFn HistoryClientOwnershipCachingEnabled dynamicconfig.BoolPropertyFn // the artificial delay added to standby cluster's view of active cluster's time StandbyClusterDelay dynamicconfig.DurationPropertyFn StandbyTaskMissingEventsResendDelay dynamicconfig.DurationPropertyFnWithTaskTypeFilter StandbyTaskMissingEventsDiscardDelay dynamicconfig.DurationPropertyFnWithTaskTypeFilter QueuePendingTaskCriticalCount dynamicconfig.IntPropertyFn QueueReaderStuckCriticalAttempts dynamicconfig.IntPropertyFn QueueCriticalSlicesCount dynamicconfig.IntPropertyFn QueuePendingTaskMaxCount dynamicconfig.IntPropertyFn QueueMaxReaderCount dynamicconfig.IntPropertyFn TaskDLQEnabled dynamicconfig.BoolPropertyFn TaskDLQUnexpectedErrorAttempts dynamicconfig.IntPropertyFn TaskSchedulerEnableRateLimiter dynamicconfig.BoolPropertyFn TaskSchedulerEnableRateLimiterShadowMode dynamicconfig.BoolPropertyFn TaskSchedulerRateLimiterStartupDelay dynamicconfig.DurationPropertyFn TaskSchedulerGlobalMaxQPS dynamicconfig.IntPropertyFn TaskSchedulerMaxQPS dynamicconfig.IntPropertyFn TaskSchedulerGlobalNamespaceMaxQPS dynamicconfig.IntPropertyFnWithNamespaceFilter TaskSchedulerNamespaceMaxQPS dynamicconfig.IntPropertyFnWithNamespaceFilter // TimerQueueProcessor settings TimerTaskHighPriorityRPS dynamicconfig.IntPropertyFnWithNamespaceFilter TimerTaskBatchSize dynamicconfig.IntPropertyFn TimerProcessorSchedulerWorkerCount dynamicconfig.IntPropertyFn TimerProcessorSchedulerActiveRoundRobinWeights dynamicconfig.MapPropertyFnWithNamespaceFilter TimerProcessorSchedulerStandbyRoundRobinWeights dynamicconfig.MapPropertyFnWithNamespaceFilter TimerProcessorUpdateAckInterval dynamicconfig.DurationPropertyFn TimerProcessorUpdateAckIntervalJitterCoefficient dynamicconfig.FloatPropertyFn TimerProcessorCompleteTimerInterval dynamicconfig.DurationPropertyFn TimerProcessorFailoverMaxPollRPS dynamicconfig.IntPropertyFn TimerProcessorMaxPollRPS dynamicconfig.IntPropertyFn TimerProcessorMaxPollHostRPS dynamicconfig.IntPropertyFn TimerProcessorMaxPollInterval dynamicconfig.DurationPropertyFn TimerProcessorMaxPollIntervalJitterCoefficient dynamicconfig.FloatPropertyFn TimerProcessorPollBackoffInterval dynamicconfig.DurationPropertyFn TimerProcessorMaxTimeShift dynamicconfig.DurationPropertyFn RetentionTimerJitterDuration dynamicconfig.DurationPropertyFn MemoryTimerProcessorSchedulerWorkerCount dynamicconfig.IntPropertyFn // TransferQueueProcessor settings TransferTaskHighPriorityRPS dynamicconfig.IntPropertyFnWithNamespaceFilter TransferTaskBatchSize dynamicconfig.IntPropertyFn TransferProcessorSchedulerWorkerCount dynamicconfig.IntPropertyFn TransferProcessorSchedulerActiveRoundRobinWeights dynamicconfig.MapPropertyFnWithNamespaceFilter TransferProcessorSchedulerStandbyRoundRobinWeights dynamicconfig.MapPropertyFnWithNamespaceFilter TransferProcessorFailoverMaxPollRPS dynamicconfig.IntPropertyFn TransferProcessorMaxPollRPS dynamicconfig.IntPropertyFn TransferProcessorMaxPollHostRPS dynamicconfig.IntPropertyFn TransferProcessorMaxPollInterval dynamicconfig.DurationPropertyFn TransferProcessorMaxPollIntervalJitterCoefficient dynamicconfig.FloatPropertyFn TransferProcessorUpdateAckInterval dynamicconfig.DurationPropertyFn TransferProcessorUpdateAckIntervalJitterCoefficient dynamicconfig.FloatPropertyFn TransferProcessorCompleteTransferInterval dynamicconfig.DurationPropertyFn TransferProcessorPollBackoffInterval dynamicconfig.DurationPropertyFn TransferProcessorEnsureCloseBeforeDelete dynamicconfig.BoolPropertyFn // ReplicatorQueueProcessor settings // TODO: clean up unused replicator settings ReplicatorTaskBatchSize dynamicconfig.IntPropertyFn ReplicatorTaskWorkerCount dynamicconfig.IntPropertyFn ReplicatorProcessorMaxPollRPS dynamicconfig.IntPropertyFn ReplicatorProcessorMaxPollInterval dynamicconfig.DurationPropertyFn ReplicatorProcessorMaxPollIntervalJitterCoefficient dynamicconfig.FloatPropertyFn ReplicatorProcessorUpdateAckInterval dynamicconfig.DurationPropertyFn ReplicatorProcessorUpdateAckIntervalJitterCoefficient dynamicconfig.FloatPropertyFn ReplicatorProcessorEnablePriorityTaskProcessor dynamicconfig.BoolPropertyFn ReplicatorProcessorFetchTasksBatchSize dynamicconfig.IntPropertyFn ReplicatorProcessorMaxSkipTaskCount dynamicconfig.IntPropertyFn // System Limits MaximumBufferedEventsBatch dynamicconfig.IntPropertyFn MaximumBufferedEventsSizeInBytes dynamicconfig.IntPropertyFn MaximumSignalsPerExecution dynamicconfig.IntPropertyFnWithNamespaceFilter // ShardUpdateMinInterval is the minimum time interval within which the shard info can be updated. ShardUpdateMinInterval dynamicconfig.DurationPropertyFn // ShardSyncMinInterval is the minimum time interval within which the shard info can be synced to the remote. ShardSyncMinInterval dynamicconfig.DurationPropertyFn ShardSyncTimerJitterCoefficient dynamicconfig.FloatPropertyFn // Time to hold a poll request before returning an empty response // right now only used by GetMutableState LongPollExpirationInterval dynamicconfig.DurationPropertyFnWithNamespaceFilter // encoding the history events EventEncodingType dynamicconfig.StringPropertyFnWithNamespaceFilter // whether or not using ParentClosePolicy EnableParentClosePolicy dynamicconfig.BoolPropertyFnWithNamespaceFilter // whether or not enable system workers for processing parent close policy task EnableParentClosePolicyWorker dynamicconfig.BoolPropertyFn // parent close policy will be processed by sys workers(if enabled) if // the number of children greater than or equal to this threshold ParentClosePolicyThreshold dynamicconfig.IntPropertyFnWithNamespaceFilter // total number of parentClosePolicy system workflows NumParentClosePolicySystemWorkflows dynamicconfig.IntPropertyFn // Size limit related settings BlobSizeLimitError dynamicconfig.IntPropertyFnWithNamespaceFilter BlobSizeLimitWarn dynamicconfig.IntPropertyFnWithNamespaceFilter MemoSizeLimitError dynamicconfig.IntPropertyFnWithNamespaceFilter MemoSizeLimitWarn dynamicconfig.IntPropertyFnWithNamespaceFilter HistorySizeLimitError dynamicconfig.IntPropertyFnWithNamespaceFilter HistorySizeLimitWarn dynamicconfig.IntPropertyFnWithNamespaceFilter HistorySizeSuggestContinueAsNew dynamicconfig.IntPropertyFnWithNamespaceFilter HistoryCountLimitError dynamicconfig.IntPropertyFnWithNamespaceFilter HistoryCountLimitWarn dynamicconfig.IntPropertyFnWithNamespaceFilter HistoryCountSuggestContinueAsNew dynamicconfig.IntPropertyFnWithNamespaceFilter HistoryMaxPageSize dynamicconfig.IntPropertyFnWithNamespaceFilter MutableStateActivityFailureSizeLimitError dynamicconfig.IntPropertyFnWithNamespaceFilter MutableStateActivityFailureSizeLimitWarn dynamicconfig.IntPropertyFnWithNamespaceFilter MutableStateSizeLimitError dynamicconfig.IntPropertyFn MutableStateSizeLimitWarn dynamicconfig.IntPropertyFn NumPendingChildExecutionsLimit dynamicconfig.IntPropertyFnWithNamespaceFilter NumPendingActivitiesLimit dynamicconfig.IntPropertyFnWithNamespaceFilter NumPendingSignalsLimit dynamicconfig.IntPropertyFnWithNamespaceFilter NumPendingCancelsRequestLimit dynamicconfig.IntPropertyFnWithNamespaceFilter // DefaultActivityRetryOptions specifies the out-of-box retry policy if // none is configured on the Activity by the user. DefaultActivityRetryPolicy dynamicconfig.MapPropertyFnWithNamespaceFilter // DefaultWorkflowRetryPolicy specifies the out-of-box retry policy for // any unset fields on a RetryPolicy configured on a Workflow DefaultWorkflowRetryPolicy dynamicconfig.MapPropertyFnWithNamespaceFilter // Workflow task settings // DefaultWorkflowTaskTimeout the default workflow task timeout DefaultWorkflowTaskTimeout dynamicconfig.DurationPropertyFnWithNamespaceFilter // WorkflowTaskHeartbeatTimeout is to timeout behavior of: RespondWorkflowTaskComplete with ForceCreateNewWorkflowTask == true without any commands // So that workflow task will be scheduled to another worker(by clear stickyness) WorkflowTaskHeartbeatTimeout dynamicconfig.DurationPropertyFnWithNamespaceFilter WorkflowTaskCriticalAttempts dynamicconfig.IntPropertyFn WorkflowTaskRetryMaxInterval dynamicconfig.DurationPropertyFn // ContinueAsNewMinInterval is the minimal interval between continue_as_new to prevent tight continue_as_new loop. ContinueAsNewMinInterval dynamicconfig.DurationPropertyFnWithNamespaceFilter // The following is used by the new RPC replication stack ReplicationTaskFetcherParallelism dynamicconfig.IntPropertyFn ReplicationTaskFetcherAggregationInterval dynamicconfig.DurationPropertyFn ReplicationTaskFetcherTimerJitterCoefficient dynamicconfig.FloatPropertyFn ReplicationTaskFetcherErrorRetryWait dynamicconfig.DurationPropertyFn ReplicationTaskProcessorErrorRetryWait dynamicconfig.DurationPropertyFnWithShardIDFilter ReplicationTaskProcessorErrorRetryBackoffCoefficient dynamicconfig.FloatPropertyFnWithShardIDFilter ReplicationTaskProcessorErrorRetryMaxInterval dynamicconfig.DurationPropertyFnWithShardIDFilter ReplicationTaskProcessorErrorRetryMaxAttempts dynamicconfig.IntPropertyFnWithShardIDFilter ReplicationTaskProcessorErrorRetryExpiration dynamicconfig.DurationPropertyFnWithShardIDFilter ReplicationTaskProcessorNoTaskRetryWait dynamicconfig.DurationPropertyFnWithShardIDFilter ReplicationTaskProcessorCleanupInterval dynamicconfig.DurationPropertyFnWithShardIDFilter ReplicationTaskProcessorCleanupJitterCoefficient dynamicconfig.FloatPropertyFnWithShardIDFilter ReplicationTaskProcessorHostQPS dynamicconfig.FloatPropertyFn ReplicationTaskProcessorShardQPS dynamicconfig.FloatPropertyFn ReplicationBypassCorruptedData dynamicconfig.BoolPropertyFnWithNamespaceIDFilter ReplicationEnableDLQMetrics dynamicconfig.BoolPropertyFn ReplicationStreamSyncStatusDuration dynamicconfig.DurationPropertyFn ReplicationProcessorSchedulerQueueSize dynamicconfig.IntPropertyFn ReplicationProcessorSchedulerWorkerCount dynamicconfig.IntPropertyFn EnableReplicationEagerRefreshNamespace dynamicconfig.BoolPropertyFn EnableReplicationTaskBatching dynamicconfig.BoolPropertyFn // The following are used by consistent query MaxBufferedQueryCount dynamicconfig.IntPropertyFn // Data integrity check related config knobs MutableStateChecksumGenProbability dynamicconfig.IntPropertyFnWithNamespaceFilter MutableStateChecksumVerifyProbability dynamicconfig.IntPropertyFnWithNamespaceFilter MutableStateChecksumInvalidateBefore dynamicconfig.FloatPropertyFn // NDC Replication configuration StandbyTaskReReplicationContextTimeout dynamicconfig.DurationPropertyFnWithNamespaceIDFilter SkipReapplicationByNamespaceID dynamicconfig.BoolPropertyFnWithNamespaceIDFilter // ===== Visibility related ===== // VisibilityQueueProcessor settings VisibilityTaskHighPriorityRPS dynamicconfig.IntPropertyFnWithNamespaceFilter VisibilityTaskBatchSize dynamicconfig.IntPropertyFn VisibilityProcessorSchedulerWorkerCount dynamicconfig.IntPropertyFn VisibilityProcessorSchedulerActiveRoundRobinWeights dynamicconfig.MapPropertyFnWithNamespaceFilter VisibilityProcessorSchedulerStandbyRoundRobinWeights dynamicconfig.MapPropertyFnWithNamespaceFilter VisibilityProcessorMaxPollRPS dynamicconfig.IntPropertyFn VisibilityProcessorMaxPollHostRPS dynamicconfig.IntPropertyFn VisibilityProcessorMaxPollInterval dynamicconfig.DurationPropertyFn VisibilityProcessorMaxPollIntervalJitterCoefficient dynamicconfig.FloatPropertyFn VisibilityProcessorUpdateAckInterval dynamicconfig.DurationPropertyFn VisibilityProcessorUpdateAckIntervalJitterCoefficient dynamicconfig.FloatPropertyFn VisibilityProcessorCompleteTaskInterval dynamicconfig.DurationPropertyFn VisibilityProcessorPollBackoffInterval dynamicconfig.DurationPropertyFn VisibilityProcessorEnsureCloseBeforeDelete dynamicconfig.BoolPropertyFn VisibilityProcessorEnableCloseWorkflowCleanup dynamicconfig.BoolPropertyFnWithNamespaceFilter SearchAttributesNumberOfKeysLimit dynamicconfig.IntPropertyFnWithNamespaceFilter SearchAttributesSizeOfValueLimit dynamicconfig.IntPropertyFnWithNamespaceFilter SearchAttributesTotalSizeLimit dynamicconfig.IntPropertyFnWithNamespaceFilter IndexerConcurrency dynamicconfig.IntPropertyFn ESProcessorNumOfWorkers dynamicconfig.IntPropertyFn ESProcessorBulkActions dynamicconfig.IntPropertyFn // max number of requests in bulk ESProcessorBulkSize dynamicconfig.IntPropertyFn // max total size of bytes in bulk ESProcessorFlushInterval dynamicconfig.DurationPropertyFn ESProcessorAckTimeout dynamicconfig.DurationPropertyFn EnableCrossNamespaceCommands dynamicconfig.BoolPropertyFn EnableActivityEagerExecution dynamicconfig.BoolPropertyFnWithNamespaceFilter EnableEagerWorkflowStart dynamicconfig.BoolPropertyFnWithNamespaceFilter NamespaceCacheRefreshInterval dynamicconfig.DurationPropertyFn // ArchivalQueueProcessor settings ArchivalProcessorSchedulerWorkerCount dynamicconfig.IntPropertyFn ArchivalProcessorMaxPollHostRPS dynamicconfig.IntPropertyFn ArchivalTaskBatchSize dynamicconfig.IntPropertyFn ArchivalProcessorPollBackoffInterval dynamicconfig.DurationPropertyFn ArchivalProcessorMaxPollRPS dynamicconfig.IntPropertyFn ArchivalProcessorMaxPollInterval dynamicconfig.DurationPropertyFn ArchivalProcessorMaxPollIntervalJitterCoefficient dynamicconfig.FloatPropertyFn ArchivalProcessorUpdateAckInterval dynamicconfig.DurationPropertyFn ArchivalProcessorUpdateAckIntervalJitterCoefficient dynamicconfig.FloatPropertyFn ArchivalProcessorArchiveDelay dynamicconfig.DurationPropertyFn ArchivalBackendMaxRPS dynamicconfig.FloatPropertyFn WorkflowExecutionMaxInFlightUpdates dynamicconfig.IntPropertyFnWithNamespaceFilter WorkflowExecutionMaxTotalUpdates dynamicconfig.IntPropertyFnWithNamespaceFilter SendRawWorkflowHistory dynamicconfig.BoolPropertyFnWithNamespaceFilter // FrontendAccessHistoryFraction is an interim flag across 2 minor releases and will be removed once fully enabled. FrontendAccessHistoryFraction dynamicconfig.FloatPropertyFn }
Config represents configuration for history service
func NewConfig ¶
func NewConfig( dc *dynamicconfig.Collection, numberOfShards int32, visibilityStoreConfigExist bool, advancedVisibilityStoreConfigExist bool, ) *Config
NewConfig returns new service config with default values
Click to show internal directories.
Click to hide internal directories.