persistence

package
v1.19.1 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2023 License: MIT Imports: 39 Imported by: 8

Documentation

Overview

Package persistence is a generated GoMock package.

Package persistence is a generated GoMock package.

Index

Constants

View Source
const (
	EmptyQueueMessageID = int64(-1)
	MaxQueueMessageID   = math.MaxInt64
)
View Source
const (
	// InitialFailoverNotificationVersion is the initial failover version for a namespace
	InitialFailoverNotificationVersion int64 = 0
)
View Source
const (
	RateLimitDefaultToken = 1
)
View Source
const ScheduledTaskMinPrecision = time.Millisecond
View Source
const UnknownNumRowsAffected = -1

UnknownNumRowsAffected is returned when the number of rows that an API affected cannot be determined

Variables

View Source
var (
	// ErrInvalidMembershipExpiry is used when upserting new cluster membership with an invalid duration
	ErrInvalidMembershipExpiry = errors.New("membershipExpiry duration should be atleast 1 second")

	// ErrIncompleteMembershipUpsert is used when upserting new cluster membership with missing fields
	ErrIncompleteMembershipUpsert = errors.New("membership upserts require all fields")
)
View Source
var (
	// ErrPersistenceLimitExceeded is the error indicating QPS limit reached.
	ErrPersistenceLimitExceeded = serviceerror.NewResourceExhausted(enumspb.RESOURCE_EXHAUSTED_CAUSE_PERSISTENCE_LIMIT, "Persistence Max QPS Reached.")
)

Functions

func BuildHistoryGarbageCleanupInfo added in v0.27.0

func BuildHistoryGarbageCleanupInfo(namespaceID, workflowID, runID string) string

BuildHistoryGarbageCleanupInfo combine the workflow identity information into a string

func ConstructHistoryTaskAPI added in v1.18.0

func ConstructHistoryTaskAPI(
	baseAPI string,
	taskCategory tasks.Category,
) string

TODO: change the value returned so it can also be used by persistence metrics client. For now, it's only used by rate limit client, and we don't really care about the actual value returned, as long as they are different from each task category.

func GetBeginNodeID added in v0.5.7

func GetBeginNodeID(bi *persistencespb.HistoryBranch) int64

GetBeginNodeID gets node id from last ancestor

func GetOrUseDefaultActiveCluster added in v0.3.7

func GetOrUseDefaultActiveCluster(currentClusterName string, activeClusterName string) string

GetOrUseDefaultActiveCluster return the current cluster name or use the input if valid

func GetOrUseDefaultClusters added in v0.3.7

func GetOrUseDefaultClusters(currentClusterName string, clusters []string) []string

GetOrUseDefaultClusters return the current cluster or use the input if valid

func IsConflictErr added in v1.17.3

func IsConflictErr(err error) bool

func LoadAndSplitQuery added in v1.5.7

func LoadAndSplitQuery(
	filePaths []string,
) ([]string, error)

LoadAndSplitQuery loads and split cql / sql query into one statement per string

func LoadAndSplitQueryFromReaders added in v1.13.0

func LoadAndSplitQueryFromReaders(
	readers []io.Reader,
) ([]string, error)

LoadAndSplitQueryFromReaders loads and split cql / sql query into one statement per string

func NewDataBlob added in v0.4.0

func NewDataBlob(data []byte, encodingTypeStr string) *commonpb.DataBlob

NewDataBlob returns a new DataBlob TODO: return an UnknowEncodingType error with the actual type string when encodingTypeStr is invalid

func NewHistoryBranchToken added in v0.5.0

func NewHistoryBranchToken(treeID, branchID string, ancestors []*persistencespb.HistoryBranchRange) ([]byte, error)

NewHistoryBranchToken return a new branch token

func ParseHistoryBranchToken added in v1.17.3

func ParseHistoryBranchToken(branchToken []byte) (*persistencespb.HistoryBranch, error)

func ReadFullPageEvents added in v1.12.0

func ReadFullPageEvents(
	ctx context.Context,
	executionMgr ExecutionManager,
	req *ReadHistoryBranchRequest,
) ([]*historypb.HistoryEvent, int, []byte, error)

ReadFullPageEvents reads a full page of history events from ExecutionManager. Due to storage format of V2 History it is not guaranteed that pageSize amount of data is returned. Function returns the list of history events, the size of data read, the next page token, and an error if present.

func ReadFullPageEventsByBatch added in v1.12.0

func ReadFullPageEventsByBatch(
	ctx context.Context,
	executionMgr ExecutionManager,
	req *ReadHistoryBranchRequest,
) ([]*historypb.History, int, []byte, error)

ReadFullPageEventsByBatch reads a full page of history events by batch from ExecutionManager. Due to storage format of V2 History it is not guaranteed that pageSize amount of data is returned. Function returns the list of history batches, the size of data read, the next page token, and an error if present.

func ReadFullPageEventsReverse added in v1.16.0

func ReadFullPageEventsReverse(
	ctx context.Context,
	executionMgr ExecutionManager,
	req *ReadHistoryBranchReverseRequest,
) ([]*historypb.HistoryEvent, int, []byte, error)

ReadFullPageEventsReverse reads a full page of history events from ExecutionManager in reverse orcer. Due to storage format of V2 History it is not guaranteed that pageSize amount of data is returned. Function returns the list of history events, the size of data read, the next page token, and an error if present.

func SplitHistoryGarbageCleanupInfo added in v0.27.0

func SplitHistoryGarbageCleanupInfo(info string) (namespaceID, workflowID, runID string, err error)

SplitHistoryGarbageCleanupInfo returns workflow identity information

func ToHistoryTreeInfo added in v1.19.0

func ToHistoryTreeInfo(serializer serialization.Serializer, blob *commonpb.DataBlob) (*persistencespb.HistoryTreeInfo, error)

func UnixMilliseconds added in v1.11.0

func UnixMilliseconds(t time.Time) int64

UnixMilliseconds returns t as a Unix time, the number of milliseconds elapsed since January 1, 1970 UTC. It should be used for all CQL timestamp.

func UpdateHistoryBranchToken added in v1.17.3

func UpdateHistoryBranchToken(branchToken []byte, branchInfo *persistencespb.HistoryBranch) ([]byte, error)

func ValidateConflictResolveWorkflowModeState added in v0.27.0

func ValidateConflictResolveWorkflowModeState(
	mode ConflictResolveWorkflowMode,
	resetWorkflowSnapshot WorkflowSnapshot,
	newWorkflowSnapshot *WorkflowSnapshot,
	currentWorkflowMutation *WorkflowMutation,
) error

ValidateConflictResolveWorkflowModeState validate workflow conflict resolve mode & workflow state

func ValidateCreateWorkflowModeState added in v0.27.0

func ValidateCreateWorkflowModeState(
	mode CreateWorkflowMode,
	newWorkflowSnapshot WorkflowSnapshot,
) error

ValidateCreateWorkflowModeState validate workflow creation mode & workflow state

func ValidateCreateWorkflowStateStatus added in v0.27.0

func ValidateCreateWorkflowStateStatus(
	state enumsspb.WorkflowExecutionState,
	status enumspb.WorkflowExecutionStatus,
) error

ValidateCreateWorkflowStateStatus validate workflow state and close status

func ValidateUpdateWorkflowModeState added in v0.27.0

func ValidateUpdateWorkflowModeState(
	mode UpdateWorkflowMode,
	currentWorkflowMutation WorkflowMutation,
	newWorkflowSnapshot *WorkflowSnapshot,
) error

ValidateUpdateWorkflowModeState validate workflow update mode & workflow state

func ValidateUpdateWorkflowStateStatus added in v0.27.0

func ValidateUpdateWorkflowStateStatus(
	state enumsspb.WorkflowExecutionState,
	status enumspb.WorkflowExecutionStatus,
) error

ValidateUpdateWorkflowStateStatus validate workflow state and status

Types

type AddHistoryTasksRequest added in v1.16.0

type AddHistoryTasksRequest struct {
	ShardID int32
	RangeID int64

	NamespaceID string
	WorkflowID  string
	RunID       string

	Tasks map[tasks.Category][]tasks.Task
}

AddHistoryTasksRequest is used to write new tasks

type AppendHistoryNodesRequest added in v0.5.0

type AppendHistoryNodesRequest struct {
	// The shard to get history node data
	ShardID int32
	// true if this is the first append request to the branch
	IsNewBranch bool
	// the info for clean up data in background
	Info string
	// The branch to be appended
	BranchToken []byte
	// The batch of events to be appended. The first eventID will become the nodeID of this batch
	Events []*historypb.HistoryEvent
	// TransactionID for events before these events. For events chaining
	PrevTransactionID int64
	// requested TransactionID for this write operation. For the same eventID, the node with larger TransactionID always wins
	TransactionID int64
}

AppendHistoryNodesRequest is used to append a batch of history nodes

type AppendHistoryNodesResponse added in v0.5.0

type AppendHistoryNodesResponse struct {
	// the size of the event data that has been appended
	Size int
}

AppendHistoryNodesResponse is a response to AppendHistoryNodesRequest

type AppendHistoryTimeoutError added in v1.19.0

type AppendHistoryTimeoutError struct {
	Msg string
}

AppendHistoryTimeoutError represents a failed insert to history tree / node request

func (*AppendHistoryTimeoutError) Error added in v1.19.0

func (e *AppendHistoryTimeoutError) Error() string

type AppendRawHistoryNodesRequest added in v1.17.0

type AppendRawHistoryNodesRequest struct {
	// The shard to get history node data
	ShardID int32
	// true if this is the first append request to the branch
	IsNewBranch bool
	// the info for clean up data in background
	Info string
	// The branch to be appended
	BranchToken []byte
	// The batch of events to be appended. The first eventID will become the nodeID of this batch
	History *commonpb.DataBlob
	// TransactionID for events before these events. For events chaining
	PrevTransactionID int64
	// requested TransactionID for this write operation. For the same eventID, the node with larger TransactionID always wins
	TransactionID int64
	// NodeID is the first event id.
	NodeID int64
}

AppendRawHistoryNodesRequest is used to append a batch of raw history nodes

type AssertShardOwnershipRequest added in v1.17.0

type AssertShardOwnershipRequest struct {
	ShardID int32
	RangeID int64
}

AssertShardOwnershipRequest is used to assert shard ownership

type Closeable

type Closeable interface {
	Close()
}

Closeable is an interface for any entity that supports a close operation to release resources

type ClusterMember added in v0.27.0

type ClusterMember struct {
	Role          ServiceType
	HostID        uuid.UUID
	RPCAddress    net.IP
	RPCPort       uint16
	SessionStart  time.Time
	LastHeartbeat time.Time
	RecordExpiry  time.Time
}

ClusterMember is used as a response to GetClusterMembers

type ClusterMetadataManager added in v0.27.0

type ClusterMetadataManager interface {
	Closeable
	GetName() string
	GetClusterMembers(ctx context.Context, request *GetClusterMembersRequest) (*GetClusterMembersResponse, error)
	UpsertClusterMembership(ctx context.Context, request *UpsertClusterMembershipRequest) error
	PruneClusterMembership(ctx context.Context, request *PruneClusterMembershipRequest) error
	ListClusterMetadata(ctx context.Context, request *ListClusterMetadataRequest) (*ListClusterMetadataResponse, error)
	GetCurrentClusterMetadata(ctx context.Context) (*GetClusterMetadataResponse, error)
	GetClusterMetadata(ctx context.Context, request *GetClusterMetadataRequest) (*GetClusterMetadataResponse, error)
	SaveClusterMetadata(ctx context.Context, request *SaveClusterMetadataRequest) (bool, error)
	DeleteClusterMetadata(ctx context.Context, request *DeleteClusterMetadataRequest) error
}

ClusterMetadataManager is used to manage cluster-wide metadata and configuration

func NewClusterMetadataManagerImpl added in v0.27.0

func NewClusterMetadataManagerImpl(
	persistence ClusterMetadataStore,
	serializer serialization.Serializer,
	currentClusterName string,
	logger log.Logger,
) ClusterMetadataManager

NewClusterMetadataManagerImpl returns new ClusterMetadataManager

func NewClusterMetadataPersistenceMetricsClient added in v0.27.0

func NewClusterMetadataPersistenceMetricsClient(persistence ClusterMetadataManager, metricsHandler metrics.MetricsHandler, logger log.Logger) ClusterMetadataManager

NewClusterMetadataPersistenceMetricsClient creates a ClusterMetadataManager client to manage cluster metadata

func NewClusterMetadataPersistenceRateLimitedClient added in v0.27.0

func NewClusterMetadataPersistenceRateLimitedClient(persistence ClusterMetadataManager, rateLimiter quotas.RequestRateLimiter, logger log.Logger) ClusterMetadataManager

NewClusterMetadataPersistenceRateLimitedClient creates a MetadataManager client to manage metadata

func NewClusterMetadataPersistenceRetryableClient added in v1.17.3

func NewClusterMetadataPersistenceRetryableClient(
	persistence ClusterMetadataManager,
	policy backoff.RetryPolicy,
	isRetryable backoff.IsRetryable,
) ClusterMetadataManager

NewClusterMetadataPersistenceRetryableClient creates a MetadataManager client to manage metadata

type ClusterMetadataStore added in v0.27.0

type ClusterMetadataStore interface {
	Closeable
	GetName() string
	ListClusterMetadata(ctx context.Context, request *InternalListClusterMetadataRequest) (*InternalListClusterMetadataResponse, error)
	GetClusterMetadata(ctx context.Context, request *InternalGetClusterMetadataRequest) (*InternalGetClusterMetadataResponse, error)
	SaveClusterMetadata(ctx context.Context, request *InternalSaveClusterMetadataRequest) (bool, error)
	DeleteClusterMetadata(ctx context.Context, request *InternalDeleteClusterMetadataRequest) error
	// Membership APIs
	GetClusterMembers(ctx context.Context, request *GetClusterMembersRequest) (*GetClusterMembersResponse, error)
	UpsertClusterMembership(ctx context.Context, request *UpsertClusterMembershipRequest) error
	PruneClusterMembership(ctx context.Context, request *PruneClusterMembershipRequest) error
}

ClusterMetadataStore is a lower level of ClusterMetadataManager. There is no Internal constructs needed to abstract away at the interface level currently,

so we can reimplement the ClusterMetadataManager and leave this as a placeholder.

type CompleteForkBranchRequest added in v0.5.2

type CompleteForkBranchRequest struct {
	// the new branch returned from ForkHistoryBranchRequest
	BranchToken []byte
	// true means the fork is success, will update the flag, otherwise will delete the new branch
	Success bool
	// The shard to update history branch data
	ShardID *int
}

CompleteForkBranchRequest is used to complete forking

type CompleteHistoryTaskRequest added in v1.16.0

type CompleteHistoryTaskRequest struct {
	ShardID      int32
	TaskCategory tasks.Category
	TaskKey      tasks.Key
}

CompleteHistoryTaskRequest delete one history task

type CompleteTaskRequest

type CompleteTaskRequest struct {
	TaskQueue *TaskQueueKey
	TaskID    int64
}

CompleteTaskRequest is used to complete a task

type CompleteTasksLessThanRequest added in v0.5.4

type CompleteTasksLessThanRequest struct {
	NamespaceID        string
	TaskQueueName      string
	TaskType           enumspb.TaskQueueType
	ExclusiveMaxTaskID int64 // Tasks less than this ID will be completed
	Limit              int   // Limit on the max number of tasks that can be completed. Required param
}

CompleteTasksLessThanRequest contains the request params needed to invoke CompleteTasksLessThan API

type ConditionFailedError

type ConditionFailedError struct {
	Msg string
}

ConditionFailedError represents a failed conditional update for execution record

func (*ConditionFailedError) Error

func (e *ConditionFailedError) Error() string

type ConflictResolveWorkflowExecutionRequest added in v0.7.0

type ConflictResolveWorkflowExecutionRequest struct {
	ShardID int32
	RangeID int64

	Mode ConflictResolveWorkflowMode

	// workflow to be resetted
	ResetWorkflowSnapshot WorkflowSnapshot
	ResetWorkflowEvents   []*WorkflowEvents

	// maybe new workflow
	NewWorkflowSnapshot *WorkflowSnapshot
	NewWorkflowEvents   []*WorkflowEvents

	// current workflow
	CurrentWorkflowMutation *WorkflowMutation
	CurrentWorkflowEvents   []*WorkflowEvents
}

ConflictResolveWorkflowExecutionRequest is used to reset workflow execution state for a single run

type ConflictResolveWorkflowExecutionResponse added in v1.13.0

type ConflictResolveWorkflowExecutionResponse struct {
	ResetMutableStateStats   MutableStateStatistics
	NewMutableStateStats     *MutableStateStatistics
	CurrentMutableStateStats *MutableStateStatistics
}

type ConflictResolveWorkflowMode added in v0.27.0

type ConflictResolveWorkflowMode int

ConflictResolveWorkflowMode conflict resolve mode

const (
	// ConflictResolveWorkflowModeUpdateCurrent conflict resolve workflow, including current record
	// NOTE: update on current record is a condition update
	ConflictResolveWorkflowModeUpdateCurrent ConflictResolveWorkflowMode = iota
	// ConflictResolveWorkflowModeBypassCurrent conflict resolve workflow, without current record
	// NOTE: current record CANNOT point to the workflow to be updated
	ConflictResolveWorkflowModeBypassCurrent
)

Conflict Resolve Workflow Mode

type CreateNamespaceRequest added in v0.27.0

type CreateNamespaceRequest struct {
	Namespace         *persistencespb.NamespaceDetail
	IsGlobalNamespace bool
}

CreateNamespaceRequest is used to create the namespace

type CreateNamespaceResponse added in v0.27.0

type CreateNamespaceResponse struct {
	ID string
}

CreateNamespaceResponse is the response for CreateNamespace

type CreateTaskQueueRequest added in v1.15.0

type CreateTaskQueueRequest struct {
	RangeID       int64
	TaskQueueInfo *persistencespb.TaskQueueInfo
}

CreateTaskQueueRequest create a new task queue

type CreateTaskQueueResponse added in v1.15.0

type CreateTaskQueueResponse struct {
}

CreateTaskQueueResponse is the response to CreateTaskQueue

type CreateTasksRequest

type CreateTasksRequest struct {
	TaskQueueInfo *PersistedTaskQueueInfo
	Tasks         []*persistencespb.AllocatedTaskInfo
}

CreateTasksRequest is used to create a new task for a workflow execution

type CreateTasksResponse

type CreateTasksResponse struct {
}

CreateTasksResponse is the response to CreateTasksRequest

type CreateWorkflowExecutionRequest

type CreateWorkflowExecutionRequest struct {
	ShardID int32
	RangeID int64

	Mode CreateWorkflowMode

	PreviousRunID            string
	PreviousLastWriteVersion int64

	NewWorkflowSnapshot WorkflowSnapshot
	NewWorkflowEvents   []*WorkflowEvents
}

CreateWorkflowExecutionRequest is used to write a new workflow execution

type CreateWorkflowExecutionResponse

type CreateWorkflowExecutionResponse struct {
	NewMutableStateStats MutableStateStatistics
}

CreateWorkflowExecutionResponse is the response to CreateWorkflowExecutionRequest

type CreateWorkflowMode added in v0.27.0

type CreateWorkflowMode int

CreateWorkflowMode workflow creation mode

const (
	// CreateWorkflowModeBrandNew fail if current record exists
	// Only applicable for CreateWorkflowExecution
	CreateWorkflowModeBrandNew CreateWorkflowMode = iota
	// CreateWorkflowModeUpdateCurrent update current record only if workflow is closed
	// Only applicable for CreateWorkflowExecution
	CreateWorkflowModeUpdateCurrent
	// CreateWorkflowModeBypassCurrent do not update current record since workflow is in zombie state
	// applicable for CreateWorkflowExecution, UpdateWorkflowExecution
	CreateWorkflowModeBypassCurrent
)

Create Workflow Execution Mode

type CurrentWorkflowConditionFailedError added in v0.4.0

type CurrentWorkflowConditionFailedError struct {
	Msg              string
	RequestID        string
	RunID            string
	State            enumsspb.WorkflowExecutionState
	Status           enumspb.WorkflowExecutionStatus
	LastWriteVersion int64
}

CurrentWorkflowConditionFailedError represents a failed conditional update for current workflow record

func (*CurrentWorkflowConditionFailedError) Error added in v0.4.0

type DeleteClusterMetadataRequest added in v1.14.0

type DeleteClusterMetadataRequest struct {
	ClusterName string
}

DeleteClusterMetadataRequest is the request to DeleteClusterMetadata

type DeleteCurrentWorkflowExecutionRequest added in v0.5.8

type DeleteCurrentWorkflowExecutionRequest struct {
	ShardID     int32
	NamespaceID string
	WorkflowID  string
	RunID       string
}

DeleteCurrentWorkflowExecutionRequest is used to delete the current workflow execution

type DeleteHistoryBranchRequest added in v0.5.0

type DeleteHistoryBranchRequest struct {
	// The shard to delete history branch data
	ShardID int32
	// branch to be deleted
	BranchToken []byte
}

DeleteHistoryBranchRequest is used to remove a history branch

type DeleteNamespaceByNameRequest added in v0.27.0

type DeleteNamespaceByNameRequest struct {
	Name string
}

DeleteNamespaceByNameRequest is used to delete namespace entry from namespaces_by_name table

type DeleteNamespaceRequest added in v0.27.0

type DeleteNamespaceRequest struct {
	ID string
}

DeleteNamespaceRequest is used to delete namespace entry from namespaces table

type DeleteReplicationTaskFromDLQRequest added in v0.27.0

type DeleteReplicationTaskFromDLQRequest struct {
	CompleteHistoryTaskRequest

	SourceClusterName string
}

DeleteReplicationTaskFromDLQRequest is used to delete replication task from DLQ

type DeleteTaskQueueRequest added in v0.27.0

type DeleteTaskQueueRequest struct {
	TaskQueue *TaskQueueKey
	RangeID   int64
}

DeleteTaskQueueRequest contains the request params needed to invoke DeleteTaskQueue API

type DeleteWorkflowExecutionRequest

type DeleteWorkflowExecutionRequest struct {
	ShardID     int32
	NamespaceID string
	WorkflowID  string
	RunID       string
}

DeleteWorkflowExecutionRequest is used to delete a workflow execution

type ExecutionManager

type ExecutionManager interface {
	Closeable
	GetName() string

	CreateWorkflowExecution(ctx context.Context, request *CreateWorkflowExecutionRequest) (*CreateWorkflowExecutionResponse, error)
	UpdateWorkflowExecution(ctx context.Context, request *UpdateWorkflowExecutionRequest) (*UpdateWorkflowExecutionResponse, error)
	ConflictResolveWorkflowExecution(ctx context.Context, request *ConflictResolveWorkflowExecutionRequest) (*ConflictResolveWorkflowExecutionResponse, error)
	DeleteWorkflowExecution(ctx context.Context, request *DeleteWorkflowExecutionRequest) error
	DeleteCurrentWorkflowExecution(ctx context.Context, request *DeleteCurrentWorkflowExecutionRequest) error
	GetCurrentExecution(ctx context.Context, request *GetCurrentExecutionRequest) (*GetCurrentExecutionResponse, error)
	GetWorkflowExecution(ctx context.Context, request *GetWorkflowExecutionRequest) (*GetWorkflowExecutionResponse, error)
	SetWorkflowExecution(ctx context.Context, request *SetWorkflowExecutionRequest) (*SetWorkflowExecutionResponse, error)

	ListConcreteExecutions(ctx context.Context, request *ListConcreteExecutionsRequest) (*ListConcreteExecutionsResponse, error)

	AddHistoryTasks(ctx context.Context, request *AddHistoryTasksRequest) error
	GetHistoryTask(ctx context.Context, request *GetHistoryTaskRequest) (*GetHistoryTaskResponse, error)
	GetHistoryTasks(ctx context.Context, request *GetHistoryTasksRequest) (*GetHistoryTasksResponse, error)
	CompleteHistoryTask(ctx context.Context, request *CompleteHistoryTaskRequest) error
	RangeCompleteHistoryTasks(ctx context.Context, request *RangeCompleteHistoryTasksRequest) error

	PutReplicationTaskToDLQ(ctx context.Context, request *PutReplicationTaskToDLQRequest) error
	GetReplicationTasksFromDLQ(ctx context.Context, request *GetReplicationTasksFromDLQRequest) (*GetHistoryTasksResponse, error)
	DeleteReplicationTaskFromDLQ(ctx context.Context, request *DeleteReplicationTaskFromDLQRequest) error
	RangeDeleteReplicationTaskFromDLQ(ctx context.Context, request *RangeDeleteReplicationTaskFromDLQRequest) error

	// AppendHistoryNodes add a node to history node table
	AppendHistoryNodes(ctx context.Context, request *AppendHistoryNodesRequest) (*AppendHistoryNodesResponse, error)
	// AppendRawHistoryNodes add a node of raw histories to history node table
	AppendRawHistoryNodes(ctx context.Context, request *AppendRawHistoryNodesRequest) (*AppendHistoryNodesResponse, error)
	// ParseHistoryBranchInfo parses the history branch for branch information
	ParseHistoryBranchInfo(ctx context.Context, request *ParseHistoryBranchInfoRequest) (*ParseHistoryBranchInfoResponse, error)
	// UpdateHistoryBranchInfo updates the history branch with branch information
	UpdateHistoryBranchInfo(ctx context.Context, request *UpdateHistoryBranchInfoRequest) (*UpdateHistoryBranchInfoResponse, error)
	// NewHistoryBranch initializes a new history branch
	NewHistoryBranch(ctx context.Context, request *NewHistoryBranchRequest) (*NewHistoryBranchResponse, error)
	// ReadHistoryBranch returns history node data for a branch
	ReadHistoryBranch(ctx context.Context, request *ReadHistoryBranchRequest) (*ReadHistoryBranchResponse, error)
	// ReadHistoryBranchByBatch returns history node data for a branch ByBatch
	ReadHistoryBranchByBatch(ctx context.Context, request *ReadHistoryBranchRequest) (*ReadHistoryBranchByBatchResponse, error)
	// ReadHistoryBranchReverse returns history node data for a branch
	ReadHistoryBranchReverse(ctx context.Context, request *ReadHistoryBranchReverseRequest) (*ReadHistoryBranchReverseResponse, error)
	// ReadRawHistoryBranch returns history node raw data for a branch ByBatch
	// NOTE: this API should only be used by 3+DC
	ReadRawHistoryBranch(ctx context.Context, request *ReadHistoryBranchRequest) (*ReadRawHistoryBranchResponse, error)
	// ForkHistoryBranch forks a new branch from a old branch
	ForkHistoryBranch(ctx context.Context, request *ForkHistoryBranchRequest) (*ForkHistoryBranchResponse, error)
	// DeleteHistoryBranch removes a branch
	// If this is the last branch to delete, it will also remove the root node
	DeleteHistoryBranch(ctx context.Context, request *DeleteHistoryBranchRequest) error
	// TrimHistoryBranch validate & trim a history branch
	TrimHistoryBranch(ctx context.Context, request *TrimHistoryBranchRequest) (*TrimHistoryBranchResponse, error)
	// GetHistoryTree returns all branch information of a tree
	GetHistoryTree(ctx context.Context, request *GetHistoryTreeRequest) (*GetHistoryTreeResponse, error)
	// GetAllHistoryTreeBranches returns all branches of all trees
	GetAllHistoryTreeBranches(ctx context.Context, request *GetAllHistoryTreeBranchesRequest) (*GetAllHistoryTreeBranchesResponse, error)
}

ExecutionManager is used to manage workflow executions

func NewExecutionManager added in v1.11.0

func NewExecutionManager(
	persistence ExecutionStore,
	serializer serialization.Serializer,
	logger log.Logger,
	transactionSizeLimit dynamicconfig.IntPropertyFn,
) ExecutionManager

NewExecutionManager returns new ExecutionManager

func NewExecutionPersistenceMetricsClient added in v1.12.0

func NewExecutionPersistenceMetricsClient(persistence ExecutionManager, metricsHandler metrics.MetricsHandler, logger log.Logger) ExecutionManager

NewExecutionPersistenceMetricsClient creates a client to manage executions

func NewExecutionPersistenceRateLimitedClient added in v1.12.0

func NewExecutionPersistenceRateLimitedClient(persistence ExecutionManager, rateLimiter quotas.RequestRateLimiter, logger log.Logger) ExecutionManager

NewExecutionPersistenceRateLimitedClient creates a client to manage executions

func NewExecutionPersistenceRetryableClient added in v1.17.3

func NewExecutionPersistenceRetryableClient(
	persistence ExecutionManager,
	policy backoff.RetryPolicy,
	isRetryable backoff.IsRetryable,
) ExecutionManager

NewExecutionPersistenceRetryableClient creates a client to manage executions

type ExecutionStore added in v0.4.0

type ExecutionStore interface {
	Closeable
	GetName() string
	// The below three APIs are related to serialization/deserialization
	CreateWorkflowExecution(ctx context.Context, request *InternalCreateWorkflowExecutionRequest) (*InternalCreateWorkflowExecutionResponse, error)
	UpdateWorkflowExecution(ctx context.Context, request *InternalUpdateWorkflowExecutionRequest) error
	ConflictResolveWorkflowExecution(ctx context.Context, request *InternalConflictResolveWorkflowExecutionRequest) error

	DeleteWorkflowExecution(ctx context.Context, request *DeleteWorkflowExecutionRequest) error
	DeleteCurrentWorkflowExecution(ctx context.Context, request *DeleteCurrentWorkflowExecutionRequest) error
	GetCurrentExecution(ctx context.Context, request *GetCurrentExecutionRequest) (*InternalGetCurrentExecutionResponse, error)
	GetWorkflowExecution(ctx context.Context, request *GetWorkflowExecutionRequest) (*InternalGetWorkflowExecutionResponse, error)
	SetWorkflowExecution(ctx context.Context, request *InternalSetWorkflowExecutionRequest) error

	// Scan related methods
	ListConcreteExecutions(ctx context.Context, request *ListConcreteExecutionsRequest) (*InternalListConcreteExecutionsResponse, error)

	// Tasks related APIs
	AddHistoryTasks(ctx context.Context, request *InternalAddHistoryTasksRequest) error
	GetHistoryTask(ctx context.Context, request *GetHistoryTaskRequest) (*InternalGetHistoryTaskResponse, error)
	GetHistoryTasks(ctx context.Context, request *GetHistoryTasksRequest) (*InternalGetHistoryTasksResponse, error)
	CompleteHistoryTask(ctx context.Context, request *CompleteHistoryTaskRequest) error
	RangeCompleteHistoryTasks(ctx context.Context, request *RangeCompleteHistoryTasksRequest) error

	PutReplicationTaskToDLQ(ctx context.Context, request *PutReplicationTaskToDLQRequest) error
	GetReplicationTasksFromDLQ(ctx context.Context, request *GetReplicationTasksFromDLQRequest) (*InternalGetReplicationTasksFromDLQResponse, error)
	DeleteReplicationTaskFromDLQ(ctx context.Context, request *DeleteReplicationTaskFromDLQRequest) error
	RangeDeleteReplicationTaskFromDLQ(ctx context.Context, request *RangeDeleteReplicationTaskFromDLQRequest) error

	// AppendHistoryNodes add a node to history node table
	AppendHistoryNodes(ctx context.Context, request *InternalAppendHistoryNodesRequest) error
	// DeleteHistoryNodes delete a node from history node table
	DeleteHistoryNodes(ctx context.Context, request *InternalDeleteHistoryNodesRequest) error
	// ParseHistoryBranchInfo parses the history branch for branch information
	ParseHistoryBranchInfo(ctx context.Context, request *ParseHistoryBranchInfoRequest) (*ParseHistoryBranchInfoResponse, error)
	// UpdateHistoryBranchInfo updates the history branch with branch information
	UpdateHistoryBranchInfo(ctx context.Context, request *UpdateHistoryBranchInfoRequest) (*UpdateHistoryBranchInfoResponse, error)
	// NewHistoryBranch initializes a new history branch
	NewHistoryBranch(ctx context.Context, request *NewHistoryBranchRequest) (*NewHistoryBranchResponse, error)
	// ReadHistoryBranch returns history node data for a branch
	ReadHistoryBranch(ctx context.Context, request *InternalReadHistoryBranchRequest) (*InternalReadHistoryBranchResponse, error)
	// ForkHistoryBranch forks a new branch from a old branch
	ForkHistoryBranch(ctx context.Context, request *InternalForkHistoryBranchRequest) error
	// DeleteHistoryBranch removes a branch
	DeleteHistoryBranch(ctx context.Context, request *InternalDeleteHistoryBranchRequest) error
	// GetHistoryTree returns all branch information of a tree
	GetHistoryTree(ctx context.Context, request *GetHistoryTreeRequest) (*InternalGetHistoryTreeResponse, error)
	// GetAllHistoryTreeBranches returns all branches of all trees.
	// Note that branches may be skipped or duplicated across pages if there are branches created or deleted while
	// paginating through results.
	GetAllHistoryTreeBranches(ctx context.Context, request *GetAllHistoryTreeBranchesRequest) (*InternalGetAllHistoryTreeBranchesResponse, error)
}

ExecutionStore is used to manage workflow execution including mutable states / history / tasks.

type FailoverLevel added in v1.16.0

type FailoverLevel struct {
	StartTime    time.Time
	MinLevel     tasks.Key
	CurrentLevel tasks.Key
	MaxLevel     tasks.Key
	NamespaceIDs map[string]struct{}
}

FailoverLevel contains corresponding start / end level

type ForkHistoryBranchRequest added in v0.5.0

type ForkHistoryBranchRequest struct {
	// The shard to get history branch data
	ShardID int32
	// The base branch to fork from
	ForkBranchToken []byte
	// The nodeID to fork from, the new branch will start from ( inclusive ), the base branch will stop at(exclusive)
	// Application must provide a void forking nodeID, it must be a valid nodeID in that branch. A valid nodeID is the firstEventID of a valid batch of events.
	// And ForkNodeID > 1 because forking from 1 doesn't make any sense.
	ForkNodeID int64
	// the info for clean up data in background
	Info string
}

ForkHistoryBranchRequest is used to fork a history branch

type ForkHistoryBranchResponse added in v0.5.0

type ForkHistoryBranchResponse struct {
	// branchToken to represent the new branch
	NewBranchToken []byte
}

ForkHistoryBranchResponse is the response to ForkHistoryBranchRequest

type GetAllHistoryTreeBranchesRequest added in v0.27.0

type GetAllHistoryTreeBranchesRequest struct {
	// pagination token
	NextPageToken []byte
	// maximum number of branches returned per page
	PageSize int
}

GetAllHistoryTreeBranchesRequest is a request of GetAllHistoryTreeBranches

type GetAllHistoryTreeBranchesResponse added in v0.27.0

type GetAllHistoryTreeBranchesResponse struct {
	// pagination token
	NextPageToken []byte
	// all branches of all trees
	Branches []HistoryBranchDetail
}

GetAllHistoryTreeBranchesResponse is a response to GetAllHistoryTreeBranches

type GetClusterMembersRequest added in v0.27.0

type GetClusterMembersRequest struct {
	LastHeartbeatWithin time.Duration
	RPCAddressEquals    net.IP
	HostIDEquals        uuid.UUID
	RoleEquals          ServiceType
	SessionStartedAfter time.Time
	NextPageToken       []byte
	PageSize            int
}

GetClusterMembersRequest is the request to GetClusterMembers

type GetClusterMembersResponse added in v0.27.0

type GetClusterMembersResponse struct {
	ActiveMembers []*ClusterMember
	NextPageToken []byte
}

GetClusterMembersResponse is the response to GetClusterMembers

type GetClusterMetadataRequest added in v1.14.0

type GetClusterMetadataRequest struct {
	ClusterName string
}

GetClusterMetadataRequest is the request to GetClusterMetadata

type GetClusterMetadataResponse added in v1.1.0

type GetClusterMetadataResponse struct {
	persistencespb.ClusterMetadata
	Version int64
}

GetClusterMetadataResponse is the response to GetClusterMetadata

type GetCurrentExecutionRequest

type GetCurrentExecutionRequest struct {
	ShardID     int32
	NamespaceID string
	WorkflowID  string
}

GetCurrentExecutionRequest is used to retrieve the current RunId for an execution

type GetCurrentExecutionResponse

type GetCurrentExecutionResponse struct {
	StartRequestID string
	RunID          string
	State          enumsspb.WorkflowExecutionState
	Status         enumspb.WorkflowExecutionStatus
}

GetCurrentExecutionResponse is the response to GetCurrentExecution

type GetHistoryTaskRequest added in v1.16.0

type GetHistoryTaskRequest struct {
	ShardID      int32
	TaskCategory tasks.Category
	TaskKey      tasks.Key
}

GetHistoryTaskRequest is used to get a workflow task

type GetHistoryTaskResponse added in v1.16.0

type GetHistoryTaskResponse struct {
	Task tasks.Task
}

GetHistoryTaskResponse is the response for GetHistoryTask

type GetHistoryTasksRequest added in v1.16.0

type GetHistoryTasksRequest struct {
	ShardID             int32
	TaskCategory        tasks.Category
	InclusiveMinTaskKey tasks.Key
	ExclusiveMaxTaskKey tasks.Key
	BatchSize           int
	NextPageToken       []byte
}

GetHistoryTasksRequest is used to get a range of history tasks Either max TaskID or FireTime is required depending on the task category type. Min TaskID or FireTime is optional.

type GetHistoryTasksResponse added in v1.16.0

type GetHistoryTasksResponse struct {
	Tasks         []tasks.Task
	NextPageToken []byte
}

GetHistoryTasksResponse is the response for GetHistoryTasks

type GetHistoryTreeRequest added in v0.5.0

type GetHistoryTreeRequest struct {
	// A UUID of a tree
	TreeID string
	// Get data from this shard
	ShardID *int32
	// optional: can provide treeID via branchToken if treeID is empty
	BranchToken []byte
}

GetHistoryTreeRequest is used to retrieve branch info of a history tree

type GetHistoryTreeResponse added in v0.5.0

type GetHistoryTreeResponse struct {
	// all branches of a tree
	BranchTokens [][]byte
}

GetHistoryTreeResponse is a response to GetHistoryTreeRequest

type GetMetadataResponse added in v0.3.13

type GetMetadataResponse struct {
	NotificationVersion int64
}

GetMetadataResponse is the response for GetMetadata

type GetNamespaceRequest added in v0.27.0

type GetNamespaceRequest struct {
	ID   string
	Name string
}

GetNamespaceRequest is used to read namespace

type GetNamespaceResponse added in v0.27.0

type GetNamespaceResponse struct {
	Namespace           *persistencespb.NamespaceDetail
	IsGlobalNamespace   bool
	NotificationVersion int64
}

GetNamespaceResponse is the response for GetNamespace

type GetOrCreateShardRequest added in v1.14.0

type GetOrCreateShardRequest struct {
	ShardID          int32
	InitialShardInfo *persistencespb.ShardInfo // optional, zero value will be used if missing
	LifecycleContext context.Context           // cancelled when shard is unloaded
}

GetOrCreateShardRequest is used to get shard information, or supply initial information to create a shard in executions table

type GetOrCreateShardResponse added in v1.14.0

type GetOrCreateShardResponse struct {
	ShardInfo *persistencespb.ShardInfo
}

GetOrCreateShardResponse is the response to GetOrCreateShard

type GetReplicationTasksFromDLQRequest added in v0.27.0

type GetReplicationTasksFromDLQRequest struct {
	GetHistoryTasksRequest

	SourceClusterName string
}

GetReplicationTasksFromDLQRequest is used to get replication tasks from dlq

type GetReplicationTasksRequest added in v0.3.11

type GetReplicationTasksRequest struct {
	ShardID       int32
	MinTaskID     int64
	MaxTaskID     int64
	BatchSize     int
	NextPageToken []byte
}

GetReplicationTasksRequest is used to read tasks from the replication task queue

type GetTaskQueueRequest added in v1.15.0

type GetTaskQueueRequest struct {
	NamespaceID string
	TaskQueue   string
	TaskType    enumspb.TaskQueueType
}

GetTaskQueueRequest get the target task queue

type GetTaskQueueResponse added in v1.15.0

type GetTaskQueueResponse struct {
	RangeID       int64
	TaskQueueInfo *persistencespb.TaskQueueInfo
}

GetTaskQueueResponse is the response to GetTaskQueue

type GetTasksRequest

type GetTasksRequest struct {
	NamespaceID        string
	TaskQueue          string
	TaskType           enumspb.TaskQueueType
	InclusiveMinTaskID int64
	ExclusiveMaxTaskID int64
	PageSize           int
	NextPageToken      []byte
}

GetTasksRequest is used to retrieve tasks of a task queue

type GetTasksResponse

type GetTasksResponse struct {
	Tasks         []*persistencespb.AllocatedTaskInfo
	NextPageToken []byte
}

GetTasksResponse is the response to GetTasksRequests

type GetWorkflowExecutionRequest

type GetWorkflowExecutionRequest struct {
	ShardID     int32
	NamespaceID string
	WorkflowID  string
	RunID       string
}

GetWorkflowExecutionRequest is used to retrieve the info of a workflow execution

type GetWorkflowExecutionResponse

type GetWorkflowExecutionResponse struct {
	State             *persistencespb.WorkflowMutableState
	DBRecordVersion   int64
	MutableStateStats MutableStateStatistics
}

GetWorkflowExecutionResponse is the response to GetWorkflowExecutionRequest

type HistoryBranchDetail added in v0.27.0

type HistoryBranchDetail struct {
	BranchToken []byte
	ForkTime    *time.Time
	Info        string
}

HistoryBranchDetail contains detailed information of a branch

type HistoryStatistics added in v1.13.0

type HistoryStatistics struct {
	SizeDiff  int
	CountDiff int
}

type InternalAddHistoryTasksRequest added in v1.16.0

type InternalAddHistoryTasksRequest struct {
	ShardID int32
	RangeID int64

	NamespaceID string
	WorkflowID  string
	RunID       string

	Tasks map[tasks.Category][]InternalHistoryTask
}

InternalAddHistoryTasksRequest is used to write new tasks

type InternalAppendHistoryNodesRequest added in v0.5.0

type InternalAppendHistoryNodesRequest struct {
	// The raw branch token
	BranchToken []byte
	// True if it is the first append request to the branch
	IsNewBranch bool
	// The info for clean up data in background
	Info string
	// The branch to be appended
	BranchInfo *persistencespb.HistoryBranch
	// Serialized TreeInfo
	TreeInfo *commonpb.DataBlob
	// The history node
	Node InternalHistoryNode
	// Used in sharded data stores to identify which shard to use
	ShardID int32
}

InternalAppendHistoryNodesRequest is used to append a batch of history nodes

type InternalCompleteForkBranchRequest added in v0.5.2

type InternalCompleteForkBranchRequest struct {
	// branch to be updated
	BranchInfo persistencespb.HistoryBranch
	// whether fork is successful
	Success bool
	// Used in sharded data stores to identify which shard to use
	ShardID int32
}

InternalCompleteForkBranchRequest is used to update some tree/branch meta data for forking

type InternalConflictResolveWorkflowExecutionRequest added in v0.7.0

type InternalConflictResolveWorkflowExecutionRequest struct {
	ShardID int32
	RangeID int64

	Mode ConflictResolveWorkflowMode

	// workflow to be resetted
	ResetWorkflowSnapshot        InternalWorkflowSnapshot
	ResetWorkflowEventsNewEvents []*InternalAppendHistoryNodesRequest
	// maybe new workflow
	NewWorkflowSnapshot        *InternalWorkflowSnapshot
	NewWorkflowEventsNewEvents []*InternalAppendHistoryNodesRequest

	// current workflow
	CurrentWorkflowMutation        *InternalWorkflowMutation
	CurrentWorkflowEventsNewEvents []*InternalAppendHistoryNodesRequest
}

InternalConflictResolveWorkflowExecutionRequest is used to reset workflow execution state for Persistence Interface

type InternalCreateNamespaceRequest added in v0.27.0

type InternalCreateNamespaceRequest struct {
	ID        string
	Name      string
	Namespace *commonpb.DataBlob
	IsGlobal  bool
}

InternalCreateNamespaceRequest is used to create the namespace

type InternalCreateTask added in v1.11.0

type InternalCreateTask struct {
	TaskId     int64
	ExpiryTime *time.Time
	Task       *commonpb.DataBlob
}

type InternalCreateTaskQueueRequest added in v1.11.0

type InternalCreateTaskQueueRequest struct {
	NamespaceID   string
	TaskQueue     string
	TaskType      enumspb.TaskQueueType
	RangeID       int64
	TaskQueueInfo *commonpb.DataBlob

	TaskQueueKind enumspb.TaskQueueKind
	ExpiryTime    *time.Time
}

type InternalCreateTasksRequest added in v1.11.0

type InternalCreateTasksRequest struct {
	NamespaceID   string
	TaskQueue     string
	TaskType      enumspb.TaskQueueType
	RangeID       int64
	TaskQueueInfo *commonpb.DataBlob
	Tasks         []*InternalCreateTask
}

type InternalCreateWorkflowExecutionRequest added in v0.5.7

type InternalCreateWorkflowExecutionRequest struct {
	ShardID int32
	RangeID int64

	Mode CreateWorkflowMode

	PreviousRunID            string
	PreviousLastWriteVersion int64

	NewWorkflowSnapshot  InternalWorkflowSnapshot
	NewWorkflowNewEvents []*InternalAppendHistoryNodesRequest
}

InternalCreateWorkflowExecutionRequest is used to write a new workflow execution

type InternalCreateWorkflowExecutionResponse added in v1.12.0

type InternalCreateWorkflowExecutionResponse struct {
}

InternalCreateWorkflowExecutionResponse is the response from persistence for create new workflow execution

type InternalDeleteClusterMetadataRequest added in v1.14.0

type InternalDeleteClusterMetadataRequest struct {
	ClusterName string
}

InternalDeleteClusterMetadataRequest is the request for DeleteClusterMetadata

type InternalDeleteHistoryBranchRange added in v1.11.0

type InternalDeleteHistoryBranchRange struct {
	BranchId    string
	BeginNodeId int64 // delete nodes with ID >= BeginNodeId
}

InternalDeleteHistoryBranchRange is used to delete a range of history nodes of a branch

type InternalDeleteHistoryBranchRequest added in v0.5.0

type InternalDeleteHistoryBranchRequest struct {
	// The raw branch token
	BranchToken []byte
	// Used in sharded data stores to identify which shard to use
	ShardID  int32
	TreeId   string // TreeId, BranchId is used to delete target history branch itself.
	BranchId string
	// branch ranges is used to delete range of history nodes from target branch and it ancestors.
	BranchRanges []InternalDeleteHistoryBranchRange
}

InternalDeleteHistoryBranchRequest is used to remove a history branch

type InternalDeleteHistoryNodesRequest added in v1.9.0

type InternalDeleteHistoryNodesRequest struct {
	// The raw branch token
	BranchToken []byte
	// Used in sharded data stores to identify which shard to use
	ShardID int32
	// The branch to be appended
	BranchInfo *persistencespb.HistoryBranch
	// node ID of the history node
	NodeID int64
	// transaction ID of the history node
	TransactionID int64
}

InternalDeleteHistoryNodesRequest is used to remove a history node

type InternalForkHistoryBranchRequest added in v0.5.0

type InternalForkHistoryBranchRequest struct {
	// The raw branch token
	BranchToken []byte
	// The base branch to fork from
	ForkBranchInfo *persistencespb.HistoryBranch
	// Serialized TreeInfo
	TreeInfo *commonpb.DataBlob
	// The nodeID to fork from, the new branch will start from ( inclusive ), the base branch will stop at(exclusive)
	ForkNodeID int64
	// branchID of the new branch
	NewBranchID string
	// the info for clean up data in background
	Info string
	// Used in sharded data stores to identify which shard to use
	ShardID int32
}

InternalForkHistoryBranchRequest is used to fork a history branch

type InternalGetAllHistoryTreeBranchesResponse added in v1.11.0

type InternalGetAllHistoryTreeBranchesResponse struct {
	// pagination token
	NextPageToken []byte
	// all branches of all trees
	Branches []InternalHistoryBranchDetail
}

InternalGetAllHistoryTreeBranchesResponse is response to GetAllHistoryTreeBranches Only used by persistence layer

type InternalGetClusterMetadataRequest added in v1.14.0

type InternalGetClusterMetadataRequest struct {
	ClusterName string
}

InternalGetClusterMetadataRequest is the request for GetClusterMetadata

type InternalGetClusterMetadataResponse added in v1.1.0

type InternalGetClusterMetadataResponse struct {
	// Serialized MutableCusterMetadata.
	ClusterMetadata *commonpb.DataBlob
	Version         int64
}

InternalGetClusterMetadataResponse is the response for GetClusterMetadata

type InternalGetCurrentExecutionResponse added in v1.11.0

type InternalGetCurrentExecutionResponse struct {
	RunID          string
	ExecutionState *persistencespb.WorkflowExecutionState
}

type InternalGetHistoryTaskResponse added in v1.16.0

type InternalGetHistoryTaskResponse struct {
	InternalHistoryTask
}

type InternalGetHistoryTasksResponse added in v1.16.0

type InternalGetHistoryTasksResponse struct {
	Tasks         []InternalHistoryTask
	NextPageToken []byte
}

type InternalGetHistoryTreeResponse added in v1.11.0

type InternalGetHistoryTreeResponse struct {
	// TreeInfos
	TreeInfos []*commonpb.DataBlob
}

InternalGetHistoryTreeResponse is response to GetHistoryTree Only used by persistence layer

type InternalGetNamespaceResponse added in v0.27.0

type InternalGetNamespaceResponse struct {
	Namespace           *commonpb.DataBlob
	IsGlobal            bool
	NotificationVersion int64
}

InternalGetNamespaceResponse is the response for GetNamespace

type InternalGetOrCreateShardRequest added in v1.14.0

type InternalGetOrCreateShardRequest struct {
	ShardID          int32
	CreateShardInfo  func() (rangeID int64, shardInfo *commonpb.DataBlob, err error)
	LifecycleContext context.Context // cancelled when shard is unloaded
}

InternalGetOrCreateShardRequest is used by ShardStore to retrieve or create a shard. GetOrCreateShard should: if shard exists, return it. If not, call CreateShardInfo and create the shard with the returned value.

type InternalGetOrCreateShardResponse added in v1.14.0

type InternalGetOrCreateShardResponse struct {
	ShardInfo *commonpb.DataBlob
}

InternalGetOrCreateShardResponse is the response to GetShard

type InternalGetReplicationTasksFromDLQResponse added in v1.14.0

type InternalGetReplicationTasksFromDLQResponse = InternalGetHistoryTasksResponse

type InternalGetTaskQueueRequest added in v1.11.0

type InternalGetTaskQueueRequest struct {
	NamespaceID string
	TaskQueue   string
	TaskType    enumspb.TaskQueueType
}

type InternalGetTaskQueueResponse added in v1.11.0

type InternalGetTaskQueueResponse struct {
	RangeID       int64
	TaskQueueInfo *commonpb.DataBlob
}

type InternalGetTasksResponse added in v1.11.0

type InternalGetTasksResponse struct {
	Tasks         []*commonpb.DataBlob
	NextPageToken []byte
}

type InternalGetWorkflowExecutionResponse added in v0.4.0

type InternalGetWorkflowExecutionResponse struct {
	State           *InternalWorkflowMutableState
	DBRecordVersion int64
}

InternalGetWorkflowExecutionResponse is the response to GetworkflowExecution for Persistence Interface

type InternalHistoryBranchDetail added in v1.11.0

type InternalHistoryBranchDetail struct {
	TreeID   string
	BranchID string
	Encoding string
	Data     []byte // HistoryTreeInfo blob
}

InternalHistoryBranchDetail used by InternalGetAllHistoryTreeBranchesResponse

type InternalHistoryNode added in v1.9.0

type InternalHistoryNode struct {
	// The first eventID becomes the nodeID to be appended
	NodeID int64
	// requested TransactionID for this write operation. For the same eventID, the node with larger TransactionID always wins
	TransactionID int64
	// TransactionID for events before these events. For events chaining
	PrevTransactionID int64
	// The events to be appended
	Events *commonpb.DataBlob
}

InternalHistoryNode represent a history node metadata

type InternalHistoryTask added in v1.16.0

type InternalHistoryTask struct {
	Key  tasks.Key
	Blob commonpb.DataBlob
}

type InternalListClusterMetadataRequest added in v1.14.0

type InternalListClusterMetadataRequest struct {
	PageSize      int
	NextPageToken []byte
}

InternalListClusterMetadataRequest is the request for ListClusterMetadata

type InternalListClusterMetadataResponse added in v1.14.0

type InternalListClusterMetadataResponse struct {
	ClusterMetadata []*InternalGetClusterMetadataResponse
	NextPageToken   []byte
}

InternalListClusterMetadataResponse is the response for ListClusterMetadata

type InternalListConcreteExecutionsResponse added in v0.27.0

type InternalListConcreteExecutionsResponse struct {
	States        []*InternalWorkflowMutableState
	NextPageToken []byte
}

InternalListConcreteExecutionsResponse is the response to ListConcreteExecutions for Persistence Interface

type InternalListNamespacesRequest added in v1.16.0

type InternalListNamespacesRequest struct {
	PageSize      int
	NextPageToken []byte
}

type InternalListNamespacesResponse added in v0.27.0

type InternalListNamespacesResponse struct {
	Namespaces    []*InternalGetNamespaceResponse
	NextPageToken []byte
}

InternalListNamespacesResponse is the response for GetNamespace

type InternalListTaskQueueItem added in v1.11.0

type InternalListTaskQueueItem struct {
	TaskQueue *commonpb.DataBlob // serialized PersistedTaskQueueInfo
	RangeID   int64
}

type InternalListTaskQueueResponse added in v1.11.0

type InternalListTaskQueueResponse struct {
	Items         []*InternalListTaskQueueItem
	NextPageToken []byte
}

type InternalQueueMetadata added in v1.11.0

type InternalQueueMetadata struct {
	Blob    *commonpb.DataBlob
	Version int64
}

type InternalReadHistoryBranchRequest added in v0.5.0

type InternalReadHistoryBranchRequest struct {
	// The raw branch token
	BranchToken []byte
	// The tree of branch range to be read
	TreeID string
	// The branch range to be read
	BranchID string
	// Get the history nodes from MinNodeID. Inclusive.
	MinNodeID int64
	// Get the history nodes upto MaxNodeID.  Exclusive.
	MaxNodeID int64
	// passing thru for pagination
	PageSize int
	// Pagination token
	NextPageToken []byte
	// Used in sharded data stores to identify which shard to use
	ShardID int32
	// whether to only return metadata, excluding node content
	MetadataOnly bool
	// whether we iterate in reverse order
	ReverseOrder bool
}

InternalReadHistoryBranchRequest is used to read a history branch

type InternalReadHistoryBranchResponse added in v0.5.0

type InternalReadHistoryBranchResponse struct {
	// History nodes
	Nodes []InternalHistoryNode
	// Pagination token
	NextPageToken []byte
}

InternalReadHistoryBranchResponse is the response to ReadHistoryBranchRequest

type InternalRenameNamespaceRequest added in v1.16.0

type InternalRenameNamespaceRequest struct {
	*InternalUpdateNamespaceRequest
	PreviousName string
}

type InternalSaveClusterMetadataRequest added in v1.1.0

type InternalSaveClusterMetadataRequest struct {
	ClusterName string
	// Serialized MutableCusterMetadata.
	ClusterMetadata *commonpb.DataBlob
	Version         int64
}

InternalSaveClusterMetadataRequest is the request for SaveClusterMetadata

type InternalSetWorkflowExecutionRequest added in v1.16.0

type InternalSetWorkflowExecutionRequest struct {
	ShardID int32
	RangeID int64

	SetWorkflowSnapshot InternalWorkflowSnapshot
}

type InternalUpdateNamespaceRequest added in v0.27.0

type InternalUpdateNamespaceRequest struct {
	Id                  string
	Name                string
	Namespace           *commonpb.DataBlob
	NotificationVersion int64
	IsGlobal            bool
}

InternalUpdateNamespaceRequest is used to update namespace

type InternalUpdateShardRequest added in v1.11.0

type InternalUpdateShardRequest struct {
	ShardID         int32
	RangeID         int64
	ShardInfo       *commonpb.DataBlob
	PreviousRangeID int64
}

InternalUpdateShardRequest is used by ShardStore to update a shard

type InternalUpdateTaskQueueRequest added in v1.11.0

type InternalUpdateTaskQueueRequest struct {
	NamespaceID   string
	TaskQueue     string
	TaskType      enumspb.TaskQueueType
	RangeID       int64
	TaskQueueInfo *commonpb.DataBlob

	TaskQueueKind enumspb.TaskQueueKind
	ExpiryTime    *time.Time

	PrevRangeID int64
}

type InternalUpdateWorkflowExecutionRequest added in v0.4.0

type InternalUpdateWorkflowExecutionRequest struct {
	ShardID int32
	RangeID int64

	Mode UpdateWorkflowMode

	UpdateWorkflowMutation  InternalWorkflowMutation
	UpdateWorkflowNewEvents []*InternalAppendHistoryNodesRequest
	NewWorkflowSnapshot     *InternalWorkflowSnapshot
	NewWorkflowNewEvents    []*InternalAppendHistoryNodesRequest
}

InternalUpdateWorkflowExecutionRequest is used to update a workflow execution for Persistence Interface

type InternalUpsertClusterMembershipRequest added in v0.27.0

type InternalUpsertClusterMembershipRequest struct {
	ClusterMember
	RecordExpiry time.Time
}

InternalUpsertClusterMembershipRequest is the request to UpsertClusterMembership

type InternalWorkflowMutableState added in v0.4.0

type InternalWorkflowMutableState struct {
	ActivityInfos       map[int64]*commonpb.DataBlob  // ActivityInfo
	TimerInfos          map[string]*commonpb.DataBlob // TimerInfo
	ChildExecutionInfos map[int64]*commonpb.DataBlob  // ChildExecutionInfo
	RequestCancelInfos  map[int64]*commonpb.DataBlob  // RequestCancelInfo
	SignalInfos         map[int64]*commonpb.DataBlob  // SignalInfo
	SignalRequestedIDs  []string
	ExecutionInfo       *commonpb.DataBlob // WorkflowExecutionInfo
	ExecutionState      *commonpb.DataBlob // WorkflowExecutionState
	NextEventID         int64
	BufferedEvents      []*commonpb.DataBlob
	Checksum            *commonpb.DataBlob // persistencespb.Checksum
	DBRecordVersion     int64
}

InternalWorkflowMutableState indicates workflow related state for Persistence Interface

type InternalWorkflowMutation added in v0.6.0

type InternalWorkflowMutation struct {
	// TODO: properly set this on call sites
	NamespaceID string
	WorkflowID  string
	RunID       string

	ExecutionInfo      *persistencespb.WorkflowExecutionInfo
	ExecutionInfoBlob  *commonpb.DataBlob
	ExecutionState     *persistencespb.WorkflowExecutionState
	ExecutionStateBlob *commonpb.DataBlob
	NextEventID        int64
	StartVersion       int64
	LastWriteVersion   int64
	DBRecordVersion    int64

	UpsertActivityInfos       map[int64]*commonpb.DataBlob
	DeleteActivityInfos       map[int64]struct{}
	UpsertTimerInfos          map[string]*commonpb.DataBlob
	DeleteTimerInfos          map[string]struct{}
	UpsertChildExecutionInfos map[int64]*commonpb.DataBlob
	DeleteChildExecutionInfos map[int64]struct{}
	UpsertRequestCancelInfos  map[int64]*commonpb.DataBlob
	DeleteRequestCancelInfos  map[int64]struct{}
	UpsertSignalInfos         map[int64]*commonpb.DataBlob
	DeleteSignalInfos         map[int64]struct{}
	UpsertSignalRequestedIDs  map[string]struct{}
	DeleteSignalRequestedIDs  map[string]struct{}
	NewBufferedEvents         *commonpb.DataBlob
	ClearBufferedEvents       bool

	Tasks map[tasks.Category][]InternalHistoryTask

	Condition int64

	Checksum *commonpb.DataBlob
}

InternalWorkflowMutation is used as generic workflow execution state mutation for Persistence Interface

type InternalWorkflowSnapshot added in v0.6.0

type InternalWorkflowSnapshot struct {
	// TODO: properly set this on call sites
	NamespaceID string
	WorkflowID  string
	RunID       string

	ExecutionInfo      *persistencespb.WorkflowExecutionInfo
	ExecutionInfoBlob  *commonpb.DataBlob
	ExecutionState     *persistencespb.WorkflowExecutionState
	ExecutionStateBlob *commonpb.DataBlob
	StartVersion       int64
	LastWriteVersion   int64
	NextEventID        int64
	DBRecordVersion    int64

	ActivityInfos       map[int64]*commonpb.DataBlob
	TimerInfos          map[string]*commonpb.DataBlob
	ChildExecutionInfos map[int64]*commonpb.DataBlob
	RequestCancelInfos  map[int64]*commonpb.DataBlob
	SignalInfos         map[int64]*commonpb.DataBlob
	SignalRequestedIDs  map[string]struct{}

	Tasks map[tasks.Category][]InternalHistoryTask

	Condition int64

	Checksum *commonpb.DataBlob
}

InternalWorkflowSnapshot is used as generic workflow execution state snapshot for Persistence Interface

type InvalidPersistenceRequestError added in v0.5.0

type InvalidPersistenceRequestError struct {
	Msg string
}

InvalidPersistenceRequestError represents invalid request to persistence

func (*InvalidPersistenceRequestError) Error added in v0.5.0

type ListClusterMetadataRequest added in v1.14.0

type ListClusterMetadataRequest struct {
	PageSize      int
	NextPageToken []byte
}

ListClusterMetadataRequest is the request to ListClusterMetadata

type ListClusterMetadataResponse added in v1.14.0

type ListClusterMetadataResponse struct {
	ClusterMetadata []*GetClusterMetadataResponse
	NextPageToken   []byte
}

ListClusterMetadataResponse is the response to ListClusterMetadata

type ListConcreteExecutionsRequest added in v0.27.0

type ListConcreteExecutionsRequest struct {
	ShardID   int32
	PageSize  int
	PageToken []byte
}

ListConcreteExecutionsRequest is request to ListConcreteExecutions

type ListConcreteExecutionsResponse added in v0.27.0

type ListConcreteExecutionsResponse struct {
	States    []*persistencespb.WorkflowMutableState
	PageToken []byte
}

ListConcreteExecutionsResponse is response to ListConcreteExecutions

type ListNamespacesRequest added in v0.27.0

type ListNamespacesRequest struct {
	PageSize       int
	NextPageToken  []byte
	IncludeDeleted bool
}

ListNamespacesRequest is used to list namespaces

type ListNamespacesResponse added in v0.27.0

type ListNamespacesResponse struct {
	Namespaces    []*GetNamespaceResponse
	NextPageToken []byte
}

ListNamespacesResponse is the response for GetNamespace

type ListTaskQueueRequest added in v0.27.0

type ListTaskQueueRequest struct {
	PageSize  int
	PageToken []byte
}

ListTaskQueueRequest contains the request params needed to invoke ListTaskQueue API

type ListTaskQueueResponse added in v0.27.0

type ListTaskQueueResponse struct {
	Items         []*PersistedTaskQueueInfo
	NextPageToken []byte
}

ListTaskQueueResponse is the response from ListTaskQueue API

type MetadataManager

type MetadataManager interface {
	Closeable
	GetName() string
	CreateNamespace(ctx context.Context, request *CreateNamespaceRequest) (*CreateNamespaceResponse, error)
	GetNamespace(ctx context.Context, request *GetNamespaceRequest) (*GetNamespaceResponse, error)
	UpdateNamespace(ctx context.Context, request *UpdateNamespaceRequest) error
	RenameNamespace(ctx context.Context, request *RenameNamespaceRequest) error
	DeleteNamespace(ctx context.Context, request *DeleteNamespaceRequest) error
	DeleteNamespaceByName(ctx context.Context, request *DeleteNamespaceByNameRequest) error
	ListNamespaces(ctx context.Context, request *ListNamespacesRequest) (*ListNamespacesResponse, error)
	GetMetadata(ctx context.Context) (*GetMetadataResponse, error)
	InitializeSystemNamespaces(ctx context.Context, currentClusterName string) error
}

MetadataManager is used to manage metadata CRUD for namespace entities

func NewMetadataManagerImpl added in v0.5.8

func NewMetadataManagerImpl(
	persistence MetadataStore,
	serializer serialization.Serializer,
	logger log.Logger,
	clusterName string,
) MetadataManager

NewMetadataManagerImpl returns new MetadataManager

func NewMetadataPersistenceMetricsClient added in v0.3.14

func NewMetadataPersistenceMetricsClient(persistence MetadataManager, metricsHandler metrics.MetricsHandler, logger log.Logger) MetadataManager

NewMetadataPersistenceMetricsClient creates a MetadataManager client to manage metadata

func NewMetadataPersistenceRateLimitedClient added in v0.3.14

func NewMetadataPersistenceRateLimitedClient(persistence MetadataManager, rateLimiter quotas.RequestRateLimiter, logger log.Logger) MetadataManager

NewMetadataPersistenceRateLimitedClient creates a MetadataManager client to manage metadata

func NewMetadataPersistenceRetryableClient added in v1.17.3

func NewMetadataPersistenceRetryableClient(
	persistence MetadataManager,
	policy backoff.RetryPolicy,
	isRetryable backoff.IsRetryable,
) MetadataManager

NewMetadataPersistenceRetryableClient creates a MetadataManager client to manage metadata

type MetadataStore added in v0.4.0

type MetadataStore interface {
	Closeable
	GetName() string
	CreateNamespace(ctx context.Context, request *InternalCreateNamespaceRequest) (*CreateNamespaceResponse, error)
	GetNamespace(ctx context.Context, request *GetNamespaceRequest) (*InternalGetNamespaceResponse, error)
	UpdateNamespace(ctx context.Context, request *InternalUpdateNamespaceRequest) error
	RenameNamespace(ctx context.Context, request *InternalRenameNamespaceRequest) error
	DeleteNamespace(ctx context.Context, request *DeleteNamespaceRequest) error
	DeleteNamespaceByName(ctx context.Context, request *DeleteNamespaceByNameRequest) error
	ListNamespaces(ctx context.Context, request *InternalListNamespacesRequest) (*InternalListNamespacesResponse, error)
	GetMetadata(ctx context.Context) (*GetMetadataResponse, error)
}

MetadataStore is a lower level of MetadataManager

type MockCloseable added in v1.5.7

type MockCloseable struct {
	// contains filtered or unexported fields
}

MockCloseable is a mock of Closeable interface.

func NewMockCloseable added in v1.5.7

func NewMockCloseable(ctrl *gomock.Controller) *MockCloseable

NewMockCloseable creates a new mock instance.

func (*MockCloseable) Close added in v1.5.7

func (m *MockCloseable) Close()

Close mocks base method.

func (*MockCloseable) EXPECT added in v1.5.7

EXPECT returns an object that allows the caller to indicate expected use.

type MockCloseableMockRecorder added in v1.5.7

type MockCloseableMockRecorder struct {
	// contains filtered or unexported fields
}

MockCloseableMockRecorder is the mock recorder for MockCloseable.

func (*MockCloseableMockRecorder) Close added in v1.5.7

func (mr *MockCloseableMockRecorder) Close() *gomock.Call

Close indicates an expected call of Close.

type MockClusterMetadataManager added in v1.5.7

type MockClusterMetadataManager struct {
	// contains filtered or unexported fields
}

MockClusterMetadataManager is a mock of ClusterMetadataManager interface.

func NewMockClusterMetadataManager added in v1.5.7

func NewMockClusterMetadataManager(ctrl *gomock.Controller) *MockClusterMetadataManager

NewMockClusterMetadataManager creates a new mock instance.

func (*MockClusterMetadataManager) Close added in v1.5.7

func (m *MockClusterMetadataManager) Close()

Close mocks base method.

func (*MockClusterMetadataManager) DeleteClusterMetadata added in v1.14.0

func (m *MockClusterMetadataManager) DeleteClusterMetadata(ctx context.Context, request *DeleteClusterMetadataRequest) error

DeleteClusterMetadata mocks base method.

func (*MockClusterMetadataManager) EXPECT added in v1.5.7

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockClusterMetadataManager) GetClusterMembers added in v1.5.7

GetClusterMembers mocks base method.

func (*MockClusterMetadataManager) GetClusterMetadata added in v1.5.7

GetClusterMetadata mocks base method.

func (*MockClusterMetadataManager) GetCurrentClusterMetadata added in v1.14.0

func (m *MockClusterMetadataManager) GetCurrentClusterMetadata(ctx context.Context) (*GetClusterMetadataResponse, error)

GetCurrentClusterMetadata mocks base method.

func (*MockClusterMetadataManager) GetName added in v1.5.7

func (m *MockClusterMetadataManager) GetName() string

GetName mocks base method.

func (*MockClusterMetadataManager) ListClusterMetadata added in v1.14.0

ListClusterMetadata mocks base method.

func (*MockClusterMetadataManager) PruneClusterMembership added in v1.5.7

func (m *MockClusterMetadataManager) PruneClusterMembership(ctx context.Context, request *PruneClusterMembershipRequest) error

PruneClusterMembership mocks base method.

func (*MockClusterMetadataManager) SaveClusterMetadata added in v1.5.7

func (m *MockClusterMetadataManager) SaveClusterMetadata(ctx context.Context, request *SaveClusterMetadataRequest) (bool, error)

SaveClusterMetadata mocks base method.

func (*MockClusterMetadataManager) UpsertClusterMembership added in v1.5.7

func (m *MockClusterMetadataManager) UpsertClusterMembership(ctx context.Context, request *UpsertClusterMembershipRequest) error

UpsertClusterMembership mocks base method.

type MockClusterMetadataManagerMockRecorder added in v1.5.7

type MockClusterMetadataManagerMockRecorder struct {
	// contains filtered or unexported fields
}

MockClusterMetadataManagerMockRecorder is the mock recorder for MockClusterMetadataManager.

func (*MockClusterMetadataManagerMockRecorder) Close added in v1.5.7

Close indicates an expected call of Close.

func (*MockClusterMetadataManagerMockRecorder) DeleteClusterMetadata added in v1.14.0

func (mr *MockClusterMetadataManagerMockRecorder) DeleteClusterMetadata(ctx, request interface{}) *gomock.Call

DeleteClusterMetadata indicates an expected call of DeleteClusterMetadata.

func (*MockClusterMetadataManagerMockRecorder) GetClusterMembers added in v1.5.7

func (mr *MockClusterMetadataManagerMockRecorder) GetClusterMembers(ctx, request interface{}) *gomock.Call

GetClusterMembers indicates an expected call of GetClusterMembers.

func (*MockClusterMetadataManagerMockRecorder) GetClusterMetadata added in v1.5.7

func (mr *MockClusterMetadataManagerMockRecorder) GetClusterMetadata(ctx, request interface{}) *gomock.Call

GetClusterMetadata indicates an expected call of GetClusterMetadata.

func (*MockClusterMetadataManagerMockRecorder) GetCurrentClusterMetadata added in v1.14.0

func (mr *MockClusterMetadataManagerMockRecorder) GetCurrentClusterMetadata(ctx interface{}) *gomock.Call

GetCurrentClusterMetadata indicates an expected call of GetCurrentClusterMetadata.

func (*MockClusterMetadataManagerMockRecorder) GetName added in v1.5.7

GetName indicates an expected call of GetName.

func (*MockClusterMetadataManagerMockRecorder) ListClusterMetadata added in v1.14.0

func (mr *MockClusterMetadataManagerMockRecorder) ListClusterMetadata(ctx, request interface{}) *gomock.Call

ListClusterMetadata indicates an expected call of ListClusterMetadata.

func (*MockClusterMetadataManagerMockRecorder) PruneClusterMembership added in v1.5.7

func (mr *MockClusterMetadataManagerMockRecorder) PruneClusterMembership(ctx, request interface{}) *gomock.Call

PruneClusterMembership indicates an expected call of PruneClusterMembership.

func (*MockClusterMetadataManagerMockRecorder) SaveClusterMetadata added in v1.5.7

func (mr *MockClusterMetadataManagerMockRecorder) SaveClusterMetadata(ctx, request interface{}) *gomock.Call

SaveClusterMetadata indicates an expected call of SaveClusterMetadata.

func (*MockClusterMetadataManagerMockRecorder) UpsertClusterMembership added in v1.5.7

func (mr *MockClusterMetadataManagerMockRecorder) UpsertClusterMembership(ctx, request interface{}) *gomock.Call

UpsertClusterMembership indicates an expected call of UpsertClusterMembership.

type MockExecutionManager added in v1.5.7

type MockExecutionManager struct {
	// contains filtered or unexported fields
}

MockExecutionManager is a mock of ExecutionManager interface.

func NewMockExecutionManager added in v1.5.7

func NewMockExecutionManager(ctrl *gomock.Controller) *MockExecutionManager

NewMockExecutionManager creates a new mock instance.

func (*MockExecutionManager) AddHistoryTasks added in v1.16.0

func (m *MockExecutionManager) AddHistoryTasks(ctx context.Context, request *AddHistoryTasksRequest) error

AddHistoryTasks mocks base method.

func (*MockExecutionManager) AppendHistoryNodes added in v1.12.0

AppendHistoryNodes mocks base method.

func (*MockExecutionManager) AppendRawHistoryNodes added in v1.17.0

AppendRawHistoryNodes mocks base method.

func (*MockExecutionManager) Close added in v1.5.7

func (m *MockExecutionManager) Close()

Close mocks base method.

func (*MockExecutionManager) CompleteHistoryTask added in v1.16.0

func (m *MockExecutionManager) CompleteHistoryTask(ctx context.Context, request *CompleteHistoryTaskRequest) error

CompleteHistoryTask mocks base method.

func (*MockExecutionManager) ConflictResolveWorkflowExecution added in v1.5.7

ConflictResolveWorkflowExecution mocks base method.

func (*MockExecutionManager) CreateWorkflowExecution added in v1.5.7

CreateWorkflowExecution mocks base method.

func (*MockExecutionManager) DeleteCurrentWorkflowExecution added in v1.5.7

func (m *MockExecutionManager) DeleteCurrentWorkflowExecution(ctx context.Context, request *DeleteCurrentWorkflowExecutionRequest) error

DeleteCurrentWorkflowExecution mocks base method.

func (*MockExecutionManager) DeleteHistoryBranch added in v1.12.0

func (m *MockExecutionManager) DeleteHistoryBranch(ctx context.Context, request *DeleteHistoryBranchRequest) error

DeleteHistoryBranch mocks base method.

func (*MockExecutionManager) DeleteReplicationTaskFromDLQ added in v1.5.7

func (m *MockExecutionManager) DeleteReplicationTaskFromDLQ(ctx context.Context, request *DeleteReplicationTaskFromDLQRequest) error

DeleteReplicationTaskFromDLQ mocks base method.

func (*MockExecutionManager) DeleteWorkflowExecution added in v1.5.7

func (m *MockExecutionManager) DeleteWorkflowExecution(ctx context.Context, request *DeleteWorkflowExecutionRequest) error

DeleteWorkflowExecution mocks base method.

func (*MockExecutionManager) EXPECT added in v1.5.7

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockExecutionManager) ForkHistoryBranch added in v1.12.0

ForkHistoryBranch mocks base method.

func (*MockExecutionManager) GetAllHistoryTreeBranches added in v1.12.0

GetAllHistoryTreeBranches mocks base method.

func (*MockExecutionManager) GetCurrentExecution added in v1.5.7

GetCurrentExecution mocks base method.

func (*MockExecutionManager) GetHistoryTask added in v1.16.0

GetHistoryTask mocks base method.

func (*MockExecutionManager) GetHistoryTasks added in v1.16.0

GetHistoryTasks mocks base method.

func (*MockExecutionManager) GetHistoryTree added in v1.12.0

GetHistoryTree mocks base method.

func (*MockExecutionManager) GetName added in v1.5.7

func (m *MockExecutionManager) GetName() string

GetName mocks base method.

func (*MockExecutionManager) GetReplicationTasksFromDLQ added in v1.5.7

GetReplicationTasksFromDLQ mocks base method.

func (*MockExecutionManager) GetWorkflowExecution added in v1.5.7

GetWorkflowExecution mocks base method.

func (*MockExecutionManager) ListConcreteExecutions added in v1.5.7

ListConcreteExecutions mocks base method.

func (*MockExecutionManager) NewHistoryBranch added in v1.17.3

NewHistoryBranch mocks base method.

func (*MockExecutionManager) ParseHistoryBranchInfo added in v1.17.3

ParseHistoryBranchInfo mocks base method.

func (*MockExecutionManager) PutReplicationTaskToDLQ added in v1.5.7

func (m *MockExecutionManager) PutReplicationTaskToDLQ(ctx context.Context, request *PutReplicationTaskToDLQRequest) error

PutReplicationTaskToDLQ mocks base method.

func (*MockExecutionManager) RangeCompleteHistoryTasks added in v1.16.0

func (m *MockExecutionManager) RangeCompleteHistoryTasks(ctx context.Context, request *RangeCompleteHistoryTasksRequest) error

RangeCompleteHistoryTasks mocks base method.

func (*MockExecutionManager) RangeDeleteReplicationTaskFromDLQ added in v1.5.7

func (m *MockExecutionManager) RangeDeleteReplicationTaskFromDLQ(ctx context.Context, request *RangeDeleteReplicationTaskFromDLQRequest) error

RangeDeleteReplicationTaskFromDLQ mocks base method.

func (*MockExecutionManager) ReadHistoryBranch added in v1.12.0

ReadHistoryBranch mocks base method.

func (*MockExecutionManager) ReadHistoryBranchByBatch added in v1.12.0

ReadHistoryBranchByBatch mocks base method.

func (*MockExecutionManager) ReadHistoryBranchReverse added in v1.16.0

ReadHistoryBranchReverse mocks base method.

func (*MockExecutionManager) ReadRawHistoryBranch added in v1.12.0

ReadRawHistoryBranch mocks base method.

func (*MockExecutionManager) SetWorkflowExecution added in v1.16.0

SetWorkflowExecution mocks base method.

func (*MockExecutionManager) TrimHistoryBranch added in v1.12.0

TrimHistoryBranch mocks base method.

func (*MockExecutionManager) UpdateHistoryBranchInfo added in v1.17.3

UpdateHistoryBranchInfo mocks base method.

func (*MockExecutionManager) UpdateWorkflowExecution added in v1.5.7

UpdateWorkflowExecution mocks base method.

type MockExecutionManagerMockRecorder added in v1.5.7

type MockExecutionManagerMockRecorder struct {
	// contains filtered or unexported fields
}

MockExecutionManagerMockRecorder is the mock recorder for MockExecutionManager.

func (*MockExecutionManagerMockRecorder) AddHistoryTasks added in v1.16.0

func (mr *MockExecutionManagerMockRecorder) AddHistoryTasks(ctx, request interface{}) *gomock.Call

AddHistoryTasks indicates an expected call of AddHistoryTasks.

func (*MockExecutionManagerMockRecorder) AppendHistoryNodes added in v1.12.0

func (mr *MockExecutionManagerMockRecorder) AppendHistoryNodes(ctx, request interface{}) *gomock.Call

AppendHistoryNodes indicates an expected call of AppendHistoryNodes.

func (*MockExecutionManagerMockRecorder) AppendRawHistoryNodes added in v1.17.0

func (mr *MockExecutionManagerMockRecorder) AppendRawHistoryNodes(ctx, request interface{}) *gomock.Call

AppendRawHistoryNodes indicates an expected call of AppendRawHistoryNodes.

func (*MockExecutionManagerMockRecorder) Close added in v1.5.7

Close indicates an expected call of Close.

func (*MockExecutionManagerMockRecorder) CompleteHistoryTask added in v1.16.0

func (mr *MockExecutionManagerMockRecorder) CompleteHistoryTask(ctx, request interface{}) *gomock.Call

CompleteHistoryTask indicates an expected call of CompleteHistoryTask.

func (*MockExecutionManagerMockRecorder) ConflictResolveWorkflowExecution added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) ConflictResolveWorkflowExecution(ctx, request interface{}) *gomock.Call

ConflictResolveWorkflowExecution indicates an expected call of ConflictResolveWorkflowExecution.

func (*MockExecutionManagerMockRecorder) CreateWorkflowExecution added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) CreateWorkflowExecution(ctx, request interface{}) *gomock.Call

CreateWorkflowExecution indicates an expected call of CreateWorkflowExecution.

func (*MockExecutionManagerMockRecorder) DeleteCurrentWorkflowExecution added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) DeleteCurrentWorkflowExecution(ctx, request interface{}) *gomock.Call

DeleteCurrentWorkflowExecution indicates an expected call of DeleteCurrentWorkflowExecution.

func (*MockExecutionManagerMockRecorder) DeleteHistoryBranch added in v1.12.0

func (mr *MockExecutionManagerMockRecorder) DeleteHistoryBranch(ctx, request interface{}) *gomock.Call

DeleteHistoryBranch indicates an expected call of DeleteHistoryBranch.

func (*MockExecutionManagerMockRecorder) DeleteReplicationTaskFromDLQ added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) DeleteReplicationTaskFromDLQ(ctx, request interface{}) *gomock.Call

DeleteReplicationTaskFromDLQ indicates an expected call of DeleteReplicationTaskFromDLQ.

func (*MockExecutionManagerMockRecorder) DeleteWorkflowExecution added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) DeleteWorkflowExecution(ctx, request interface{}) *gomock.Call

DeleteWorkflowExecution indicates an expected call of DeleteWorkflowExecution.

func (*MockExecutionManagerMockRecorder) ForkHistoryBranch added in v1.12.0

func (mr *MockExecutionManagerMockRecorder) ForkHistoryBranch(ctx, request interface{}) *gomock.Call

ForkHistoryBranch indicates an expected call of ForkHistoryBranch.

func (*MockExecutionManagerMockRecorder) GetAllHistoryTreeBranches added in v1.12.0

func (mr *MockExecutionManagerMockRecorder) GetAllHistoryTreeBranches(ctx, request interface{}) *gomock.Call

GetAllHistoryTreeBranches indicates an expected call of GetAllHistoryTreeBranches.

func (*MockExecutionManagerMockRecorder) GetCurrentExecution added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) GetCurrentExecution(ctx, request interface{}) *gomock.Call

GetCurrentExecution indicates an expected call of GetCurrentExecution.

func (*MockExecutionManagerMockRecorder) GetHistoryTask added in v1.16.0

func (mr *MockExecutionManagerMockRecorder) GetHistoryTask(ctx, request interface{}) *gomock.Call

GetHistoryTask indicates an expected call of GetHistoryTask.

func (*MockExecutionManagerMockRecorder) GetHistoryTasks added in v1.16.0

func (mr *MockExecutionManagerMockRecorder) GetHistoryTasks(ctx, request interface{}) *gomock.Call

GetHistoryTasks indicates an expected call of GetHistoryTasks.

func (*MockExecutionManagerMockRecorder) GetHistoryTree added in v1.12.0

func (mr *MockExecutionManagerMockRecorder) GetHistoryTree(ctx, request interface{}) *gomock.Call

GetHistoryTree indicates an expected call of GetHistoryTree.

func (*MockExecutionManagerMockRecorder) GetName added in v1.5.7

GetName indicates an expected call of GetName.

func (*MockExecutionManagerMockRecorder) GetReplicationTasksFromDLQ added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) GetReplicationTasksFromDLQ(ctx, request interface{}) *gomock.Call

GetReplicationTasksFromDLQ indicates an expected call of GetReplicationTasksFromDLQ.

func (*MockExecutionManagerMockRecorder) GetWorkflowExecution added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) GetWorkflowExecution(ctx, request interface{}) *gomock.Call

GetWorkflowExecution indicates an expected call of GetWorkflowExecution.

func (*MockExecutionManagerMockRecorder) ListConcreteExecutions added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) ListConcreteExecutions(ctx, request interface{}) *gomock.Call

ListConcreteExecutions indicates an expected call of ListConcreteExecutions.

func (*MockExecutionManagerMockRecorder) NewHistoryBranch added in v1.17.3

func (mr *MockExecutionManagerMockRecorder) NewHistoryBranch(ctx, request interface{}) *gomock.Call

NewHistoryBranch indicates an expected call of NewHistoryBranch.

func (*MockExecutionManagerMockRecorder) ParseHistoryBranchInfo added in v1.17.3

func (mr *MockExecutionManagerMockRecorder) ParseHistoryBranchInfo(ctx, request interface{}) *gomock.Call

ParseHistoryBranchInfo indicates an expected call of ParseHistoryBranchInfo.

func (*MockExecutionManagerMockRecorder) PutReplicationTaskToDLQ added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) PutReplicationTaskToDLQ(ctx, request interface{}) *gomock.Call

PutReplicationTaskToDLQ indicates an expected call of PutReplicationTaskToDLQ.

func (*MockExecutionManagerMockRecorder) RangeCompleteHistoryTasks added in v1.16.0

func (mr *MockExecutionManagerMockRecorder) RangeCompleteHistoryTasks(ctx, request interface{}) *gomock.Call

RangeCompleteHistoryTasks indicates an expected call of RangeCompleteHistoryTasks.

func (*MockExecutionManagerMockRecorder) RangeDeleteReplicationTaskFromDLQ added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) RangeDeleteReplicationTaskFromDLQ(ctx, request interface{}) *gomock.Call

RangeDeleteReplicationTaskFromDLQ indicates an expected call of RangeDeleteReplicationTaskFromDLQ.

func (*MockExecutionManagerMockRecorder) ReadHistoryBranch added in v1.12.0

func (mr *MockExecutionManagerMockRecorder) ReadHistoryBranch(ctx, request interface{}) *gomock.Call

ReadHistoryBranch indicates an expected call of ReadHistoryBranch.

func (*MockExecutionManagerMockRecorder) ReadHistoryBranchByBatch added in v1.12.0

func (mr *MockExecutionManagerMockRecorder) ReadHistoryBranchByBatch(ctx, request interface{}) *gomock.Call

ReadHistoryBranchByBatch indicates an expected call of ReadHistoryBranchByBatch.

func (*MockExecutionManagerMockRecorder) ReadHistoryBranchReverse added in v1.16.0

func (mr *MockExecutionManagerMockRecorder) ReadHistoryBranchReverse(ctx, request interface{}) *gomock.Call

ReadHistoryBranchReverse indicates an expected call of ReadHistoryBranchReverse.

func (*MockExecutionManagerMockRecorder) ReadRawHistoryBranch added in v1.12.0

func (mr *MockExecutionManagerMockRecorder) ReadRawHistoryBranch(ctx, request interface{}) *gomock.Call

ReadRawHistoryBranch indicates an expected call of ReadRawHistoryBranch.

func (*MockExecutionManagerMockRecorder) SetWorkflowExecution added in v1.16.0

func (mr *MockExecutionManagerMockRecorder) SetWorkflowExecution(ctx, request interface{}) *gomock.Call

SetWorkflowExecution indicates an expected call of SetWorkflowExecution.

func (*MockExecutionManagerMockRecorder) TrimHistoryBranch added in v1.12.0

func (mr *MockExecutionManagerMockRecorder) TrimHistoryBranch(ctx, request interface{}) *gomock.Call

TrimHistoryBranch indicates an expected call of TrimHistoryBranch.

func (*MockExecutionManagerMockRecorder) UpdateHistoryBranchInfo added in v1.17.3

func (mr *MockExecutionManagerMockRecorder) UpdateHistoryBranchInfo(ctx, request interface{}) *gomock.Call

UpdateHistoryBranchInfo indicates an expected call of UpdateHistoryBranchInfo.

func (*MockExecutionManagerMockRecorder) UpdateWorkflowExecution added in v1.5.7

func (mr *MockExecutionManagerMockRecorder) UpdateWorkflowExecution(ctx, request interface{}) *gomock.Call

UpdateWorkflowExecution indicates an expected call of UpdateWorkflowExecution.

type MockMetadataManager added in v1.5.7

type MockMetadataManager struct {
	// contains filtered or unexported fields
}

MockMetadataManager is a mock of MetadataManager interface.

func NewMockMetadataManager added in v1.5.7

func NewMockMetadataManager(ctrl *gomock.Controller) *MockMetadataManager

NewMockMetadataManager creates a new mock instance.

func (*MockMetadataManager) Close added in v1.5.7

func (m *MockMetadataManager) Close()

Close mocks base method.

func (*MockMetadataManager) CreateNamespace added in v1.5.7

CreateNamespace mocks base method.

func (*MockMetadataManager) DeleteNamespace added in v1.5.7

func (m *MockMetadataManager) DeleteNamespace(ctx context.Context, request *DeleteNamespaceRequest) error

DeleteNamespace mocks base method.

func (*MockMetadataManager) DeleteNamespaceByName added in v1.5.7

func (m *MockMetadataManager) DeleteNamespaceByName(ctx context.Context, request *DeleteNamespaceByNameRequest) error

DeleteNamespaceByName mocks base method.

func (*MockMetadataManager) EXPECT added in v1.5.7

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockMetadataManager) GetMetadata added in v1.5.7

GetMetadata mocks base method.

func (*MockMetadataManager) GetName added in v1.5.7

func (m *MockMetadataManager) GetName() string

GetName mocks base method.

func (*MockMetadataManager) GetNamespace added in v1.5.7

GetNamespace mocks base method.

func (*MockMetadataManager) InitializeSystemNamespaces added in v1.5.7

func (m *MockMetadataManager) InitializeSystemNamespaces(ctx context.Context, currentClusterName string) error

InitializeSystemNamespaces mocks base method.

func (*MockMetadataManager) ListNamespaces added in v1.5.7

ListNamespaces mocks base method.

func (*MockMetadataManager) RenameNamespace added in v1.16.0

func (m *MockMetadataManager) RenameNamespace(ctx context.Context, request *RenameNamespaceRequest) error

RenameNamespace mocks base method.

func (*MockMetadataManager) UpdateNamespace added in v1.5.7

func (m *MockMetadataManager) UpdateNamespace(ctx context.Context, request *UpdateNamespaceRequest) error

UpdateNamespace mocks base method.

type MockMetadataManagerMockRecorder added in v1.5.7

type MockMetadataManagerMockRecorder struct {
	// contains filtered or unexported fields
}

MockMetadataManagerMockRecorder is the mock recorder for MockMetadataManager.

func (*MockMetadataManagerMockRecorder) Close added in v1.5.7

Close indicates an expected call of Close.

func (*MockMetadataManagerMockRecorder) CreateNamespace added in v1.5.7

func (mr *MockMetadataManagerMockRecorder) CreateNamespace(ctx, request interface{}) *gomock.Call

CreateNamespace indicates an expected call of CreateNamespace.

func (*MockMetadataManagerMockRecorder) DeleteNamespace added in v1.5.7

func (mr *MockMetadataManagerMockRecorder) DeleteNamespace(ctx, request interface{}) *gomock.Call

DeleteNamespace indicates an expected call of DeleteNamespace.

func (*MockMetadataManagerMockRecorder) DeleteNamespaceByName added in v1.5.7

func (mr *MockMetadataManagerMockRecorder) DeleteNamespaceByName(ctx, request interface{}) *gomock.Call

DeleteNamespaceByName indicates an expected call of DeleteNamespaceByName.

func (*MockMetadataManagerMockRecorder) GetMetadata added in v1.5.7

func (mr *MockMetadataManagerMockRecorder) GetMetadata(ctx interface{}) *gomock.Call

GetMetadata indicates an expected call of GetMetadata.

func (*MockMetadataManagerMockRecorder) GetName added in v1.5.7

GetName indicates an expected call of GetName.

func (*MockMetadataManagerMockRecorder) GetNamespace added in v1.5.7

func (mr *MockMetadataManagerMockRecorder) GetNamespace(ctx, request interface{}) *gomock.Call

GetNamespace indicates an expected call of GetNamespace.

func (*MockMetadataManagerMockRecorder) InitializeSystemNamespaces added in v1.5.7

func (mr *MockMetadataManagerMockRecorder) InitializeSystemNamespaces(ctx, currentClusterName interface{}) *gomock.Call

InitializeSystemNamespaces indicates an expected call of InitializeSystemNamespaces.

func (*MockMetadataManagerMockRecorder) ListNamespaces added in v1.5.7

func (mr *MockMetadataManagerMockRecorder) ListNamespaces(ctx, request interface{}) *gomock.Call

ListNamespaces indicates an expected call of ListNamespaces.

func (*MockMetadataManagerMockRecorder) RenameNamespace added in v1.16.0

func (mr *MockMetadataManagerMockRecorder) RenameNamespace(ctx, request interface{}) *gomock.Call

RenameNamespace indicates an expected call of RenameNamespace.

func (*MockMetadataManagerMockRecorder) UpdateNamespace added in v1.5.7

func (mr *MockMetadataManagerMockRecorder) UpdateNamespace(ctx, request interface{}) *gomock.Call

UpdateNamespace indicates an expected call of UpdateNamespace.

type MockNamespaceReplicationQueue added in v0.27.0

type MockNamespaceReplicationQueue struct {
	// contains filtered or unexported fields
}

MockNamespaceReplicationQueue is a mock of NamespaceReplicationQueue interface.

func NewMockNamespaceReplicationQueue added in v0.27.0

func NewMockNamespaceReplicationQueue(ctrl *gomock.Controller) *MockNamespaceReplicationQueue

NewMockNamespaceReplicationQueue creates a new mock instance.

func (*MockNamespaceReplicationQueue) DeleteMessageFromDLQ added in v0.27.0

func (m *MockNamespaceReplicationQueue) DeleteMessageFromDLQ(ctx context.Context, messageID int64) error

DeleteMessageFromDLQ mocks base method.

func (*MockNamespaceReplicationQueue) EXPECT added in v0.27.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockNamespaceReplicationQueue) GetAckLevels added in v0.27.0

func (m *MockNamespaceReplicationQueue) GetAckLevels(ctx context.Context) (map[string]int64, error)

GetAckLevels mocks base method.

func (*MockNamespaceReplicationQueue) GetDLQAckLevel added in v0.27.0

func (m *MockNamespaceReplicationQueue) GetDLQAckLevel(ctx context.Context) (int64, error)

GetDLQAckLevel mocks base method.

func (*MockNamespaceReplicationQueue) GetMessagesFromDLQ added in v0.27.0

func (m *MockNamespaceReplicationQueue) GetMessagesFromDLQ(ctx context.Context, firstMessageID, lastMessageID int64, pageSize int, pageToken []byte) ([]*repication.ReplicationTask, []byte, error)

GetMessagesFromDLQ mocks base method.

func (*MockNamespaceReplicationQueue) GetReplicationMessages added in v0.27.0

func (m *MockNamespaceReplicationQueue) GetReplicationMessages(ctx context.Context, lastMessageID int64, maxCount int) ([]*repication.ReplicationTask, int64, error)

GetReplicationMessages mocks base method.

func (*MockNamespaceReplicationQueue) Publish added in v0.27.0

Publish mocks base method.

func (*MockNamespaceReplicationQueue) PublishToDLQ added in v0.27.0

PublishToDLQ mocks base method.

func (*MockNamespaceReplicationQueue) RangeDeleteMessagesFromDLQ added in v0.27.0

func (m *MockNamespaceReplicationQueue) RangeDeleteMessagesFromDLQ(ctx context.Context, firstMessageID, lastMessageID int64) error

RangeDeleteMessagesFromDLQ mocks base method.

func (*MockNamespaceReplicationQueue) Start added in v0.27.0

func (m *MockNamespaceReplicationQueue) Start()

Start mocks base method.

func (*MockNamespaceReplicationQueue) Stop added in v0.27.0

Stop mocks base method.

func (*MockNamespaceReplicationQueue) UpdateAckLevel added in v0.27.0

func (m *MockNamespaceReplicationQueue) UpdateAckLevel(ctx context.Context, lastProcessedMessageID int64, clusterName string) error

UpdateAckLevel mocks base method.

func (*MockNamespaceReplicationQueue) UpdateDLQAckLevel added in v0.27.0

func (m *MockNamespaceReplicationQueue) UpdateDLQAckLevel(ctx context.Context, lastProcessedMessageID int64) error

UpdateDLQAckLevel mocks base method.

type MockNamespaceReplicationQueueMockRecorder added in v0.27.0

type MockNamespaceReplicationQueueMockRecorder struct {
	// contains filtered or unexported fields
}

MockNamespaceReplicationQueueMockRecorder is the mock recorder for MockNamespaceReplicationQueue.

func (*MockNamespaceReplicationQueueMockRecorder) DeleteMessageFromDLQ added in v0.27.0

func (mr *MockNamespaceReplicationQueueMockRecorder) DeleteMessageFromDLQ(ctx, messageID interface{}) *gomock.Call

DeleteMessageFromDLQ indicates an expected call of DeleteMessageFromDLQ.

func (*MockNamespaceReplicationQueueMockRecorder) GetAckLevels added in v0.27.0

func (mr *MockNamespaceReplicationQueueMockRecorder) GetAckLevels(ctx interface{}) *gomock.Call

GetAckLevels indicates an expected call of GetAckLevels.

func (*MockNamespaceReplicationQueueMockRecorder) GetDLQAckLevel added in v0.27.0

func (mr *MockNamespaceReplicationQueueMockRecorder) GetDLQAckLevel(ctx interface{}) *gomock.Call

GetDLQAckLevel indicates an expected call of GetDLQAckLevel.

func (*MockNamespaceReplicationQueueMockRecorder) GetMessagesFromDLQ added in v0.27.0

func (mr *MockNamespaceReplicationQueueMockRecorder) GetMessagesFromDLQ(ctx, firstMessageID, lastMessageID, pageSize, pageToken interface{}) *gomock.Call

GetMessagesFromDLQ indicates an expected call of GetMessagesFromDLQ.

func (*MockNamespaceReplicationQueueMockRecorder) GetReplicationMessages added in v0.27.0

func (mr *MockNamespaceReplicationQueueMockRecorder) GetReplicationMessages(ctx, lastMessageID, maxCount interface{}) *gomock.Call

GetReplicationMessages indicates an expected call of GetReplicationMessages.

func (*MockNamespaceReplicationQueueMockRecorder) Publish added in v0.27.0

func (mr *MockNamespaceReplicationQueueMockRecorder) Publish(ctx, task interface{}) *gomock.Call

Publish indicates an expected call of Publish.

func (*MockNamespaceReplicationQueueMockRecorder) PublishToDLQ added in v0.27.0

func (mr *MockNamespaceReplicationQueueMockRecorder) PublishToDLQ(ctx, task interface{}) *gomock.Call

PublishToDLQ indicates an expected call of PublishToDLQ.

func (*MockNamespaceReplicationQueueMockRecorder) RangeDeleteMessagesFromDLQ added in v0.27.0

func (mr *MockNamespaceReplicationQueueMockRecorder) RangeDeleteMessagesFromDLQ(ctx, firstMessageID, lastMessageID interface{}) *gomock.Call

RangeDeleteMessagesFromDLQ indicates an expected call of RangeDeleteMessagesFromDLQ.

func (*MockNamespaceReplicationQueueMockRecorder) Start added in v0.27.0

Start indicates an expected call of Start.

func (*MockNamespaceReplicationQueueMockRecorder) Stop added in v0.27.0

Stop indicates an expected call of Stop.

func (*MockNamespaceReplicationQueueMockRecorder) UpdateAckLevel added in v0.27.0

func (mr *MockNamespaceReplicationQueueMockRecorder) UpdateAckLevel(ctx, lastProcessedMessageID, clusterName interface{}) *gomock.Call

UpdateAckLevel indicates an expected call of UpdateAckLevel.

func (*MockNamespaceReplicationQueueMockRecorder) UpdateDLQAckLevel added in v0.27.0

func (mr *MockNamespaceReplicationQueueMockRecorder) UpdateDLQAckLevel(ctx, lastProcessedMessageID interface{}) *gomock.Call

UpdateDLQAckLevel indicates an expected call of UpdateDLQAckLevel.

type MockShardManager added in v1.5.7

type MockShardManager struct {
	// contains filtered or unexported fields
}

MockShardManager is a mock of ShardManager interface.

func NewMockShardManager added in v1.5.7

func NewMockShardManager(ctrl *gomock.Controller) *MockShardManager

NewMockShardManager creates a new mock instance.

func (*MockShardManager) AssertShardOwnership added in v1.17.0

func (m *MockShardManager) AssertShardOwnership(ctx context.Context, request *AssertShardOwnershipRequest) error

AssertShardOwnership mocks base method.

func (*MockShardManager) Close added in v1.5.7

func (m *MockShardManager) Close()

Close mocks base method.

func (*MockShardManager) EXPECT added in v1.5.7

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockShardManager) GetName added in v1.5.7

func (m *MockShardManager) GetName() string

GetName mocks base method.

func (*MockShardManager) GetOrCreateShard added in v1.14.0

GetOrCreateShard mocks base method.

func (*MockShardManager) UpdateShard added in v1.5.7

func (m *MockShardManager) UpdateShard(ctx context.Context, request *UpdateShardRequest) error

UpdateShard mocks base method.

type MockShardManagerMockRecorder added in v1.5.7

type MockShardManagerMockRecorder struct {
	// contains filtered or unexported fields
}

MockShardManagerMockRecorder is the mock recorder for MockShardManager.

func (*MockShardManagerMockRecorder) AssertShardOwnership added in v1.17.0

func (mr *MockShardManagerMockRecorder) AssertShardOwnership(ctx, request interface{}) *gomock.Call

AssertShardOwnership indicates an expected call of AssertShardOwnership.

func (*MockShardManagerMockRecorder) Close added in v1.5.7

Close indicates an expected call of Close.

func (*MockShardManagerMockRecorder) GetName added in v1.5.7

func (mr *MockShardManagerMockRecorder) GetName() *gomock.Call

GetName indicates an expected call of GetName.

func (*MockShardManagerMockRecorder) GetOrCreateShard added in v1.14.0

func (mr *MockShardManagerMockRecorder) GetOrCreateShard(ctx, request interface{}) *gomock.Call

GetOrCreateShard indicates an expected call of GetOrCreateShard.

func (*MockShardManagerMockRecorder) UpdateShard added in v1.5.7

func (mr *MockShardManagerMockRecorder) UpdateShard(ctx, request interface{}) *gomock.Call

UpdateShard indicates an expected call of UpdateShard.

type MockTaskManager added in v1.5.7

type MockTaskManager struct {
	// contains filtered or unexported fields
}

MockTaskManager is a mock of TaskManager interface.

func NewMockTaskManager added in v1.5.7

func NewMockTaskManager(ctrl *gomock.Controller) *MockTaskManager

NewMockTaskManager creates a new mock instance.

func (*MockTaskManager) Close added in v1.5.7

func (m *MockTaskManager) Close()

Close mocks base method.

func (*MockTaskManager) CompleteTask added in v1.5.7

func (m *MockTaskManager) CompleteTask(ctx context.Context, request *CompleteTaskRequest) error

CompleteTask mocks base method.

func (*MockTaskManager) CompleteTasksLessThan added in v1.5.7

func (m *MockTaskManager) CompleteTasksLessThan(ctx context.Context, request *CompleteTasksLessThanRequest) (int, error)

CompleteTasksLessThan mocks base method.

func (*MockTaskManager) CreateTaskQueue added in v1.15.0

CreateTaskQueue mocks base method.

func (*MockTaskManager) CreateTasks added in v1.5.7

func (m *MockTaskManager) CreateTasks(ctx context.Context, request *CreateTasksRequest) (*CreateTasksResponse, error)

CreateTasks mocks base method.

func (*MockTaskManager) DeleteTaskQueue added in v1.5.7

func (m *MockTaskManager) DeleteTaskQueue(ctx context.Context, request *DeleteTaskQueueRequest) error

DeleteTaskQueue mocks base method.

func (*MockTaskManager) EXPECT added in v1.5.7

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockTaskManager) GetName added in v1.5.7

func (m *MockTaskManager) GetName() string

GetName mocks base method.

func (*MockTaskManager) GetTaskQueue added in v1.15.0

func (m *MockTaskManager) GetTaskQueue(ctx context.Context, request *GetTaskQueueRequest) (*GetTaskQueueResponse, error)

GetTaskQueue mocks base method.

func (*MockTaskManager) GetTasks added in v1.5.7

func (m *MockTaskManager) GetTasks(ctx context.Context, request *GetTasksRequest) (*GetTasksResponse, error)

GetTasks mocks base method.

func (*MockTaskManager) ListTaskQueue added in v1.5.7

func (m *MockTaskManager) ListTaskQueue(ctx context.Context, request *ListTaskQueueRequest) (*ListTaskQueueResponse, error)

ListTaskQueue mocks base method.

func (*MockTaskManager) UpdateTaskQueue added in v1.5.7

UpdateTaskQueue mocks base method.

type MockTaskManagerMockRecorder added in v1.5.7

type MockTaskManagerMockRecorder struct {
	// contains filtered or unexported fields
}

MockTaskManagerMockRecorder is the mock recorder for MockTaskManager.

func (*MockTaskManagerMockRecorder) Close added in v1.5.7

Close indicates an expected call of Close.

func (*MockTaskManagerMockRecorder) CompleteTask added in v1.5.7

func (mr *MockTaskManagerMockRecorder) CompleteTask(ctx, request interface{}) *gomock.Call

CompleteTask indicates an expected call of CompleteTask.

func (*MockTaskManagerMockRecorder) CompleteTasksLessThan added in v1.5.7

func (mr *MockTaskManagerMockRecorder) CompleteTasksLessThan(ctx, request interface{}) *gomock.Call

CompleteTasksLessThan indicates an expected call of CompleteTasksLessThan.

func (*MockTaskManagerMockRecorder) CreateTaskQueue added in v1.15.0

func (mr *MockTaskManagerMockRecorder) CreateTaskQueue(ctx, request interface{}) *gomock.Call

CreateTaskQueue indicates an expected call of CreateTaskQueue.

func (*MockTaskManagerMockRecorder) CreateTasks added in v1.5.7

func (mr *MockTaskManagerMockRecorder) CreateTasks(ctx, request interface{}) *gomock.Call

CreateTasks indicates an expected call of CreateTasks.

func (*MockTaskManagerMockRecorder) DeleteTaskQueue added in v1.5.7

func (mr *MockTaskManagerMockRecorder) DeleteTaskQueue(ctx, request interface{}) *gomock.Call

DeleteTaskQueue indicates an expected call of DeleteTaskQueue.

func (*MockTaskManagerMockRecorder) GetName added in v1.5.7

func (mr *MockTaskManagerMockRecorder) GetName() *gomock.Call

GetName indicates an expected call of GetName.

func (*MockTaskManagerMockRecorder) GetTaskQueue added in v1.15.0

func (mr *MockTaskManagerMockRecorder) GetTaskQueue(ctx, request interface{}) *gomock.Call

GetTaskQueue indicates an expected call of GetTaskQueue.

func (*MockTaskManagerMockRecorder) GetTasks added in v1.5.7

func (mr *MockTaskManagerMockRecorder) GetTasks(ctx, request interface{}) *gomock.Call

GetTasks indicates an expected call of GetTasks.

func (*MockTaskManagerMockRecorder) ListTaskQueue added in v1.5.7

func (mr *MockTaskManagerMockRecorder) ListTaskQueue(ctx, request interface{}) *gomock.Call

ListTaskQueue indicates an expected call of ListTaskQueue.

func (*MockTaskManagerMockRecorder) UpdateTaskQueue added in v1.5.7

func (mr *MockTaskManagerMockRecorder) UpdateTaskQueue(ctx, request interface{}) *gomock.Call

UpdateTaskQueue indicates an expected call of UpdateTaskQueue.

type MutableStateStatistics added in v1.13.0

type MutableStateStatistics struct {
	TotalSize         int
	HistoryStatistics *HistoryStatistics

	// Breakdown of size into more granular stats
	ExecutionInfoSize  int
	ExecutionStateSize int

	ActivityInfoSize      int
	TimerInfoSize         int
	ChildInfoSize         int
	RequestCancelInfoSize int
	SignalInfoSize        int
	SignalRequestIDSize   int
	BufferedEventsSize    int

	// Item count for various information captured within mutable state
	ActivityInfoCount      int
	TimerInfoCount         int
	ChildInfoCount         int
	RequestCancelInfoCount int
	SignalInfoCount        int
	SignalRequestIDCount   int
	BufferedEventsCount    int
	TaskCountByCategory    map[string]int
}

MutableStateStatistics is the size stats for MutableState

type NamespaceReplicationQueue added in v0.27.0

type NamespaceReplicationQueue interface {
	common.Daemon
	Publish(ctx context.Context, task *replicationspb.ReplicationTask) error
	GetReplicationMessages(
		ctx context.Context,
		lastMessageID int64,
		maxCount int,
	) ([]*replicationspb.ReplicationTask, int64, error)
	UpdateAckLevel(ctx context.Context, lastProcessedMessageID int64, clusterName string) error
	GetAckLevels(ctx context.Context) (map[string]int64, error)

	PublishToDLQ(ctx context.Context, task *replicationspb.ReplicationTask) error
	GetMessagesFromDLQ(
		ctx context.Context,
		firstMessageID int64,
		lastMessageID int64,
		pageSize int,
		pageToken []byte,
	) ([]*replicationspb.ReplicationTask, []byte, error)
	UpdateDLQAckLevel(ctx context.Context, lastProcessedMessageID int64) error
	GetDLQAckLevel(ctx context.Context) (int64, error)

	RangeDeleteMessagesFromDLQ(ctx context.Context, firstMessageID int64, lastMessageID int64) error
	DeleteMessageFromDLQ(ctx context.Context, messageID int64) error
}

NamespaceReplicationQueue is used to publish and list namespace replication tasks

func NewNamespaceReplicationQueue added in v0.27.0

func NewNamespaceReplicationQueue(
	queue Queue,
	serializer serialization.Serializer,
	clusterName string,
	metricsHandler metrics.MetricsHandler,
	logger log.Logger,
) (NamespaceReplicationQueue, error)

NewNamespaceReplicationQueue creates a new NamespaceReplicationQueue instance

type NewHistoryBranchRequest added in v1.17.3

type NewHistoryBranchRequest struct {
	// The tree ID for the new branch token
	TreeID string
	// optional: can specify BranchID or allow random UUID to be generated
	BranchID *string
	// optional: can specify Ancestors to leave as empty
	Ancestors []*persistencespb.HistoryBranchRange

	// optional: supply optionally configured workflow settings as hints
	RunTimeout        *time.Duration
	ExecutionTimeout  *time.Duration
	RetentionDuration *time.Duration
}

type NewHistoryBranchResponse added in v1.17.3

type NewHistoryBranchResponse struct {
	// The newly created branch token
	BranchToken []byte
}

type ParseHistoryBranchInfoRequest added in v1.17.3

type ParseHistoryBranchInfoRequest struct {
	// The branch token to parse the branch info from
	BranchToken []byte
}

type ParseHistoryBranchInfoResponse added in v1.17.3

type ParseHistoryBranchInfoResponse struct {
	// The branch info parsed from the branch token
	BranchInfo *persistencespb.HistoryBranch
}

type PersistedTaskQueueInfo added in v0.27.0

type PersistedTaskQueueInfo struct {
	Data    *persistencespb.TaskQueueInfo
	RangeID int64
}

type PruneClusterMembershipRequest added in v0.27.0

type PruneClusterMembershipRequest struct {
	MaxRecordsPruned int
}

PruneClusterMembershipRequest is the request to PruneClusterMembership

type PutReplicationTaskToDLQRequest added in v0.27.0

type PutReplicationTaskToDLQRequest struct {
	ShardID           int32
	SourceClusterName string
	TaskInfo          *persistencespb.ReplicationTaskInfo
}

PutReplicationTaskToDLQRequest is used to put a replication task to dlq

type Queue added in v0.27.0

type Queue interface {
	Closeable
	Init(ctx context.Context, blob *commonpb.DataBlob) error
	EnqueueMessage(ctx context.Context, blob commonpb.DataBlob) error
	ReadMessages(ctx context.Context, lastMessageID int64, maxCount int) ([]*QueueMessage, error)
	DeleteMessagesBefore(ctx context.Context, messageID int64) error
	UpdateAckLevel(ctx context.Context, metadata *InternalQueueMetadata) error
	GetAckLevels(ctx context.Context) (*InternalQueueMetadata, error)

	EnqueueMessageToDLQ(ctx context.Context, blob commonpb.DataBlob) (int64, error)
	ReadMessagesFromDLQ(ctx context.Context, firstMessageID int64, lastMessageID int64, pageSize int, pageToken []byte) ([]*QueueMessage, []byte, error)
	DeleteMessageFromDLQ(ctx context.Context, messageID int64) error
	RangeDeleteMessagesFromDLQ(ctx context.Context, firstMessageID int64, lastMessageID int64) error
	UpdateDLQAckLevel(ctx context.Context, metadata *InternalQueueMetadata) error
	GetDLQAckLevels(ctx context.Context) (*InternalQueueMetadata, error)
}

Queue is a store to enqueue and get messages

func NewQueuePersistenceMetricsClient added in v0.27.0

func NewQueuePersistenceMetricsClient(persistence Queue, metricsHandler metrics.MetricsHandler, logger log.Logger) Queue

NewQueuePersistenceMetricsClient creates a client to manage queue

func NewQueuePersistenceRateLimitedClient added in v0.27.0

func NewQueuePersistenceRateLimitedClient(persistence Queue, rateLimiter quotas.RequestRateLimiter, logger log.Logger) Queue

NewQueuePersistenceRateLimitedClient creates a client to manage queue

func NewQueuePersistenceRetryableClient added in v1.17.3

func NewQueuePersistenceRetryableClient(
	persistence Queue,
	policy backoff.RetryPolicy,
	isRetryable backoff.IsRetryable,
) Queue

NewQueuePersistenceRetryableClient creates a client to manage queue

type QueueMessage added in v0.27.0

type QueueMessage struct {
	QueueType QueueType `json:"queue_type"`
	ID        int64     `json:"message_id"`
	Data      []byte    `json:"message_payload"`
	Encoding  string    `json:"message_encoding"`
}

QueueMessage is the message that stores in the queue

type QueueType added in v0.27.0

type QueueType int32

QueueType is an enum that represents various queue types in persistence

const (
	NamespaceReplicationQueueType QueueType = iota + 1
)

type RangeCompleteHistoryTasksRequest added in v1.16.0

type RangeCompleteHistoryTasksRequest struct {
	ShardID             int32
	TaskCategory        tasks.Category
	InclusiveMinTaskKey tasks.Key
	ExclusiveMaxTaskKey tasks.Key
}

RangeCompleteHistoryTasksRequest deletes a range of history tasks Either max TaskID or FireTime is required depending on the task category type. Min TaskID or FireTime is optional.

type RangeDeleteReplicationTaskFromDLQRequest added in v0.27.0

type RangeDeleteReplicationTaskFromDLQRequest struct {
	RangeCompleteHistoryTasksRequest

	SourceClusterName string
}

RangeDeleteReplicationTaskFromDLQRequest is used to delete replication tasks from DLQ

type ReadHistoryBranchByBatchResponse added in v0.5.0

type ReadHistoryBranchByBatchResponse struct {
	// History events by batch
	History []*historypb.History
	// TransactionID for relevant History batch
	TransactionIDs []int64
	// Token to read next page if there are more events beyond page size.
	// Use this to set NextPageToken on ReadHistoryBranchRequest to read the next page.
	// Empty means we have reached the last page, not need to continue
	NextPageToken []byte
	// Size of history read from store
	Size int
}

ReadHistoryBranchByBatchResponse is the response to ReadHistoryBranchRequest

type ReadHistoryBranchRequest added in v0.5.0

type ReadHistoryBranchRequest struct {
	// The shard to get history branch data
	ShardID int32
	// The branch to be read
	BranchToken []byte
	// Get the history nodes from MinEventID. Inclusive.
	MinEventID int64
	// Get the history nodes upto MaxEventID.  Exclusive.
	MaxEventID int64
	// Maximum number of batches of events per page. Not that number of events in a batch >=1, it is not number of events per page.
	// However for a single page, it is also possible that the returned events is less than PageSize (event zero events) due to stale events.
	PageSize int
	// Token to continue reading next page of history append transactions.  Pass in empty slice for first page
	NextPageToken []byte
}

ReadHistoryBranchRequest is used to read a history branch

type ReadHistoryBranchResponse added in v0.5.0

type ReadHistoryBranchResponse struct {
	// History events
	HistoryEvents []*historypb.HistoryEvent
	// Token to read next page if there are more events beyond page size.
	// Use this to set NextPageToken on ReadHistoryBranchRequest to read the next page.
	// Empty means we have reached the last page, not need to continue
	NextPageToken []byte
	// Size of history read from store
	Size int
}

ReadHistoryBranchResponse is the response to ReadHistoryBranchRequest

type ReadHistoryBranchReverseRequest added in v1.16.0

type ReadHistoryBranchReverseRequest struct {
	// The shard to get history branch data
	ShardID int32
	// The branch to be read
	BranchToken []byte
	// Get the history nodes upto MaxEventID.  Exclusive.
	MaxEventID int64
	// Maximum number of batches of events per page. Not that number of events in a batch >=1, it is not number of events per page.
	// However for a single page, it is also possible that the returned events is less than PageSize (event zero events) due to stale events.
	PageSize int
	// LastFirstTransactionID specified in mutable state. Only used for reading in reverse order.
	LastFirstTransactionID int64
	// Token to continue reading next page of history append transactions.  Pass in empty slice for first page
	NextPageToken []byte
}

ReadHistoryBranchRequest is used to read a history branch

type ReadHistoryBranchReverseResponse added in v1.16.0

type ReadHistoryBranchReverseResponse struct {
	// History events
	HistoryEvents []*historypb.HistoryEvent
	// Token to read next page if there are more events beyond page size.
	// Use this to set NextPageToken on ReadHistoryBranchRequest to read the next page.
	// Empty means we have reached the last page, not need to continue
	NextPageToken []byte
	// Size of history read from store
	Size int
}

ReadHistoryBranchResponse is the response to ReadHistoryBranchRequest

type ReadRawHistoryBranchResponse added in v0.27.0

type ReadRawHistoryBranchResponse struct {
	// HistoryEventBlobs history event blobs
	HistoryEventBlobs []*commonpb.DataBlob
	// NodeIDs is the first event id of each history blob
	NodeIDs []int64
	// Token to read next page if there are more events beyond page size.
	// Use this to set NextPageToken on ReadHistoryBranchRequest to read the next page.
	// Empty means we have reached the last page, not need to continue
	NextPageToken []byte
	// Size of history read from store
	Size int
}

ReadRawHistoryBranchResponse is the response to ReadHistoryBranchRequest

type RenameNamespaceRequest added in v1.16.0

type RenameNamespaceRequest struct {
	PreviousName string
	NewName      string
}

RenameNamespaceRequest is used to rename namespace.

type SaveClusterMetadataRequest added in v1.1.0

type SaveClusterMetadataRequest struct {
	persistencespb.ClusterMetadata
	Version int64
}

SaveClusterMetadataRequest is the request to SaveClusterMetadata

type ServiceType added in v0.27.0

type ServiceType int
const (
	All ServiceType = iota
	Frontend
	History
	Matching
	Worker
)

type SetWorkflowExecutionRequest added in v1.16.0

type SetWorkflowExecutionRequest struct {
	ShardID int32
	RangeID int64

	SetWorkflowSnapshot WorkflowSnapshot
}

SetWorkflowExecutionRequest is used to overwrite the info of a workflow execution

type SetWorkflowExecutionResponse added in v1.16.0

type SetWorkflowExecutionResponse struct {
}

SetWorkflowExecutionResponse is the response to SetWorkflowExecutionRequest

type ShardAlreadyExistError

type ShardAlreadyExistError struct {
	Msg string
}

ShardAlreadyExistError is returned when conditionally creating a shard fails

func (*ShardAlreadyExistError) Error

func (e *ShardAlreadyExistError) Error() string

type ShardInfoWithFailover added in v0.27.0

type ShardInfoWithFailover struct {
	*persistencespb.ShardInfo
	FailoverLevels map[tasks.Category]map[string]FailoverLevel // uuid -> FailoverLevel
}

ShardInfoWithFailover describes a shard

type ShardManager

type ShardManager interface {
	Closeable
	GetName() string

	GetOrCreateShard(ctx context.Context, request *GetOrCreateShardRequest) (*GetOrCreateShardResponse, error)
	UpdateShard(ctx context.Context, request *UpdateShardRequest) error
	AssertShardOwnership(ctx context.Context, request *AssertShardOwnershipRequest) error
}

ShardManager is used to manage all shards

func NewShardManager added in v1.11.0

func NewShardManager(
	shardStore ShardStore,
	serializer serialization.Serializer,
) ShardManager

NewShardManager create a new instance of ShardManager

func NewShardPersistenceMetricsClient added in v0.3.14

func NewShardPersistenceMetricsClient(persistence ShardManager, metricsHandler metrics.MetricsHandler, logger log.Logger) ShardManager

NewShardPersistenceMetricsClient creates a client to manage shards

func NewShardPersistenceRateLimitedClient added in v0.3.14

func NewShardPersistenceRateLimitedClient(persistence ShardManager, rateLimiter quotas.RequestRateLimiter, logger log.Logger) ShardManager

NewShardPersistenceRateLimitedClient creates a client to manage shards

func NewShardPersistenceRetryableClient added in v1.17.3

func NewShardPersistenceRetryableClient(
	persistence ShardManager,
	policy backoff.RetryPolicy,
	isRetryable backoff.IsRetryable,
) ShardManager

NewShardPersistenceRetryableClient creates a client to manage shards

type ShardOwnershipLostError

type ShardOwnershipLostError struct {
	ShardID int32
	Msg     string
}

ShardOwnershipLostError is returned when conditional update fails due to RangeID for the shard

func (*ShardOwnershipLostError) Error

func (e *ShardOwnershipLostError) Error() string

type ShardStore added in v0.4.0

type ShardStore interface {
	Closeable
	GetName() string
	GetClusterName() string
	GetOrCreateShard(ctx context.Context, request *InternalGetOrCreateShardRequest) (*InternalGetOrCreateShardResponse, error)
	UpdateShard(ctx context.Context, request *InternalUpdateShardRequest) error
	AssertShardOwnership(ctx context.Context, request *AssertShardOwnershipRequest) error
}

ShardStore is a lower level of ShardManager

type TaskManager

type TaskManager interface {
	Closeable
	GetName() string
	CreateTaskQueue(ctx context.Context, request *CreateTaskQueueRequest) (*CreateTaskQueueResponse, error)
	UpdateTaskQueue(ctx context.Context, request *UpdateTaskQueueRequest) (*UpdateTaskQueueResponse, error)
	GetTaskQueue(ctx context.Context, request *GetTaskQueueRequest) (*GetTaskQueueResponse, error)
	ListTaskQueue(ctx context.Context, request *ListTaskQueueRequest) (*ListTaskQueueResponse, error)
	DeleteTaskQueue(ctx context.Context, request *DeleteTaskQueueRequest) error
	CreateTasks(ctx context.Context, request *CreateTasksRequest) (*CreateTasksResponse, error)
	GetTasks(ctx context.Context, request *GetTasksRequest) (*GetTasksResponse, error)
	CompleteTask(ctx context.Context, request *CompleteTaskRequest) error
	// CompleteTasksLessThan completes tasks less than or equal to the given task id
	// This API takes a limit parameter which specifies the count of maxRows that
	// can be deleted. This parameter may be ignored by the underlying storage, but
	// its mandatory to specify it. On success this method returns the number of rows
	// actually deleted. If the underlying storage doesn't support "limit", all rows
	// less than or equal to taskID will be deleted.
	// On success, this method returns either:
	//  - UnknownNumRowsAffected (this means all rows below value are deleted)
	//  - number of rows deleted, which may be equal to limit
	CompleteTasksLessThan(ctx context.Context, request *CompleteTasksLessThanRequest) (int, error)
}

TaskManager is used to manage tasks and task queues

func NewTaskManager added in v1.11.0

func NewTaskManager(
	store TaskStore,
	serializer serialization.Serializer,
) TaskManager

NewTaskManager creates a new instance of TaskManager

func NewTaskPersistenceMetricsClient added in v0.3.14

func NewTaskPersistenceMetricsClient(persistence TaskManager, metricsHandler metrics.MetricsHandler, logger log.Logger) TaskManager

NewTaskPersistenceMetricsClient creates a client to manage tasks

func NewTaskPersistenceRateLimitedClient added in v0.3.14

func NewTaskPersistenceRateLimitedClient(persistence TaskManager, rateLimiter quotas.RequestRateLimiter, logger log.Logger) TaskManager

NewTaskPersistenceRateLimitedClient creates a client to manage tasks

func NewTaskPersistenceRetryableClient added in v1.17.3

func NewTaskPersistenceRetryableClient(
	persistence TaskManager,
	policy backoff.RetryPolicy,
	isRetryable backoff.IsRetryable,
) TaskManager

NewTaskPersistenceRetryableClient creates a client to manage tasks

type TaskQueueKey added in v0.27.0

type TaskQueueKey struct {
	NamespaceID   string
	TaskQueueName string
	TaskQueueType enumspb.TaskQueueType
}

TaskQueueKey is the struct used to identity TaskQueues

type TaskStore added in v0.4.0

type TaskStore interface {
	Closeable
	GetName() string
	CreateTaskQueue(ctx context.Context, request *InternalCreateTaskQueueRequest) error
	GetTaskQueue(ctx context.Context, request *InternalGetTaskQueueRequest) (*InternalGetTaskQueueResponse, error)
	UpdateTaskQueue(ctx context.Context, request *InternalUpdateTaskQueueRequest) (*UpdateTaskQueueResponse, error)
	ListTaskQueue(ctx context.Context, request *ListTaskQueueRequest) (*InternalListTaskQueueResponse, error)
	DeleteTaskQueue(ctx context.Context, request *DeleteTaskQueueRequest) error
	CreateTasks(ctx context.Context, request *InternalCreateTasksRequest) (*CreateTasksResponse, error)
	GetTasks(ctx context.Context, request *GetTasksRequest) (*InternalGetTasksResponse, error)
	CompleteTask(ctx context.Context, request *CompleteTaskRequest) error
	CompleteTasksLessThan(ctx context.Context, request *CompleteTasksLessThanRequest) (int, error)
}

TaskStore is a lower level of TaskManager

type TimeoutError

type TimeoutError struct {
	Msg string
}

TimeoutError is returned when a write operation fails due to a timeout

func (*TimeoutError) Error

func (e *TimeoutError) Error() string

type TransactionSizeLimitError added in v0.5.9

type TransactionSizeLimitError struct {
	Msg string
}

TransactionSizeLimitError is returned when the transaction size is too large

func (*TransactionSizeLimitError) Error added in v0.5.9

func (e *TransactionSizeLimitError) Error() string

type TrimHistoryBranchRequest added in v1.9.0

type TrimHistoryBranchRequest struct {
	// The shard to delete history branch data
	ShardID int32
	// branch to be validated & trimmed
	BranchToken []byte
	// known valid node ID
	NodeID int64
	// known valid transaction ID
	TransactionID int64
}

TrimHistoryBranchRequest is used to validate & trim a history branch

type TrimHistoryBranchResponse added in v1.9.0

type TrimHistoryBranchResponse struct {
}

TrimHistoryBranchResponse is the response to TrimHistoryBranchRequest

type UpdateHistoryBranchInfoRequest added in v1.17.3

type UpdateHistoryBranchInfoRequest struct {
	// The original branch token
	BranchToken []byte
	// The branch info to update with
	BranchInfo *persistencespb.HistoryBranch
}

type UpdateHistoryBranchInfoResponse added in v1.17.3

type UpdateHistoryBranchInfoResponse struct {
	// The newly updated branch token
	BranchToken []byte
}

type UpdateNamespaceRequest added in v0.27.0

type UpdateNamespaceRequest struct {
	Namespace           *persistencespb.NamespaceDetail
	IsGlobalNamespace   bool
	NotificationVersion int64
}

UpdateNamespaceRequest is used to update namespace

type UpdateShardRequest

type UpdateShardRequest struct {
	ShardInfo       *persistencespb.ShardInfo
	PreviousRangeID int64
}

UpdateShardRequest is used to update shard information

type UpdateTaskQueueRequest added in v0.27.0

type UpdateTaskQueueRequest struct {
	RangeID       int64
	TaskQueueInfo *persistencespb.TaskQueueInfo

	PrevRangeID int64
}

UpdateTaskQueueRequest is used to update task queue implementation information

type UpdateTaskQueueResponse added in v0.27.0

type UpdateTaskQueueResponse struct {
}

UpdateTaskQueueResponse is the response to UpdateTaskQueue

type UpdateWorkflowExecutionRequest

type UpdateWorkflowExecutionRequest struct {
	ShardID int32
	RangeID int64

	Mode UpdateWorkflowMode

	UpdateWorkflowMutation WorkflowMutation
	UpdateWorkflowEvents   []*WorkflowEvents
	NewWorkflowSnapshot    *WorkflowSnapshot
	NewWorkflowEvents      []*WorkflowEvents
}

UpdateWorkflowExecutionRequest is used to update a workflow execution

type UpdateWorkflowExecutionResponse added in v0.4.0

type UpdateWorkflowExecutionResponse struct {
	UpdateMutableStateStats MutableStateStatistics
	NewMutableStateStats    *MutableStateStatistics
}

UpdateWorkflowExecutionResponse is response for UpdateWorkflowExecutionRequest

type UpdateWorkflowMode added in v0.27.0

type UpdateWorkflowMode int

UpdateWorkflowMode update mode

const (
	// UpdateWorkflowModeUpdateCurrent update workflow, including current record
	// NOTE: update on current record is a condition update
	UpdateWorkflowModeUpdateCurrent UpdateWorkflowMode = iota
	// UpdateWorkflowModeBypassCurrent update workflow, without current record
	// NOTE: current record CANNOT point to the workflow to be updated
	UpdateWorkflowModeBypassCurrent
)

Update Workflow Execution Mode

type UpsertClusterMembershipRequest added in v0.27.0

type UpsertClusterMembershipRequest struct {
	Role         ServiceType
	HostID       uuid.UUID
	RPCAddress   net.IP
	RPCPort      uint16
	SessionStart time.Time
	RecordExpiry time.Duration
}

UpsertClusterMembershipRequest is the request to UpsertClusterMembership

type WorkflowConditionFailedError added in v1.12.0

type WorkflowConditionFailedError struct {
	Msg             string
	NextEventID     int64
	DBRecordVersion int64
}

WorkflowConditionFailedError represents a failed conditional update for workflow record

func (*WorkflowConditionFailedError) Error added in v1.12.0

type WorkflowEvents added in v0.7.0

type WorkflowEvents struct {
	NamespaceID string
	WorkflowID  string
	RunID       string
	BranchToken []byte
	PrevTxnID   int64
	TxnID       int64
	Events      []*historypb.HistoryEvent
}

WorkflowEvents is used as generic workflow history events transaction container

type WorkflowMutation added in v0.6.0

type WorkflowMutation struct {
	ExecutionInfo  *persistencespb.WorkflowExecutionInfo
	ExecutionState *persistencespb.WorkflowExecutionState
	// TODO deprecate NextEventID in favor of DBRecordVersion
	NextEventID int64

	UpsertActivityInfos       map[int64]*persistencespb.ActivityInfo
	DeleteActivityInfos       map[int64]struct{}
	UpsertTimerInfos          map[string]*persistencespb.TimerInfo
	DeleteTimerInfos          map[string]struct{}
	UpsertChildExecutionInfos map[int64]*persistencespb.ChildExecutionInfo
	DeleteChildExecutionInfos map[int64]struct{}
	UpsertRequestCancelInfos  map[int64]*persistencespb.RequestCancelInfo
	DeleteRequestCancelInfos  map[int64]struct{}
	UpsertSignalInfos         map[int64]*persistencespb.SignalInfo
	DeleteSignalInfos         map[int64]struct{}
	UpsertSignalRequestedIDs  map[string]struct{}
	DeleteSignalRequestedIDs  map[string]struct{}
	NewBufferedEvents         []*historypb.HistoryEvent
	ClearBufferedEvents       bool

	Tasks map[tasks.Category][]tasks.Task

	// TODO deprecate Condition in favor of DBRecordVersion
	Condition       int64
	DBRecordVersion int64
	Checksum        *persistencespb.Checksum
}

WorkflowMutation is used as generic workflow execution state mutation

type WorkflowSnapshot added in v0.6.0

type WorkflowSnapshot struct {
	ExecutionInfo  *persistencespb.WorkflowExecutionInfo
	ExecutionState *persistencespb.WorkflowExecutionState
	// TODO deprecate NextEventID in favor of DBRecordVersion
	NextEventID int64

	ActivityInfos       map[int64]*persistencespb.ActivityInfo
	TimerInfos          map[string]*persistencespb.TimerInfo
	ChildExecutionInfos map[int64]*persistencespb.ChildExecutionInfo
	RequestCancelInfos  map[int64]*persistencespb.RequestCancelInfo
	SignalInfos         map[int64]*persistencespb.SignalInfo
	SignalRequestedIDs  map[string]struct{}

	Tasks map[tasks.Category][]tasks.Task

	// TODO deprecate Condition in favor of DBRecordVersion
	Condition       int64
	DBRecordVersion int64
	Checksum        *persistencespb.Checksum
}

WorkflowSnapshot is used as generic workflow execution state snapshot

Directories

Path Synopsis
Package client is a generated GoMock package.
Package client is a generated GoMock package.
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
nosql
sql

Jump to

Keyboard shortcuts

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