cli

package
v0.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 7, 2020 License: MIT Imports: 78 Imported by: 3

README

Documentation for the Cadence command line interface is located at our main site.

Quick Start

Run make bins from the project root. You should see an executable file called cadence. Try a few example commands to get started:
./cadence for help on top level commands and global options
./cadence domain for help on domain operations
./cadence workflow for help on workflow operations
./cadence tasklist for help on tasklist operations
(./cadence help, ./cadence help [domain|workflow] will also print help messages)

Note: Make sure you have a Cadence server running before using the CLI.

Documentation

Index

Constants

View Source
const (
	// CheckResultHealthy indicates check successfully ran and detected no corruption
	CheckResultHealthy CheckResultStatus = "healthy"
	// CheckResultCorrupted indicates check successfully ran and detected corruption
	CheckResultCorrupted = "corrupted"
	// CheckResultFailed indicates check failed to run
	CheckResultFailed = "failed"

	// CheckTypeHistoryExists is the check type for history exists
	CheckTypeHistoryExists CheckType = "history_exists"
	// CheckTypeValidFirstEvent is the check type for valid first event
	CheckTypeValidFirstEvent = "valid_first_event"
	// CheckTypeOrphanExecution is the check type for orphan execution
	CheckTypeOrphanExecution = "orphan_execution"
)
View Source
const (
	FlagUsername                          = "username"
	FlagPassword                          = "password"
	FlagKeyspace                          = "keyspace"
	FlagAddress                           = "address"
	FlagAddressWithAlias                  = FlagAddress + ", ad"
	FlagHistoryAddress                    = "history_address"
	FlagDBAddress                         = "db_address"
	FlagDBPort                            = "db_port"
	FlagHistoryAddressWithAlias           = FlagHistoryAddress + ", had"
	FlagDomainID                          = "domain_id"
	FlagDomain                            = "domain"
	FlagDomainWithAlias                   = FlagDomain + ", do"
	FlagShardID                           = "shard_id"
	FlagShardIDWithAlias                  = FlagShardID + ", sid"
	FlagWorkflowID                        = "workflow_id"
	FlagWorkflowIDWithAlias               = FlagWorkflowID + ", wid, w"
	FlagRunID                             = "run_id"
	FlagTreeID                            = "tree_id"
	FlagBranchID                          = "branch_id"
	FlagNumberOfShards                    = "number_of_shards"
	FlagRunIDWithAlias                    = FlagRunID + ", rid, r"
	FlagTargetCluster                     = "target_cluster"
	FlagMinEventID                        = "min_event_id"
	FlagMaxEventID                        = "max_event_id"
	FlagStartEventVersion                 = "start_event_version"
	FlagTaskList                          = "tasklist"
	FlagTaskListWithAlias                 = FlagTaskList + ", tl"
	FlagTaskListType                      = "tasklisttype"
	FlagTaskListTypeWithAlias             = FlagTaskListType + ", tlt"
	FlagWorkflowIDReusePolicy             = "workflowidreusepolicy"
	FlagWorkflowIDReusePolicyAlias        = FlagWorkflowIDReusePolicy + ", wrp"
	FlagCronSchedule                      = "cron"
	FlagWorkflowType                      = "workflow_type"
	FlagWorkflowTypeWithAlias             = FlagWorkflowType + ", wt"
	FlagWorkflowStatus                    = "status"
	FlagWorkflowStatusWithAlias           = FlagWorkflowStatus + ", s"
	FlagExecutionTimeout                  = "execution_timeout"
	FlagExecutionTimeoutWithAlias         = FlagExecutionTimeout + ", et"
	FlagDecisionTimeout                   = "decision_timeout"
	FlagDecisionTimeoutWithAlias          = FlagDecisionTimeout + ", dt"
	FlagContextTimeout                    = "context_timeout"
	FlagContextTimeoutWithAlias           = FlagContextTimeout + ", ct"
	FlagInput                             = "input"
	FlagInputWithAlias                    = FlagInput + ", i"
	FlagInputFile                         = "input_file"
	FlagInputFileWithAlias                = FlagInputFile + ", if"
	FlagExcludeFile                       = "exclude_file"
	FlagInputSeparator                    = "input_separator"
	FlagParallism                         = "input_parallism"
	FlagSkipCurrentOpen                   = "skip_current_open"
	FlagSkipBaseIsNotCurrent              = "skip_base_is_not_current"
	FlagDryRun                            = "dry_run"
	FlagNonDeterministicOnly              = "only_non_deterministic"
	FlagInputTopic                        = "input_topic"
	FlagInputTopicWithAlias               = FlagInputTopic + ", it"
	FlagHostFile                          = "host_file"
	FlagCluster                           = "cluster"
	FlagInputCluster                      = "input_cluster"
	FlagStartOffset                       = "start_offset"
	FlagTopic                             = "topic"
	FlagGroup                             = "group"
	FlagResult                            = "result"
	FlagIdentity                          = "identity"
	FlagDetail                            = "detail"
	FlagReason                            = "reason"
	FlagReasonWithAlias                   = FlagReason + ", re"
	FlagOpen                              = "open"
	FlagOpenWithAlias                     = FlagOpen + ", op"
	FlagMore                              = "more"
	FlagMoreWithAlias                     = FlagMore + ", m"
	FlagAll                               = "all"
	FlagAllWithAlias                      = FlagAll + ", a"
	FlagPageSize                          = "pagesize"
	FlagPageSizeWithAlias                 = FlagPageSize + ", ps"
	FlagEarliestTime                      = "earliest_time"
	FlagEarliestTimeWithAlias             = FlagEarliestTime + ", et"
	FlagLatestTime                        = "latest_time"
	FlagLatestTimeWithAlias               = FlagLatestTime + ", lt"
	FlagPrintEventVersion                 = "print_event_version"
	FlagPrintEventVersionWithAlias        = FlagPrintEventVersion + ", pev"
	FlagPrintFullyDetail                  = "print_full"
	FlagPrintFullyDetailWithAlias         = FlagPrintFullyDetail + ", pf"
	FlagPrintRawTime                      = "print_raw_time"
	FlagPrintRawTimeWithAlias             = FlagPrintRawTime + ", prt"
	FlagPrintRaw                          = "print_raw"
	FlagPrintRawWithAlias                 = FlagPrintRaw + ", praw"
	FlagPrintDateTime                     = "print_datetime"
	FlagPrintDateTimeWithAlias            = FlagPrintDateTime + ", pdt"
	FlagPrintMemo                         = "print_memo"
	FlagPrintMemoWithAlias                = FlagPrintMemo + ", pme"
	FlagPrintSearchAttr                   = "print_search_attr"
	FlagPrintSearchAttrWithAlias          = FlagPrintSearchAttr + ", psa"
	FlagPrintJSON                         = "print_json"
	FlagPrintJSONWithAlias                = FlagPrintJSON + ", pjson"
	FlagDescription                       = "description"
	FlagDescriptionWithAlias              = FlagDescription + ", desc"
	FlagOwnerEmail                        = "owner_email"
	FlagOwnerEmailWithAlias               = FlagOwnerEmail + ", oe"
	FlagRetentionDays                     = "retention"
	FlagRetentionDaysWithAlias            = FlagRetentionDays + ", rd"
	FlagHistoryArchivalStatus             = "history_archival_status"
	FlagHistoryArchivalStatusWithAlias    = FlagHistoryArchivalStatus + ", has"
	FlagHistoryArchivalURI                = "history_uri"
	FlagHistoryArchivalURIWithAlias       = FlagHistoryArchivalURI + ", huri"
	FlagVisibilityArchivalStatus          = "visibility_archival_status"
	FlagVisibilityArchivalStatusWithAlias = FlagVisibilityArchivalStatus + ", vas"
	FlagVisibilityArchivalURI             = "visibility_uri"
	FlagVisibilityArchivalURIWithAlias    = FlagVisibilityArchivalURI + ", vuri"
	FlagName                              = "name"
	FlagNameWithAlias                     = FlagName + ", n"
	FlagOutputFilename                    = "output_filename"
	FlagOutputFilenameWithAlias           = FlagOutputFilename + ", of"
	FlagOutputFormat                      = "output"
	FlagQueryType                         = "query_type"
	FlagQueryTypeWithAlias                = FlagQueryType + ", qt"
	FlagQueryRejectCondition              = "query_reject_condition"
	FlagQueryRejectConditionWithAlias     = FlagQueryRejectCondition + ", qrc"
	FlagQueryConsistencyLevel             = "query_consistency_level"
	FlagQueryConsistencyLevelWithAlias    = FlagQueryConsistencyLevel + ", qcl"
	FlagShowDetail                        = "show_detail"
	FlagShowDetailWithAlias               = FlagShowDetail + ", sd"
	FlagActiveClusterName                 = "active_cluster"
	FlagActiveClusterNameWithAlias        = FlagActiveClusterName + ", ac"
	FlagClusters                          = "clusters"
	FlagClustersWithAlias                 = FlagClusters + ", cl"
	FlagIsGlobalDomain                    = "global_domain"
	FlagIsGlobalDomainWithAlias           = FlagIsGlobalDomain + ", gd"
	FlagDomainData                        = "domain_data"
	FlagDomainDataWithAlias               = FlagDomainData + ", dmd"
	FlagEventID                           = "event_id"
	FlagEventIDWithAlias                  = FlagEventID + ", eid"
	FlagActivityID                        = "activity_id"
	FlagActivityIDWithAlias               = FlagActivityID + ", aid"
	FlagMaxFieldLength                    = "max_field_length"
	FlagMaxFieldLengthWithAlias           = FlagMaxFieldLength + ", maxl"
	FlagSecurityToken                     = "security_token"
	FlagSecurityTokenWithAlias            = FlagSecurityToken + ", st"
	FlagSkipErrorMode                     = "skip_errors"
	FlagSkipErrorModeWithAlias            = FlagSkipErrorMode + ", serr"
	FlagHeadersMode                       = "headers"
	FlagHeadersModeWithAlias              = FlagHeadersMode + ", he"
	FlagMessageType                       = "message_type"
	FlagMessageTypeWithAlias              = FlagMessageType + ", mt"
	FlagURL                               = "url"
	FlagMuttleyDestination                = "muttely_destination"
	FlagMuttleyDestinationWithAlias       = FlagMuttleyDestination + ", muttley"
	FlagIndex                             = "index"
	FlagBatchSize                         = "batch_size"
	FlagBatchSizeWithAlias                = FlagBatchSize + ", bs"
	FlagMemoKey                           = "memo_key"
	FlagMemo                              = "memo"
	FlagMemoFile                          = "memo_file"
	FlagSearchAttributesKey               = "search_attr_key"
	FlagSearchAttributesVal               = "search_attr_value"
	FlagSearchAttributesType              = "search_attr_type"
	FlagAddBadBinary                      = "add_bad_binary"
	FlagRemoveBadBinary                   = "remove_bad_binary"
	FlagResetType                         = "reset_type"
	FlagResetPointsOnly                   = "reset_points_only"
	FlagResetBadBinaryChecksum            = "reset_bad_binary_checksum"
	FlagListQuery                         = "query"
	FlagListQueryWithAlias                = FlagListQuery + ", q"
	FlagBatchType                         = "batch_type"
	FlagBatchTypeWithAlias                = FlagBatchType + ", bt"
	FlagSignalName                        = "signal_name"
	FlagSignalNameWithAlias               = FlagSignalName + ", sig"
	FlagTaskID                            = "task_id"
	FlagTaskType                          = "task_type"
	FlagTaskVisibilityTimestamp           = "task_timestamp"
	FlagStartingRPS                       = "starting_rps"
	FlagRPS                               = "rps"
	FlagRPSScaleUpSeconds                 = "rps_scale_up_seconds"
	FlagJobID                             = "job_id"
	FlagJobIDWithAlias                    = FlagJobID + ", jid"
	FlagYes                               = "yes"
	FlagServiceConfigDir                  = "service_config_dir"
	FlagServiceConfigDirWithAlias         = FlagServiceConfigDir + ", scd"
	FlagServiceEnv                        = "service_env"
	FlagServiceEnvWithAlias               = FlagServiceEnv + ", se"
	FlagServiceZone                       = "service_zone"
	FlagServiceZoneWithAlias              = FlagServiceZone + ", sz"
	FlagEnableTLS                         = "tls"
	FlagTLSCertPath                       = "tls_cert_path"
	FlagTLSKeyPath                        = "tls_key_path"
	FlagTLSCaPath                         = "tls_ca_path"
	FlagTLSEnableHostVerification         = "tls_enable_host_verification"
	FlagDLQType                           = "dlq_type"
	FlagDLQTypeWithAlias                  = FlagDLQType + ", dt"
	FlagMaxMessageCount                   = "max_message_count"
	FlagMaxMessageCountWithAlias          = FlagMaxMessageCount + ", mmc"
	FlagLastMessageID                     = "last_message_id"
	FlagLastMessageIDWithAlias            = FlagLastMessageID + ", lm"
	FlagConcurrency                       = "concurrency"
	FlagReportRate                        = "report_rate"
	FlagLowerShardBound                   = "lower_shard_bound"
	FlagUpperShardBound                   = "upper_shard_bound"
	FlagInputDirectory                    = "input_directory"
	FlagSkipHistoryChecks                 = "skip_history_checks"
	FlagFailoverType                      = "failover_type"
	FlagFailoverTypeWithAlias             = FlagFailoverType + ", ft"
	FlagFailoverTimeout                   = "failover_timeout_seconds"
	FlagFailoverTimeoutWithAlias          = FlagFailoverTimeout + ", fts"
)

Flags used to specify cli command line arguments

View Source
const (
	// Version is the controlled version string. It should be updated every time
	// before we release a new version.
	Version = "0.12.0"
)

Variables

This section is empty.

Functions

func AdminAddSearchAttribute added in v0.6.0

func AdminAddSearchAttribute(c *cli.Context)

AdminAddSearchAttribute to whitelist search attribute

func AdminCatIndices added in v0.5.3

func AdminCatIndices(c *cli.Context)

AdminCatIndices cat indices for ES cluster

func AdminDBClean added in v0.13.0

func AdminDBClean(c *cli.Context)

AdminDBClean is the command to clean up executions

func AdminDBScan added in v0.13.0

func AdminDBScan(c *cli.Context)

AdminDBScan is used to scan over all executions in database and detect corruptions

func AdminDelete added in v0.9.0

func AdminDelete(c *cli.Context)

AdminDelete used to delete documents from ElasticSearch with input of list result

func AdminDeleteWorkflow added in v0.5.0

func AdminDeleteWorkflow(c *cli.Context)

AdminDeleteWorkflow delete a workflow execution for admin

func AdminDescribeCluster added in v0.11.0

func AdminDescribeCluster(c *cli.Context)

AdminDescribeCluster is used to dump information about the cluster

func AdminDescribeHistoryHost added in v0.3.13

func AdminDescribeHistoryHost(c *cli.Context)

AdminDescribeHistoryHost describes history host

func AdminDescribeTaskList added in v0.5.7

func AdminDescribeTaskList(c *cli.Context)

AdminDescribeTaskList displays poller and status information of task list.

func AdminDescribeWorkflow added in v0.3.13

func AdminDescribeWorkflow(c *cli.Context)

AdminDescribeWorkflow describe a new workflow execution for admin

func AdminGetDLQMessages added in v0.12.0

func AdminGetDLQMessages(c *cli.Context)

AdminGetDLQMessages gets DLQ metadata

func AdminGetDomainIDOrName added in v0.5.0

func AdminGetDomainIDOrName(c *cli.Context)

AdminGetDomainIDOrName map domain

func AdminGetShardID added in v0.5.0

func AdminGetShardID(c *cli.Context)

AdminGetShardID get shardID

func AdminIndex added in v0.5.3

func AdminIndex(c *cli.Context)

AdminIndex used to bulk insert message from kafka parse

func AdminKafkaParse added in v0.5.0

func AdminKafkaParse(c *cli.Context)

AdminKafkaParse parses the output of k8read and outputs replication tasks

func AdminMergeDLQ added in v0.5.0

func AdminMergeDLQ(c *cli.Context)

AdminMergeDLQ publish replication tasks from DLQ or JSON file

func AdminMergeDLQMessages added in v0.12.0

func AdminMergeDLQMessages(c *cli.Context)

AdminMergeDLQMessages merges message from DLQ

func AdminPurgeDLQMessages added in v0.12.0

func AdminPurgeDLQMessages(c *cli.Context)

AdminPurgeDLQMessages deletes messages from DLQ

func AdminPurgeTopic added in v0.5.0

func AdminPurgeTopic(c *cli.Context)

AdminPurgeTopic is used to purge kafka topic

func AdminRefreshWorkflowTasks added in v0.12.0

func AdminRefreshWorkflowTasks(c *cli.Context)

AdminRefreshWorkflowTasks refreshes all the tasks of a workflow

func AdminRemoveTask added in v0.9.0

func AdminRemoveTask(c *cli.Context)

AdminRemoveTask describes history host

func AdminRereplicate added in v0.5.0

func AdminRereplicate(c *cli.Context)

AdminRereplicate parses will re-publish replication tasks to topic

func AdminShardManagement added in v0.9.0

func AdminShardManagement(c *cli.Context)

AdminShardManagement describes history host

func AdminShowWorkflow added in v0.5.0

func AdminShowWorkflow(c *cli.Context)

AdminShowWorkflow shows history

func CancelWorkflow

func CancelWorkflow(c *cli.Context)

CancelWorkflow cancels a workflow execution

func ColorEvent added in v0.3.11

func ColorEvent(e *s.HistoryEvent) string

ColorEvent takes an event and return string with color Event with color mapping rules:

Failed - red
Timeout - yellow
Canceled - magenta
Completed - green
Started - blue
Others - default (white/black)

func CompleteActivity added in v0.5.7

func CompleteActivity(c *cli.Context)

CompleteActivity completes an activity

func CountWorkflow added in v0.6.0

func CountWorkflow(c *cli.Context)

CountWorkflow count number of workflows

func DescribeBatchJob added in v0.7.0

func DescribeBatchJob(c *cli.Context)

DescribeBatchJob describe the status of the batch job

func DescribeTaskList

func DescribeTaskList(c *cli.Context)

DescribeTaskList show pollers info of a given tasklist

func DescribeWorkflow added in v0.3.11

func DescribeWorkflow(c *cli.Context)

DescribeWorkflow show information about the specified workflow execution

func DescribeWorkflowWithID added in v0.3.11

func DescribeWorkflowWithID(c *cli.Context)

DescribeWorkflowWithID show information about the specified workflow execution

func ErrorAndExit

func ErrorAndExit(msg string, err error)

ErrorAndExit print easy to understand error msg first then error detail in a new line

func FailActivity added in v0.5.7

func FailActivity(c *cli.Context)

FailActivity fails an activity

func GenerateReport added in v0.8.0

func GenerateReport(c *cli.Context)

GenerateReport generate report for an aggregation query to ES

func GetHistory

func GetHistory(ctx context.Context, workflowClient client.Client, workflowID, runID string) (*s.History, error)

GetHistory helper method to iterate over all pages and return complete list of history events

func GetSearchAttributes added in v0.5.9

func GetSearchAttributes(c *cli.Context)

GetSearchAttributes get valid search attributes

func HistoryEventToString

func HistoryEventToString(e *s.HistoryEvent, printFully bool, maxFieldLength int) string

HistoryEventToString convert HistoryEvent to string

func ListAllWorkflow added in v0.3.11

func ListAllWorkflow(c *cli.Context)

ListAllWorkflow list all workflow executions based on filters

func ListArchivedWorkflow added in v0.9.3

func ListArchivedWorkflow(c *cli.Context)

ListArchivedWorkflow lists archived workflow executions based on filters

func ListBatchJobs added in v0.7.0

func ListBatchJobs(c *cli.Context)

ListBatchJobs list the started batch jobs

func ListTaskListPartitions added in v0.12.0

func ListTaskListPartitions(c *cli.Context)

ListTaskListPartitions gets all the tasklist partition and host information.

func ListWorkflow

func ListWorkflow(c *cli.Context)

ListWorkflow list workflow executions based on filters

func NewCliApp

func NewCliApp() *cli.App

NewCliApp instantiates a new instance of the CLI application.

func ObserveHistory added in v0.3.11

func ObserveHistory(c *cli.Context)

ObserveHistory show the process of running workflow

func ObserveHistoryWithID added in v0.3.11

func ObserveHistoryWithID(c *cli.Context)

ObserveHistoryWithID show the process of running workflow

func QueryWorkflow

func QueryWorkflow(c *cli.Context)

QueryWorkflow query workflow execution

func QueryWorkflowUsingStackTrace

func QueryWorkflowUsingStackTrace(c *cli.Context)

QueryWorkflowUsingStackTrace query workflow execution using __stack_trace as query type

func ResetInBatch added in v0.5.8

func ResetInBatch(c *cli.Context)

ResetInBatch resets workflow in batch

func ResetWorkflow added in v0.5.2

func ResetWorkflow(c *cli.Context)

ResetWorkflow reset workflow

func RunWorkflow

func RunWorkflow(c *cli.Context)

RunWorkflow starts a new workflow execution and print workflow progress and result

func ScanAllWorkflow added in v0.9.0

func ScanAllWorkflow(c *cli.Context)

ScanAllWorkflow list all workflow executions using Scan API. It should be faster than ListAllWorkflow, but result are not sorted.

func SetFactory added in v0.5.0

func SetFactory(factory ClientFactory)

SetFactory is used to set the ClientFactory global

func SetRequiredDomainDataKeys added in v0.3.14

func SetRequiredDomainDataKeys(keys []string)

SetRequiredDomainDataKeys will set requiredDomainDataKeys

func ShowHistory

func ShowHistory(c *cli.Context)

ShowHistory shows the history of given workflow execution based on workflowID and runID.

func ShowHistoryWithWID

func ShowHistoryWithWID(c *cli.Context)

ShowHistoryWithWID shows the history of given workflow with workflow_id

func SignalWorkflow

func SignalWorkflow(c *cli.Context)

SignalWorkflow signals a workflow execution

func StartBatchJob added in v0.7.0

func StartBatchJob(c *cli.Context)

StartBatchJob starts a batch job

func StartWorkflow

func StartWorkflow(c *cli.Context)

StartWorkflow starts a new workflow execution

func TerminateBatchJob added in v0.7.0

func TerminateBatchJob(c *cli.Context)

TerminateBatchJob stops abatch job

func TerminateWorkflow

func TerminateWorkflow(c *cli.Context)

TerminateWorkflow terminates a workflow execution

Types

type AdminDBCheck added in v0.13.0

type AdminDBCheck interface {
	Check(*CheckRequest) *CheckResult
	ValidRequest(*CheckRequest) bool
}

AdminDBCheck is used to check database invariants

func NewFirstHistoryEventCheck added in v0.13.0

func NewFirstHistoryEventCheck(
	payloadSerializer persistence.PayloadSerializer,
) AdminDBCheck

NewFirstHistoryEventCheck constructs a firstHistoryEventCheck

func NewHistoryExistsCheck added in v0.13.0

func NewHistoryExistsCheck(
	dbRateLimiter *quotas.DynamicRateLimiter,
	historyStore persistence.HistoryStore,
	executionStore persistence.ExecutionStore,
) AdminDBCheck

NewHistoryExistsCheck constructs a historyExistsCheck

func NewOrphanExecutionCheck added in v0.13.0

func NewOrphanExecutionCheck(
	dbRateLimiter *quotas.DynamicRateLimiter,
	executionStore persistence.ExecutionStore,
	payloadSerializer persistence.PayloadSerializer,
) AdminDBCheck

NewOrphanExecutionCheck constructs an orphanExecutionCheck

type BufferedWriter added in v0.13.0

type BufferedWriter interface {
	Add(interface{})
	Flush()
}

BufferedWriter is used to buffer entities and write them to a file

func NewBufferedWriter added in v0.13.0

func NewBufferedWriter(f *os.File) BufferedWriter

NewBufferedWriter constructs a new BufferedWriter

type CheckFailureStats added in v0.13.0

type CheckFailureStats struct {
	ExecutionCheckFailureCount int64
	PercentageCheckFailure     float64
}

CheckFailureStats breaks out stats regarding execution check failures

type CheckRequest added in v0.13.0

type CheckRequest struct {
	ShardID    int
	DomainID   string
	WorkflowID string
	RunID      string
	TreeID     string
	BranchID   string
	State      int
	// PrerequisiteCheckPayload is used to take in any payloads which this check needs
	// which were created by a check ran earlier
	PrerequisiteCheckPayload interface{}
}

CheckRequest is a request to check an execution

type CheckResult added in v0.13.0

type CheckResult struct {
	CheckType             CheckType
	CheckResultStatus     CheckResultStatus
	TotalDatabaseRequests int64
	// Payload can be used to return additional data which can be used by later checks
	Payload   interface{}
	ErrorInfo *ErrorInfo
}

CheckResult is the result of checking an execution

type CheckResultStatus added in v0.13.0

type CheckResultStatus string

CheckResultStatus is the result status of a check

type CheckType added in v0.13.0

type CheckType string

CheckType is the type of check

type CleanOutputDirectories added in v0.13.0

type CleanOutputDirectories struct {
	ShardCleanReportDirectoryPath    string
	SuccessfullyCleanedDirectoryPath string
	FailedCleanedDirectoryPath       string
}

CleanOutputDirectories are the directory paths for output of clean

type CleanProgressReport added in v0.13.0

type CleanProgressReport struct {
	NumberOfShardsFinished        int
	TotalExecutionsCount          int64
	SuccessfullyCleanedCount      int64
	FailedCleanedCount            int64
	FailedToConfirmCorruptedCount int64
	TotalDBRequests               int64
	DatabaseRPS                   float64
	NumberOfShardCleanFailures    int64
	ShardsPerHour                 float64
	ExecutionsPerHour             float64
}

CleanProgressReport represents the aggregate progress of the clean job. It is periodically printed to stdout TODO: move these reports into there own file like we did for scan

type ClientFactory added in v0.5.0

type ClientFactory interface {
	ClientFrontendClient(c *cli.Context) clientFrontend.Interface
	ServerFrontendClient(c *cli.Context) serverFrontend.Interface
	ServerAdminClient(c *cli.Context) serverAdmin.Interface
}

ClientFactory is used to construct rpc clients

func NewClientFactory added in v0.5.0

func NewClientFactory() ClientFactory

NewClientFactory creates a new ClientFactory

type ClustersConfig added in v0.5.0

type ClustersConfig struct {
	Clusters map[string]messaging.ClusterConfig
	TLS      auth.TLS
}

ClustersConfig describes the kafka clusters

type CorruptionStats added in v0.13.0

type CorruptionStats struct {
	CorruptedExecutionsCount int64
	PercentageCorrupted      float64
	CorruptionTypeBreakdown  CorruptionTypeBreakdown
	OpenCorruptions          OpenCorruptions
}

CorruptionStats breaks out stats regarding corrupted executions

type CorruptionTypeBreakdown added in v0.13.0

type CorruptionTypeBreakdown struct {
	TotalHistoryMissing                            int64
	TotalInvalidFirstEvent                         int64
	TotalOpenExecutionInvalidCurrentExecution      int64
	PercentageHistoryMissing                       float64
	PercentageInvalidStartEvent                    float64
	PercentageOpenExecutionInvalidCurrentExecution float64
}

CorruptionTypeBreakdown breaks down counts and percentages of corruption types

type ErrorInfo added in v0.13.0

type ErrorInfo struct {
	Note    string
	Details string
}

ErrorInfo contains information about any errors that occurred

type ExecutionStats added in v0.13.0

type ExecutionStats struct {
	TotalExecutionsCount int64
	CorruptionStats      CorruptionStats
	CheckFailureStats    CheckFailureStats
}

ExecutionStats breaks down execution level stats

type ExecutionToRecord added in v0.13.0

type ExecutionToRecord struct {
	ShardID           int
	DomainID          string
	WorkflowID        string
	RunID             string
	TreeID            string
	BranchID          string
	CloseStatus       int
	State             int
	CheckType         CheckType
	CheckResultStatus CheckResultStatus
	ErrorInfo         *ErrorInfo
}

ExecutionToRecord is an execution which needs to be recorded

type JSONHistorySerializer

type JSONHistorySerializer struct{}

JSONHistorySerializer is used to encode history event in JSON

func (*JSONHistorySerializer) Deserialize

func (j *JSONHistorySerializer) Deserialize(data []byte) (*s.History, error)

Deserialize deserializes history

func (*JSONHistorySerializer) Serialize

func (j *JSONHistorySerializer) Serialize(h *s.History) ([]byte, error)

Serialize serializes history.

type OpenCorruptions added in v0.13.0

type OpenCorruptions struct {
	TotalOpen      int64
	PercentageOpen float64
}

OpenCorruptions breaks down the count and percentage of open workflows which are corrupted

type ProgressReport added in v0.13.0

type ProgressReport struct {
	ShardStats     ShardStats
	ExecutionStats ExecutionStats
	Rates          Rates
}

ProgressReport contains metadata about the scan for all shards which have been finished This is periodically printed to stdout

type Rates added in v0.13.0

type Rates struct {
	TimeRunning       string
	DatabaseRPS       float64
	TotalDBRequests   int64
	ShardsPerHour     float64
	ExecutionsPerHour float64
}

Rates indicates the rates at which the scan is progressing

type ScanOutputDirectories added in v0.13.0

type ScanOutputDirectories struct {
	ShardScanReportDirectoryPath       string
	ExecutionCheckFailureDirectoryPath string
	CorruptedExecutionDirectoryPath    string
}

ScanOutputDirectories are the directory paths for output of scan

type ShardCleanOutputFiles added in v0.13.0

type ShardCleanOutputFiles struct {
	ShardCleanReportFile    *os.File
	SuccessfullyCleanedFile *os.File
	FailedCleanedFile       *os.File
}

ShardCleanOutputFiles are the files produced for a clean of a single shard

type ShardCleanReport added in v0.13.0

type ShardCleanReport struct {
	ShardID         int
	TotalDBRequests int64
	Handled         *ShardCleanReportHandled
	Failure         *ShardCleanReportFailure
}

ShardCleanReport represents the result of cleaning a single shard

type ShardCleanReportFailure added in v0.13.0

type ShardCleanReportFailure struct {
	Note    string
	Details string
}

ShardCleanReportFailure is the part of ShardCleanReport that indicates a failure to clean some or all of the executions found in corruption file

type ShardCleanReportHandled added in v0.13.0

type ShardCleanReportHandled struct {
	TotalExecutionsCount          int64
	SuccessfullyCleanedCount      int64
	FailedCleanedCount            int64
	FailedToConfirmCorruptedCount int64
}

ShardCleanReportHandled is the part of ShardCleanReport of executions which were read from corruption file and were attempted to be deleted

type ShardScanOutputFiles added in v0.13.0

type ShardScanOutputFiles struct {
	ShardScanReportFile       *os.File
	ExecutionCheckFailureFile *os.File
	CorruptedExecutionFile    *os.File
}

ShardScanOutputFiles are the files produced for a scan of a single shard

type ShardScanReport added in v0.13.0

type ShardScanReport struct {
	ShardID         int
	TotalDBRequests int64
	Scanned         *ShardScanReportExecutionsScanned
	Failure         *ShardScanReportFailure
}

ShardScanReport is the type that gets written to ShardScanReportFile

type ShardScanReportExecutionsScanned added in v0.13.0

type ShardScanReportExecutionsScanned struct {
	TotalExecutionsCount       int64
	CorruptedExecutionsCount   int64
	ExecutionCheckFailureCount int64
	CorruptionTypeBreakdown    CorruptionTypeBreakdown
	OpenCorruptions            OpenCorruptions
}

ShardScanReportExecutionsScanned is the part of the ShardScanReport of executions which were scanned

type ShardScanReportFailure added in v0.13.0

type ShardScanReportFailure struct {
	Note    string
	Details string
}

ShardScanReportFailure is the part of the ShardScanReport that indicates failure to scan all or part of the shard

type ShardStats added in v0.13.0

type ShardStats struct {
	NumberOfShardsFinished    int
	NumberOfShardScanFailures int
	ShardsFailed              []int
	MinExecutions             *int64
	MaxExecutions             *int64
	AverageExecutions         int64
}

ShardStats breaks out shard level stats

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL