persistence

package
v1.23.0-rc14 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2024 License: MIT Imports: 51 Imported by: 8

Documentation

Overview

Package persistence is a generated GoMock package.

Package persistence is a generated GoMock package.

Package persistence is a generated GoMock package.

Index

Constants

View Source
const (
	ErrMsgSerializeTaskToEnqueue = "failed to serialize history task for task queue"
	// ErrMsgDeserializeRawHistoryTask is returned when the raw task cannot be deserialized from the task queue. This error
	// is returned when this whole top-level proto cannot be deserialized.
	//  Raw Task (a proto): <-- when this cannot be deserialized
	//	- ShardID
	//	- Blob (a serialized task)
	ErrMsgDeserializeRawHistoryTask = "failed to deserialize raw history task from task queue"
	// ErrMsgDeserializeHistoryTask is returned when the history task cannot be deserialized from the task queue. This
	// error is returned when the blob inside the raw task cannot be deserialized.
	//  Raw Task (a proto):
	//	- ShardID
	//	- Blob (a serialized task) <-- when this cannot be deserialized
	ErrMsgDeserializeHistoryTask = "failed to deserialize history task blob"
)
View Source
const (
	EmptyQueueMessageID = int64(-1)
	MaxQueueMessageID   = math.MaxInt64
)
View Source
const (
	RateLimitDefaultToken = 1
	CallerSegmentMissing  = -1
)
View Source
const (
	// InitialFailoverNotificationVersion is the initial failover version for a namespace
	InitialFailoverNotificationVersion int64 = 0
)
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 (
	ErrReadTasksNonPositivePageSize = errors.New("page size to read history tasks must be positive")
	ErrHistoryTaskBlobIsNil         = errors.New("history task from queue has nil blob")
	ErrEnqueueTaskRequestTaskIsNil  = errors.New("enqueue task request task is nil")
	ErrQueueAlreadyExists           = errors.New("queue already exists")
	ErrShardIDInvalid               = errors.New("shard ID must be greater than 0")
)
View Source
var (
	ErrInvalidReadQueueMessagesNextPageToken = &InvalidPersistenceRequestError{
		Msg: "invalid next-page token for reading queue messages",
	}
	ErrInvalidListQueuesNextPageToken = &InvalidPersistenceRequestError{
		Msg: "invalid next-page token for listing queues",
	}
	ErrNonPositiveReadQueueMessagesPageSize = &InvalidPersistenceRequestError{
		Msg: "non-positive page size for reading queue messages",
	}
	ErrInvalidQueueRangeDeleteMaxMessageID = &InvalidPersistenceRequestError{
		Msg: "max message id for queue range delete is invalid",
	}
	ErrNonPositiveListQueuesPageSize = &InvalidPersistenceRequestError{
		Msg: "non-positive page size for listing queues",
	}
	ErrNegativeListQueuesOffset = &InvalidPersistenceRequestError{
		Msg: "negative offset for listing queues",
	}
)
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 CopyBaseWorkflowInfo added in v1.22.0

func CopyBaseWorkflowInfo(
	baseWorkflowInfo *workflowspb.BaseExecutionInfo,
) *workflowspb.BaseExecutionInfo

func GetBeginNodeID added in v0.5.7

func GetBeginNodeID(bi *persistencespb.HistoryBranch) int64

GetBeginNodeID gets node id from last ancestor

func GetMinMessageIDToReadForQueueV2 added in v1.23.0

func GetMinMessageIDToReadForQueueV2(
	queueType QueueV2Type,
	queueName string,
	nextPageToken []byte,
	queue *persistencespb.Queue,
) (int64, error)

func GetNextPageTokenForListQueues added in v1.23.0

func GetNextPageTokenForListQueues(queueNumber int64) []byte

func GetNextPageTokenForReadMessages added in v1.23.0

func GetNextPageTokenForReadMessages(result []QueueV2Message) []byte

func GetOffsetForListQueues added in v1.23.0

func GetOffsetForListQueues(
	nextPageToken []byte,
) (int64, error)

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 GetPartitionForQueueV2 added in v1.23.0

func GetPartitionForQueueV2(
	queueType QueueV2Type,
	queueName string,
	queue *persistencespb.Queue,
) (*persistencespb.QueuePartition, error)

func GetXDCCacheValue added in v1.22.0

func GetXDCCacheValue(
	executionInfo *persistencepb.WorkflowExecutionInfo,
	eventID int64,
	version int64,
) ([]*historyspb.VersionHistoryItem, []byte, *workflowspb.BaseExecutionInfo, error)

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. Comments are removed from the query.

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. Comments are removed from the query.

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 NewHistoryBranch added in v1.21.0

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

func NewQueueNotFoundError added in v1.23.0

func NewQueueNotFoundError(queueType QueueV2Type, queueName string) 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 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 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 TODO: allow this method to return errors

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.Handler, healthSignals HealthSignalAggregator, 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 CountTaskQueuesByBuildIdRequest added in v1.21.0

type CountTaskQueuesByBuildIdRequest struct {
	NamespaceID string
	BuildID     string
}

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 CreateQueueRequest added in v1.23.0

type CreateQueueRequest struct {
	QueueKey QueueKey
}

type CreateQueueResponse added in v1.23.0

type CreateQueueResponse struct {
}

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 DeleteRange added in v1.23.0

type DeleteRange struct {
	InclusiveMessageRange
	NewMinMessageID  int64
	MessagesToDelete int64
}

func GetDeleteRange added in v1.23.0

func GetDeleteRange(request DeleteRequest) (DeleteRange, bool)

GetDeleteRange returns the range of messages to delete, and a boolean indicating whether there is any update to be made: meaning either we should delete messages, update the min message ID, or both.

type DeleteReplicationTaskFromDLQRequest added in v0.27.0

type DeleteReplicationTaskFromDLQRequest struct {
	CompleteHistoryTaskRequest

	SourceClusterName string
}

DeleteReplicationTaskFromDLQRequest is used to delete replication task from DLQ

type DeleteRequest added in v1.23.0

type DeleteRequest struct {
	// LastIDToDeleteInclusive represents the maximum message ID that the user wants to delete, inclusive.
	LastIDToDeleteInclusive int64
	// ExistingMessageRange represents an inclusive range of the minimum message ID and the maximum message ID in the queue.
	ExistingMessageRange InclusiveMessageRange
}

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 DeleteTasksRequest added in v1.23.0

type DeleteTasksRequest struct {
	QueueKey                    QueueKey
	InclusiveMaxMessageMetadata MessageMetadata
}

type DeleteTasksResponse added in v1.23.0

type DeleteTasksResponse struct {
	MessagesDeleted int64
}

type DeleteWorkflowExecutionRequest

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

DeleteWorkflowExecutionRequest is used to delete a workflow execution

type EnqueueTaskRequest added in v1.23.0

type EnqueueTaskRequest struct {
	QueueType     QueueV2Type
	SourceCluster string
	TargetCluster string
	Task          tasks.Task
	// SourceShardID of the task in its original cluster. Note that tasks may move between clusters, so this shard
	// id may not be the same as the shard id of the task in the current cluster.
	SourceShardID int
}

EnqueueTaskRequest does not include a QueueKey because it does not need the QueueKey.Category field, as that can already be inferred from the Task field.

type EnqueueTaskResponse added in v1.23.0

type EnqueueTaskResponse struct {
	Metadata MessageMetadata
}

type ExecutionManager

type ExecutionManager interface {
	Closeable
	GetName() string
	GetHistoryBranchUtil() HistoryBranchUtil

	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)

	// Hints for persistence implementation regarding history task readers
	RegisterHistoryTaskReader(ctx context.Context, request *RegisterHistoryTaskReaderRequest) error
	UnregisterHistoryTaskReader(ctx context.Context, request *UnregisterHistoryTaskReaderRequest)
	UpdateHistoryTaskReaderProgress(ctx context.Context, request *UpdateHistoryTaskReaderProgressRequest)

	AddHistoryTasks(ctx context.Context, request *AddHistoryTasksRequest) 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
	IsReplicationDLQEmpty(ctx context.Context, request *GetReplicationTasksFromDLQRequest) (bool, 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)
	// 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,
	eventBlobCache XDCCache,
	logger log.Logger,
	transactionSizeLimit dynamicconfig.IntPropertyFn,
) ExecutionManager

NewExecutionManager returns new ExecutionManager

func NewExecutionPersistenceMetricsClient added in v1.12.0

func NewExecutionPersistenceMetricsClient(persistence ExecutionManager, metricsHandler metrics.Handler, healthSignals HealthSignalAggregator, 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
	GetHistoryBranchUtil() HistoryBranchUtil

	// 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)

	// Hints for persistence implementaion regarding hisotry task readers
	RegisterHistoryTaskReader(ctx context.Context, request *RegisterHistoryTaskReaderRequest) error
	UnregisterHistoryTaskReader(ctx context.Context, request *UnregisterHistoryTaskReaderRequest)
	UpdateHistoryTaskReaderProgress(ctx context.Context, request *UpdateHistoryTaskReaderProgressRequest)

	AddHistoryTasks(ctx context.Context, request *InternalAddHistoryTasksRequest) 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
	IsReplicationDLQEmpty(ctx context.Context, request *GetReplicationTasksFromDLQRequest) (bool, 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
	// 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 ForkHistoryBranchRequest added in v0.5.0

type ForkHistoryBranchRequest struct {
	// The shard to get history branch data
	ShardID int32
	// The namespace performing the fork
	NamespaceID string
	// 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 GetHistoryTasksRequest added in v1.16.0

type GetHistoryTasksRequest struct {
	ShardID             int32
	TaskCategory        tasks.Category
	ReaderID            int64
	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
}

GetHistoryTreeRequest is used to retrieve branch info of a history tree

type GetHistoryTreeResponse added in v0.5.0

type GetHistoryTreeResponse struct {
	BranchInfos []*persistencespb.HistoryBranch
}

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 GetTaskQueueUserDataRequest added in v1.21.0

type GetTaskQueueUserDataRequest struct {
	NamespaceID string
	TaskQueue   string
}

GetTaskQueueUserDataRequest is the input type for the GetTaskQueueUserData API

type GetTaskQueueUserDataResponse added in v1.21.0

type GetTaskQueueUserDataResponse struct {
	UserData *persistencespb.VersionedTaskQueueUserData
}

GetTaskQueueUserDataResponse is the output type for the GetTaskQueueUserData API

type GetTaskQueuesByBuildIdRequest added in v1.21.0

type GetTaskQueuesByBuildIdRequest struct {
	NamespaceID string
	BuildID     string
}

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 HealthSignalAggregator added in v1.21.0

type HealthSignalAggregator interface {
	Record(callerSegment int32, namespace string, latency time.Duration, err error)
	AverageLatency() float64
	ErrorRatio() float64
	Start()
	Stop()
}
var NoopHealthSignalAggregator HealthSignalAggregator = newNoopSignalAggregator()

type HealthSignalAggregatorImpl added in v1.21.0

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

func NewHealthSignalAggregatorImpl added in v1.21.0

func NewHealthSignalAggregatorImpl(
	aggregationEnabled bool,
	windowSize time.Duration,
	maxBufferSize int,
	metricsHandler metrics.Handler,
	perShardRPSWarnLimit dynamicconfig.IntPropertyFn,
	perShardPerNsRPSWarnLimit dynamicconfig.FloatPropertyFn,
	logger log.Logger,
) *HealthSignalAggregatorImpl

func (*HealthSignalAggregatorImpl) AverageLatency added in v1.21.0

func (s *HealthSignalAggregatorImpl) AverageLatency() float64

func (*HealthSignalAggregatorImpl) ErrorRatio added in v1.21.0

func (s *HealthSignalAggregatorImpl) ErrorRatio() float64

func (*HealthSignalAggregatorImpl) Record added in v1.21.0

func (s *HealthSignalAggregatorImpl) Record(callerSegment int32, namespace string, latency time.Duration, err error)

func (*HealthSignalAggregatorImpl) Start added in v1.21.0

func (s *HealthSignalAggregatorImpl) Start()

func (*HealthSignalAggregatorImpl) Stop added in v1.21.0

func (s *HealthSignalAggregatorImpl) Stop()

type HistoryBranchDetail added in v0.27.0

type HistoryBranchDetail struct {
	BranchInfo *persistencespb.HistoryBranch
	ForkTime   *timestamppb.Timestamp
	Info       string
}

HistoryBranchDetail contains detailed information of a branch

type HistoryBranchUtil added in v1.21.0

type HistoryBranchUtil interface {
	NewHistoryBranch(
		namespaceID string,
		workflowID string,
		runID string,
		treeID string,
		branchID *string,
		ancestors []*persistencespb.HistoryBranchRange,
		runTimeout time.Duration,
		executionTimeout time.Duration,
		retentionDuration time.Duration,
	) ([]byte, error)
	// ParseHistoryBranchInfo parses the history branch for branch information
	ParseHistoryBranchInfo(branchToken []byte) (*persistencespb.HistoryBranch, error)
	// UpdateHistoryBranchInfo updates the history branch with branch information
	UpdateHistoryBranchInfo(branchToken []byte, branchInfo *persistencespb.HistoryBranch) ([]byte, error)
}

type HistoryBranchUtilImpl added in v1.21.0

type HistoryBranchUtilImpl struct {
}

func (*HistoryBranchUtilImpl) GetHistoryBranchUtil added in v1.21.0

func (u *HistoryBranchUtilImpl) GetHistoryBranchUtil() HistoryBranchUtil

func (*HistoryBranchUtilImpl) NewHistoryBranch added in v1.21.0

func (u *HistoryBranchUtilImpl) NewHistoryBranch(
	namespaceID string,
	workflowID string,
	runID string,
	treeID string,
	branchID *string,
	ancestors []*persistencespb.HistoryBranchRange,
	runTimeout time.Duration,
	executionTimeout time.Duration,
	retentionDuration time.Duration,
) ([]byte, error)

func (*HistoryBranchUtilImpl) ParseHistoryBranchInfo added in v1.21.0

func (u *HistoryBranchUtilImpl) ParseHistoryBranchInfo(branchToken []byte) (*persistencespb.HistoryBranch, error)

func (*HistoryBranchUtilImpl) UpdateHistoryBranchInfo added in v1.21.0

func (u *HistoryBranchUtilImpl) UpdateHistoryBranchInfo(branchToken []byte, branchInfo *persistencespb.HistoryBranch) ([]byte, error)

type HistoryStatistics added in v1.13.0

type HistoryStatistics struct {
	SizeDiff  int
	CountDiff int
}

type HistoryTask added in v1.23.0

type HistoryTask struct {
	MessageMetadata MessageMetadata
	Task            tasks.Task
}

type HistoryTaskQueueManager added in v1.23.0

type HistoryTaskQueueManager interface {
	EnqueueTask(ctx context.Context, request *EnqueueTaskRequest) (*EnqueueTaskResponse, error)
	ReadRawTasks(
		ctx context.Context,
		request *ReadRawTasksRequest,
	) (*ReadRawTasksResponse, error)
	ReadTasks(ctx context.Context, request *ReadTasksRequest) (*ReadTasksResponse, error)
	// CreateQueue must return an ErrQueueAlreadyExists if the queue already exists.
	CreateQueue(ctx context.Context, request *CreateQueueRequest) (*CreateQueueResponse, error)
	DeleteTasks(ctx context.Context, request *DeleteTasksRequest) (*DeleteTasksResponse, error)
	ListQueues(ctx context.Context, request *ListQueuesRequest) (*ListQueuesResponse, error)
}

HistoryTaskQueueManager is responsible for managing a queue of internal history tasks. This is called a history task queue manager, but the actual history task queues are not managed by this object. Instead, this object is responsible for managing a generic queue of history tasks (which is what the history task DLQ is).

type HistoryTaskQueueManagerImpl added in v1.23.0

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

func NewHistoryTaskQueueManager added in v1.23.0

func NewHistoryTaskQueueManager(queue QueueV2) *HistoryTaskQueueManagerImpl

func (*HistoryTaskQueueManagerImpl) CreateQueue added in v1.23.0

func (*HistoryTaskQueueManagerImpl) DeleteTasks added in v1.23.0

func (*HistoryTaskQueueManagerImpl) EnqueueTask added in v1.23.0

func (HistoryTaskQueueManagerImpl) ListQueues added in v1.23.0

func (*HistoryTaskQueueManagerImpl) ReadRawTasks added in v1.23.0

ReadRawTasks returns a page of "raw" tasks from the queue. Here's a quick disambiguation of the different types of tasks:

func (*HistoryTaskQueueManagerImpl) ReadTasks added in v1.23.0

ReadTasks is a convenience method on top of ReadRawTasks that deserializes the tasks into the tasks.Task type.

type InclusiveMessageRange added in v1.23.0

type InclusiveMessageRange struct {
	MinMessageID int64
	MaxMessageID int64
}

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 InternalCreateQueueRequest added in v1.23.0

type InternalCreateQueueRequest struct {
	QueueType QueueV2Type
	QueueName string
}

type InternalCreateQueueResponse added in v1.23.0

type InternalCreateQueueResponse struct {
}

type InternalCreateTask added in v1.11.0

type InternalCreateTask struct {
	TaskId     int64
	ExpiryTime *timestamppb.Timestamp
	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    *timestamppb.Timestamp
}

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
	// The branch
	BranchInfo *persistencespb.HistoryBranch
	// Used in sharded data stores to identify which shard to use
	ShardID int32
	// 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 InternalEnqueueMessageRequest added in v1.23.0

type InternalEnqueueMessageRequest struct {
	QueueType QueueV2Type
	QueueName string
	Blob      *commonpb.DataBlob
}

type InternalEnqueueMessageResponse added in v1.23.0

type InternalEnqueueMessageResponse struct {
	Metadata MessageMetadata
}

type InternalForkHistoryBranchRequest added in v0.5.0

type InternalForkHistoryBranchRequest struct {
	// The base branch token
	ForkBranchToken []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 InternalGetTaskQueueUserDataResponse added in v1.21.0

type InternalGetTaskQueueUserDataResponse struct {
	Version  int64
	UserData *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 InternalListQueuesRequest added in v1.23.0

type InternalListQueuesRequest struct {
	QueueType     QueueV2Type
	PageSize      int
	NextPageToken []byte
}

type InternalListQueuesResponse added in v1.23.0

type InternalListQueuesResponse struct {
	Queues        []QueueInfo
	NextPageToken []byte
}

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 InternalListTaskQueueUserDataEntriesResponse added in v1.21.0

type InternalListTaskQueueUserDataEntriesResponse struct {
	NextPageToken []byte
	Entries       []InternalTaskQueueUserDataEntry
}

type InternalQueueMetadata added in v1.11.0

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

type InternalRangeDeleteMessagesRequest added in v1.23.0

type InternalRangeDeleteMessagesRequest struct {
	QueueType                   QueueV2Type
	QueueName                   string
	InclusiveMaxMessageMetadata MessageMetadata
}

InternalRangeDeleteMessagesRequest deletes all messages with ID <= given messageID

type InternalRangeDeleteMessagesResponse added in v1.23.0

type InternalRangeDeleteMessagesResponse struct {
	MessagesDeleted int64
}

type InternalReadHistoryBranchRequest added in v0.5.0

type InternalReadHistoryBranchRequest struct {
	// The raw branch token
	BranchToken []byte
	// 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 InternalReadMessagesRequest added in v1.23.0

type InternalReadMessagesRequest struct {
	QueueType     QueueV2Type
	QueueName     string
	PageSize      int
	NextPageToken []byte
}

type InternalReadMessagesResponse added in v1.23.0

type InternalReadMessagesResponse struct {
	Messages      []QueueV2Message
	NextPageToken []byte
}

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 InternalTaskQueueUserDataEntry added in v1.21.0

type InternalTaskQueueUserDataEntry struct {
	TaskQueue string
	Data      *commonpb.DataBlob
	Version   int64
}

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
	Owner           string
	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    *timestamppb.Timestamp

	PrevRangeID int64
}

type InternalUpdateTaskQueueUserDataRequest added in v1.21.0

type InternalUpdateTaskQueueUserDataRequest struct {
	NamespaceID string
	TaskQueue   string
	Version     int64
	UserData    *commonpb.DataBlob
	// Used to build an index of build_id to task_queues
	BuildIdsAdded   []string
	BuildIdsRemoved []string
}

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 ListQueuesRequest added in v1.23.0

type ListQueuesRequest struct {
	QueueType     QueueV2Type
	PageSize      int
	NextPageToken []byte
}

type ListQueuesResponse added in v1.23.0

type ListQueuesResponse struct {
	Queues        []QueueInfo
	NextPageToken []byte
}

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 ListTaskQueueUserDataEntriesRequest added in v1.21.0

type ListTaskQueueUserDataEntriesRequest struct {
	NamespaceID   string
	PageSize      int
	NextPageToken []byte
}

type ListTaskQueueUserDataEntriesResponse added in v1.21.0

type ListTaskQueueUserDataEntriesResponse struct {
	NextPageToken []byte
	Entries       []*TaskQueueUserDataEntry
}

type MessageMetadata added in v1.23.0

type MessageMetadata struct {
	ID int64
}

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.Handler, healthSignals HealthSignalAggregator, 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) GetHistoryBranchUtil added in v1.21.0

func (m *MockExecutionManager) GetHistoryBranchUtil() HistoryBranchUtil

GetHistoryBranchUtil 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) IsReplicationDLQEmpty added in v1.21.0

func (m *MockExecutionManager) IsReplicationDLQEmpty(ctx context.Context, request *GetReplicationTasksFromDLQRequest) (bool, error)

IsReplicationDLQEmpty mocks base method.

func (*MockExecutionManager) ListConcreteExecutions added in v1.5.7

ListConcreteExecutions 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) RegisterHistoryTaskReader added in v1.21.0

func (m *MockExecutionManager) RegisterHistoryTaskReader(ctx context.Context, request *RegisterHistoryTaskReaderRequest) error

RegisterHistoryTaskReader 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) UnregisterHistoryTaskReader added in v1.21.0

func (m *MockExecutionManager) UnregisterHistoryTaskReader(ctx context.Context, request *UnregisterHistoryTaskReaderRequest)

UnregisterHistoryTaskReader mocks base method.

func (*MockExecutionManager) UpdateHistoryTaskReaderProgress added in v1.21.0

func (m *MockExecutionManager) UpdateHistoryTaskReaderProgress(ctx context.Context, request *UpdateHistoryTaskReaderProgressRequest)

UpdateHistoryTaskReaderProgress 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) GetHistoryBranchUtil added in v1.21.0

func (mr *MockExecutionManagerMockRecorder) GetHistoryBranchUtil() *gomock.Call

GetHistoryBranchUtil indicates an expected call of GetHistoryBranchUtil.

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) IsReplicationDLQEmpty added in v1.21.0

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

IsReplicationDLQEmpty indicates an expected call of IsReplicationDLQEmpty.

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) 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) RegisterHistoryTaskReader added in v1.21.0

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

RegisterHistoryTaskReader indicates an expected call of RegisterHistoryTaskReader.

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) UnregisterHistoryTaskReader added in v1.21.0

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

UnregisterHistoryTaskReader indicates an expected call of UnregisterHistoryTaskReader.

func (*MockExecutionManagerMockRecorder) UpdateHistoryTaskReaderProgress added in v1.21.0

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

UpdateHistoryTaskReaderProgress indicates an expected call of UpdateHistoryTaskReaderProgress.

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 MockHistoryBranchUtil added in v1.21.0

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

MockHistoryBranchUtil is a mock of HistoryBranchUtil interface.

func NewMockHistoryBranchUtil added in v1.21.0

func NewMockHistoryBranchUtil(ctrl *gomock.Controller) *MockHistoryBranchUtil

NewMockHistoryBranchUtil creates a new mock instance.

func (*MockHistoryBranchUtil) EXPECT added in v1.21.0

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

func (*MockHistoryBranchUtil) NewHistoryBranch added in v1.21.0

func (m *MockHistoryBranchUtil) NewHistoryBranch(namespaceID, workflowID, runID, treeID string, branchID *string, ancestors []*persistence.HistoryBranchRange, runTimeout, executionTimeout, retentionDuration time.Duration) ([]byte, error)

NewHistoryBranch mocks base method.

func (*MockHistoryBranchUtil) ParseHistoryBranchInfo added in v1.21.0

func (m *MockHistoryBranchUtil) ParseHistoryBranchInfo(branchToken []byte) (*persistence.HistoryBranch, error)

ParseHistoryBranchInfo mocks base method.

func (*MockHistoryBranchUtil) UpdateHistoryBranchInfo added in v1.21.0

func (m *MockHistoryBranchUtil) UpdateHistoryBranchInfo(branchToken []byte, branchInfo *persistence.HistoryBranch) ([]byte, error)

UpdateHistoryBranchInfo mocks base method.

type MockHistoryBranchUtilMockRecorder added in v1.21.0

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

MockHistoryBranchUtilMockRecorder is the mock recorder for MockHistoryBranchUtil.

func (*MockHistoryBranchUtilMockRecorder) NewHistoryBranch added in v1.21.0

func (mr *MockHistoryBranchUtilMockRecorder) NewHistoryBranch(namespaceID, workflowID, runID, treeID, branchID, ancestors, runTimeout, executionTimeout, retentionDuration interface{}) *gomock.Call

NewHistoryBranch indicates an expected call of NewHistoryBranch.

func (*MockHistoryBranchUtilMockRecorder) ParseHistoryBranchInfo added in v1.21.0

func (mr *MockHistoryBranchUtilMockRecorder) ParseHistoryBranchInfo(branchToken interface{}) *gomock.Call

ParseHistoryBranchInfo indicates an expected call of ParseHistoryBranchInfo.

func (*MockHistoryBranchUtilMockRecorder) UpdateHistoryBranchInfo added in v1.21.0

func (mr *MockHistoryBranchUtilMockRecorder) UpdateHistoryBranchInfo(branchToken, branchInfo interface{}) *gomock.Call

UpdateHistoryBranchInfo indicates an expected call of UpdateHistoryBranchInfo.

type MockHistoryTaskQueueManager added in v1.23.0

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

MockHistoryTaskQueueManager is a mock of HistoryTaskQueueManager interface.

func NewMockHistoryTaskQueueManager added in v1.23.0

func NewMockHistoryTaskQueueManager(ctrl *gomock.Controller) *MockHistoryTaskQueueManager

NewMockHistoryTaskQueueManager creates a new mock instance.

func (*MockHistoryTaskQueueManager) CreateQueue added in v1.23.0

CreateQueue mocks base method.

func (*MockHistoryTaskQueueManager) DeleteTasks added in v1.23.0

DeleteTasks mocks base method.

func (*MockHistoryTaskQueueManager) EXPECT added in v1.23.0

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

func (*MockHistoryTaskQueueManager) EnqueueTask added in v1.23.0

EnqueueTask mocks base method.

func (*MockHistoryTaskQueueManager) ListQueues added in v1.23.0

ListQueues mocks base method.

func (*MockHistoryTaskQueueManager) ReadRawTasks added in v1.23.0

ReadRawTasks mocks base method.

func (*MockHistoryTaskQueueManager) ReadTasks added in v1.23.0

ReadTasks mocks base method.

type MockHistoryTaskQueueManagerMockRecorder added in v1.23.0

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

MockHistoryTaskQueueManagerMockRecorder is the mock recorder for MockHistoryTaskQueueManager.

func (*MockHistoryTaskQueueManagerMockRecorder) CreateQueue added in v1.23.0

func (mr *MockHistoryTaskQueueManagerMockRecorder) CreateQueue(ctx, request interface{}) *gomock.Call

CreateQueue indicates an expected call of CreateQueue.

func (*MockHistoryTaskQueueManagerMockRecorder) DeleteTasks added in v1.23.0

func (mr *MockHistoryTaskQueueManagerMockRecorder) DeleteTasks(ctx, request interface{}) *gomock.Call

DeleteTasks indicates an expected call of DeleteTasks.

func (*MockHistoryTaskQueueManagerMockRecorder) EnqueueTask added in v1.23.0

func (mr *MockHistoryTaskQueueManagerMockRecorder) EnqueueTask(ctx, request interface{}) *gomock.Call

EnqueueTask indicates an expected call of EnqueueTask.

func (*MockHistoryTaskQueueManagerMockRecorder) ListQueues added in v1.23.0

func (mr *MockHistoryTaskQueueManagerMockRecorder) ListQueues(ctx, request interface{}) *gomock.Call

ListQueues indicates an expected call of ListQueues.

func (*MockHistoryTaskQueueManagerMockRecorder) ReadRawTasks added in v1.23.0

func (mr *MockHistoryTaskQueueManagerMockRecorder) ReadRawTasks(ctx, request interface{}) *gomock.Call

ReadRawTasks indicates an expected call of ReadRawTasks.

func (*MockHistoryTaskQueueManagerMockRecorder) ReadTasks added in v1.23.0

func (mr *MockHistoryTaskQueueManagerMockRecorder) ReadTasks(ctx, request interface{}) *gomock.Call

ReadTasks indicates an expected call of ReadTasks.

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) CountTaskQueuesByBuildId added in v1.21.0

func (m *MockTaskManager) CountTaskQueuesByBuildId(ctx context.Context, request *CountTaskQueuesByBuildIdRequest) (int, error)

CountTaskQueuesByBuildId 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) GetTaskQueueUserData added in v1.21.0

GetTaskQueueUserData mocks base method.

func (*MockTaskManager) GetTaskQueuesByBuildId added in v1.21.0

func (m *MockTaskManager) GetTaskQueuesByBuildId(ctx context.Context, request *GetTaskQueuesByBuildIdRequest) ([]string, error)

GetTaskQueuesByBuildId 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) ListTaskQueueUserDataEntries added in v1.21.0

ListTaskQueueUserDataEntries mocks base method.

func (*MockTaskManager) UpdateTaskQueue added in v1.5.7

UpdateTaskQueue mocks base method.

func (*MockTaskManager) UpdateTaskQueueUserData added in v1.21.0

func (m *MockTaskManager) UpdateTaskQueueUserData(ctx context.Context, request *UpdateTaskQueueUserDataRequest) error

UpdateTaskQueueUserData 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) CountTaskQueuesByBuildId added in v1.21.0

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

CountTaskQueuesByBuildId indicates an expected call of CountTaskQueuesByBuildId.

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) GetTaskQueueUserData added in v1.21.0

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

GetTaskQueueUserData indicates an expected call of GetTaskQueueUserData.

func (*MockTaskManagerMockRecorder) GetTaskQueuesByBuildId added in v1.21.0

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

GetTaskQueuesByBuildId indicates an expected call of GetTaskQueuesByBuildId.

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) ListTaskQueueUserDataEntries added in v1.21.0

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

ListTaskQueueUserDataEntries indicates an expected call of ListTaskQueueUserDataEntries.

func (*MockTaskManagerMockRecorder) UpdateTaskQueue added in v1.5.7

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

UpdateTaskQueue indicates an expected call of UpdateTaskQueue.

func (*MockTaskManagerMockRecorder) UpdateTaskQueueUserData added in v1.21.0

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

UpdateTaskQueueUserData indicates an expected call of UpdateTaskQueueUserData.

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
	UpdateInfoCount        int

	// Total item count for various information captured within mutable state
	TotalActivityCount              int64
	TotalUserTimerCount             int64
	TotalChildExecutionCount        int64
	TotalRequestCancelExternalCount int64
	TotalSignalExternalCount        int64
	TotalSignalCount                int64
	TotalUpdateCount                int64
}

MutableStateStatistics is the size stats for MutableState

type NamespaceReplicationQueue added in v0.27.0

type NamespaceReplicationQueue interface {
	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
	Start()
	Stop()
}

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.Handler,
	logger log.Logger,
) (NamespaceReplicationQueue, error)

NewNamespaceReplicationQueue creates a new NamespaceReplicationQueue instance

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.Handler, healthSignals HealthSignalAggregator, 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 QueueInfo added in v1.23.0

type QueueInfo struct {
	QueueName    string
	MessageCount int64
}

type QueueKey added in v1.23.0

type QueueKey struct {
	QueueType     QueueV2Type
	Category      tasks.Category
	SourceCluster string
	// TargetCluster is only used for cross-cluster replication tasks.
	TargetCluster string
}

QueueKey identifies a history task queue. It is converted to a queue name using the GetQueueName method.

func (QueueKey) GetQueueName added in v1.23.0

func (k QueueKey) GetQueueName() string

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 QueueV2 added in v1.23.0

type QueueV2 interface {
	// EnqueueMessage adds a message to the back of the queue.
	EnqueueMessage(
		ctx context.Context,
		request *InternalEnqueueMessageRequest,
	) (*InternalEnqueueMessageResponse, error)
	// ReadMessages returns messages in order of increasing message ID.
	ReadMessages(
		ctx context.Context,
		request *InternalReadMessagesRequest,
	) (*InternalReadMessagesResponse, error)
	// CreateQueue creates a new queue. An error will be returned if the queue already exists. In addition, an error
	// will be returned if you attempt to operate on a queue with something like EnqueueMessage or ReadMessages
	// before the queue is created.
	CreateQueue(
		ctx context.Context,
		request *InternalCreateQueueRequest,
	) (*InternalCreateQueueResponse, error)
	RangeDeleteMessages(
		ctx context.Context,
		request *InternalRangeDeleteMessagesRequest,
	) (*InternalRangeDeleteMessagesResponse, error)
	ListQueues(
		ctx context.Context,
		request *InternalListQueuesRequest,
	) (*InternalListQueuesResponse, error)
}

QueueV2 is an interface for a generic FIFO queue. It should eventually replace the Queue interface. Why do we need this migration? The main problem is very simple. The `queue_metadata` table in Cassandra has a primary key of (queue_type). This means that we can only have one queue of each type. This is a problem because we want to have multiple queues of the same type, but with different names. For example, we want to have a DLQ for replication tasks from one cluster to another, and cluster names are dynamic, so we can't create separate static queue types for each cluster. The solution is to add a queue_name column to the table, and make the primary key (queue_type, queue_name). This allows us to have multiple queues of the same type, but with different names. Since the new table (which is called `queues` in Cassandra), supports dynamic names, the interface built around it should also support dynamic names. This is why we need a new interface. There are other types built on top of this up the stack, like HistoryTaskQueueManager, for which the same principle of needing a new type because we now support dynamic names applies.

type QueueV2Message added in v1.23.0

type QueueV2Message struct {
	MetaData MessageMetadata
	Data     *commonpb.DataBlob
}

type QueueV2Type added in v1.23.0

type QueueV2Type int
const (
	QueueTypeUnspecified   QueueV2Type = 0
	QueueTypeHistoryNormal QueueV2Type = 1
	QueueTypeHistoryDLQ    QueueV2Type = 2

	// FirstQueueMessageID is the ID of the first message written to a queue partition.
	FirstQueueMessageID = 0
)

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 RawHistoryTask added in v1.23.0

type RawHistoryTask struct {
	MessageMetadata MessageMetadata
	Payload         *persistencespb.HistoryTask
}

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 ReadRawTasksRequest added in v1.23.0

type ReadRawTasksRequest = ReadTasksRequest

type ReadRawTasksResponse added in v1.23.0

type ReadRawTasksResponse struct {
	Tasks         []RawHistoryTask
	NextPageToken []byte
}

type ReadTasksRequest added in v1.23.0

type ReadTasksRequest struct {
	QueueKey      QueueKey
	PageSize      int
	NextPageToken []byte
}

type ReadTasksResponse added in v1.23.0

type ReadTasksResponse struct {
	Tasks         []HistoryTask
	NextPageToken []byte
}

type RegisterHistoryTaskReaderRequest added in v1.21.0

type RegisterHistoryTaskReaderRequest struct {
	ShardID      int32
	ShardOwner   string
	TaskCategory tasks.Category
	ReaderID     int64
}

RegisterHistoryTaskReaderRequest is a hint for underlying persistence implementation that a new queue reader is created by queue processing logic

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
	InternalFrontend
)

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 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.Handler, healthSignals HealthSignalAggregator, 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)

	// GetTaskQueueUserData gets versioned user data.
	// This data would only exist if a user uses APIs that generate it, such as the worker versioning related APIs.
	// The caller should be prepared to gracefully handle the "NotFound" service error.
	GetTaskQueueUserData(ctx context.Context, request *GetTaskQueueUserDataRequest) (*GetTaskQueueUserDataResponse, error)
	// UpdateTaskQueueUserData updates the user data for a given task queue.
	// The request takes the _current_ known version along with the data to update.
	// The caller should +1 increment the cached version number if this call succeeds.
	// Fails with ConditionFailedError if the user data was updated concurrently.
	UpdateTaskQueueUserData(ctx context.Context, request *UpdateTaskQueueUserDataRequest) error
	ListTaskQueueUserDataEntries(ctx context.Context, request *ListTaskQueueUserDataEntriesRequest) (*ListTaskQueueUserDataEntriesResponse, error)
	GetTaskQueuesByBuildId(ctx context.Context, request *GetTaskQueuesByBuildIdRequest) ([]string, error)
	CountTaskQueuesByBuildId(ctx context.Context, request *CountTaskQueuesByBuildIdRequest) (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.Handler, healthSignals HealthSignalAggregator, 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 TaskQueueUserDataEntry added in v1.21.0

type TaskQueueUserDataEntry struct {
	TaskQueue string
	UserData  *persistencespb.VersionedTaskQueueUserData
}

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)
	GetTaskQueueUserData(ctx context.Context, request *GetTaskQueueUserDataRequest) (*InternalGetTaskQueueUserDataResponse, error)
	UpdateTaskQueueUserData(ctx context.Context, request *InternalUpdateTaskQueueUserDataRequest) error
	ListTaskQueueUserDataEntries(ctx context.Context, request *ListTaskQueueUserDataEntriesRequest) (*InternalListTaskQueueUserDataEntriesResponse, error)
	GetTaskQueuesByBuildId(ctx context.Context, request *GetTaskQueuesByBuildIdRequest) ([]string, error)
	CountTaskQueuesByBuildId(ctx context.Context, request *CountTaskQueuesByBuildIdRequest) (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 UnregisterHistoryTaskReaderRequest added in v1.21.0

type UnregisterHistoryTaskReaderRequest RegisterHistoryTaskReaderRequest

UnregisterHistoryTaskReaderRequest is a hint for underlying persistence implementation that queue processing logic is done using an existing queue reader

type UpdateHistoryTaskReaderProgressRequest added in v1.21.0

type UpdateHistoryTaskReaderProgressRequest struct {
	ShardID                    int32
	ShardOwner                 string
	TaskCategory               tasks.Category
	ReaderID                   int64
	InclusiveMinPendingTaskKey tasks.Key
}

UpdateHistoryTaskReaderProgressRequest is a hint for underlying persistence implementation that a certain queue reader's process and the fact that it won't try to load tasks with key less than InclusiveMinPendingTaskKey

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 UpdateTaskQueueUserDataRequest added in v1.21.0

type UpdateTaskQueueUserDataRequest struct {
	NamespaceID     string
	TaskQueue       string
	UserData        *persistencespb.VersionedTaskQueueUserData
	BuildIdsAdded   []string
	BuildIdsRemoved []string
}

UpdateTaskQueueUserDataRequest is the input type for the UpdateTaskQueueUserData API

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

type XDCCache added in v1.22.0

type XDCCache interface {
	Put(key XDCCacheKey, value XDCCacheValue)
	Get(key XDCCacheKey) (XDCCacheValue, bool)
}

type XDCCacheImpl added in v1.22.0

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

func NewEventsBlobCache added in v1.22.0

func NewEventsBlobCache(
	maxBytes int,
	ttl time.Duration,
) *XDCCacheImpl

func (*XDCCacheImpl) Get added in v1.22.0

func (e *XDCCacheImpl) Get(key XDCCacheKey) (XDCCacheValue, bool)

func (*XDCCacheImpl) Put added in v1.22.0

func (e *XDCCacheImpl) Put(
	key XDCCacheKey,
	value XDCCacheValue,
)

type XDCCacheKey added in v1.22.0

type XDCCacheKey struct {
	WorkflowKey definition.WorkflowKey
	MinEventID  int64 // inclusive
	MaxEventID  int64 // exclusive
	Version     int64
}

func NewXDCCacheKey added in v1.22.0

func NewXDCCacheKey(
	workflowKey definition.WorkflowKey,
	minEventID int64,
	maxEventID int64,
	version int64,
) XDCCacheKey

type XDCCacheValue added in v1.22.0

type XDCCacheValue struct {
	BaseWorkflowInfo    *workflowspb.BaseExecutionInfo
	VersionHistoryItems []*historyspb.VersionHistoryItem
	EventBlob           *commonpb.DataBlob
}

func NewXDCCacheValue added in v1.22.0

func NewXDCCacheValue(
	baseWorkflowInfo *workflowspb.BaseExecutionInfo,
	versionHistoryItems []*historyspb.VersionHistoryItem,
	eventBlob *commonpb.DataBlob,
) XDCCacheValue

func (XDCCacheValue) CacheSize added in v1.22.0

func (v XDCCacheValue) CacheSize() int

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
nosqlplugin/cassandra/gocql
Package gocql is a generated GoMock package.
Package gocql is a generated GoMock package.
sql
Package visibility is a generated GoMock package.
Package visibility is a generated GoMock package.
manager
Package manager is a generated GoMock package.
Package manager is a generated GoMock package.
store
Package store is a generated GoMock package.
Package store is a generated GoMock package.
store/elasticsearch
Package elasticsearch is a generated GoMock package.
Package elasticsearch is a generated GoMock package.
store/elasticsearch/client
Package client is a generated GoMock package.
Package client is a generated GoMock package.
store/query
Package query is inspired and partially copied from by github.com/cch123/elasticsql.
Package query is inspired and partially copied from by github.com/cch123/elasticsql.

Jump to

Keyboard shortcuts

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