Documentation
¶
Index ¶
- Constants
- func GetDomainsActivity(ctx context.Context, params *GetDomainsActivityParams) ([]string, error)
- type BootstrapParams
- type Config
- type DomainRebalanceData
- type FailoverActivityParams
- type FailoverActivityResult
- type FailoverManager
- type FailoverParams
- type FailoverResult
- type GetDomainsActivityParams
- type QueryResult
- type RebalanceParams
- type RebalanceResult
Constants ¶
const ( // TaskListName tasklist TaskListName = "cadence-sys-failoverManager-tasklist" // FailoverWorkflowTypeName workflow type name FailoverWorkflowTypeName = "cadence-sys-failoverManager-workflow" // RebalanceWorkflowTypeName is rebalance workflow type name RebalanceWorkflowTypeName = "cadence-sys-rebalance-workflow" // WorkflowID will be reused to ensure only one workflow running FailoverWorkflowID = "cadence-failover-manager" RebalanceWorkflowID = "cadence-rebalance-workflow" DrillWorkflowID = FailoverWorkflowID + "-drill" // QueryType for failover workflow QueryType = "state" // PauseSignal signal name for pause PauseSignal = "pause" // ResumeSignal signal name for resume ResumeSignal = "resume" // WorkflowInitialized state WorkflowInitialized = "initialized" // WorkflowRunning state WorkflowRunning = "running" // WorkflowPaused state WorkflowPaused = "paused" // WorkflowCompleted state WorkflowCompleted = "complete" // WorkflowAborted state WorkflowAborted = "aborted" )
Variables ¶
This section is empty.
Functions ¶
func GetDomainsActivity ¶
func GetDomainsActivity(ctx context.Context, params *GetDomainsActivityParams) ([]string, error)
GetDomainsActivity activity def
Types ¶
type BootstrapParams ¶
type BootstrapParams struct {
// Config contains the configuration for scanner
Config Config
// ServiceClient is an instance of cadence service client
ServiceClient workflowserviceclient.Interface
// MetricsClient is an instance of metrics object for emitting stats
MetricsClient metrics.Client
Logger log.Logger
// TallyScope is an instance of tally metrics scope
TallyScope tally.Scope
// ClientBean is an instance of client.Bean for a collection of clients
ClientBean client.Bean
}
BootstrapParams contains the set of params needed to bootstrap failover manager
type Config ¶
type Config struct {
AdminOperationToken dynamicconfig.StringPropertyFn
// ClusterMetadata contains the metadata for this cluster
ClusterMetadata cluster.Metadata
}
Config defines the configuration for failover
type DomainRebalanceData ¶ added in v0.22.0
DomainRebalanceData contains the result from getRebalanceDomains activity
func GetDomainsForRebalanceActivity ¶ added in v0.22.0
func GetDomainsForRebalanceActivity(ctx context.Context) ([]*DomainRebalanceData, error)
GetDomainsForRebalanceActivity activity fetch domains for rebalance
type FailoverActivityParams ¶
FailoverActivityParams params for activity
type FailoverActivityResult ¶
FailoverActivityResult result for failover activity
func FailoverActivity ¶
func FailoverActivity(ctx context.Context, params *FailoverActivityParams) (*FailoverActivityResult, error)
FailoverActivity activity def
type FailoverManager ¶
type FailoverManager struct {
// contains filtered or unexported fields
}
FailoverManager of cadence worker service
func New ¶
func New(params *BootstrapParams) *FailoverManager
New returns a new instance of FailoverManager
type FailoverParams ¶
type FailoverParams struct {
// TargetCluster is the destination of failover
TargetCluster string
// SourceCluster is from which cluster the domains are active before failover
SourceCluster string
// BatchFailoverSize is number of domains to failover in one batch
BatchFailoverSize int
// BatchFailoverWaitTimeInSeconds is the waiting time between batch failover
BatchFailoverWaitTimeInSeconds int
// Domains candidates to be failover
Domains []string
// DrillWaitTime defines the wait time of a failover drill
DrillWaitTime time.Duration
}
FailoverParams is the arg for failoverWorkflow
type FailoverResult ¶
type FailoverResult struct {
SuccessDomains []string
FailedDomains []string
SuccessResetDomains []string
FailedResetDomains []string
}
FailoverResult is workflow result
func FailoverWorkflow ¶
func FailoverWorkflow(ctx workflow.Context, params *FailoverParams) (*FailoverResult, error)
FailoverWorkflow is the workflow that managed failover all domains with IsManagedByCadence=true
type GetDomainsActivityParams ¶
GetDomainsActivityParams params for activity
type QueryResult ¶
type QueryResult struct {
TotalDomains int
Success int
Failed int
State string
TargetCluster string
SourceCluster string
SuccessDomains []string // SuccessDomains are guaranteed succeed processed
FailedDomains []string // FailedDomains contains false positive
SuccessResetDomains []string // SuccessResetDomains are domains successfully reset in drill mode
FailedResetDomains []string // FailedResetDomains contains false positive in drill mode
Operator string
}
QueryResult for failover progress
type RebalanceParams ¶ added in v0.22.0
type RebalanceParams struct {
// BatchFailoverSize is number of domains to failover in one batch
BatchFailoverSize int
// BatchFailoverWaitTimeInSeconds is the waiting time between batch failover
BatchFailoverWaitTimeInSeconds int
}
RebalanceParams contains parameters for rebalance workflow
type RebalanceResult ¶ added in v0.22.0
RebalanceResult contains the result from the rebalance workflow
func RebalanceWorkflow ¶ added in v0.22.0
func RebalanceWorkflow(ctx workflow.Context, params *RebalanceParams) (*RebalanceResult, error)
RebalanceWorkflow is to rebalance domains across clusters based on rebalance policy.