api

package
v1.18.0 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2022 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	UpdateWorkflowWithNewWorkflowTask = &UpdateWorkflowAction{
		CreateWorkflowTask: true,
	}
	UpdateWorkflowWithoutWorkflowTask = &UpdateWorkflowAction{
		CreateWorkflowTask: false,
	}
)

Functions

func BypassMutableStateConsistencyPredicate

func BypassMutableStateConsistencyPredicate(
	mutableState workflow.MutableState,
) bool

func CreateMutableState

func CreateMutableState(
	ctx context.Context,
	shard shard.Context,
	namespaceEntry *namespace.Namespace,
	runID string,
) (workflow.MutableState, error)

func FailMutableStateConsistencyPredicate

func FailMutableStateConsistencyPredicate(
	mutableState workflow.MutableState,
) bool

func GenerateFirstWorkflowTask

func GenerateFirstWorkflowTask(
	mutableState workflow.MutableState,
	parentInfo *workflowspb.ParentExecutionInfo,
	startEvent *historypb.HistoryEvent,
) error

func GetActiveNamespace added in v1.18.0

func GetActiveNamespace(
	shard shard.Context,
	namespaceUUID namespace.ID,
) (*namespace.Namespace, error)

func GetActivityScheduledEventID added in v1.18.0

func GetActivityScheduledEventID(
	activityID string,
	mutableState workflow.MutableState,
) (int64, error)

func GetAndUpdateWorkflowWithNew added in v1.18.0

func GetAndUpdateWorkflowWithNew(
	ctx context.Context,
	reqClock *clockspb.VectorClock,
	consistencyCheckFn MutableStateConsistencyPredicate,
	workflowKey definition.WorkflowKey,
	action UpdateWorkflowActionFunc,
	newWorkflowFn func() (workflow.Context, workflow.MutableState, error),
	shard shard.Context,
	workflowConsistencyChecker WorkflowConsistencyChecker,
) (retError error)

func IsRetryableError added in v1.17.3

func IsRetryableError(err error) bool

func NewWorkflowVersionCheck

func NewWorkflowVersionCheck(
	shard shard.Context,
	prevLastWriteVersion int64,
	newMutableState workflow.MutableState,
) error

func OverrideStartWorkflowExecutionRequest added in v1.18.0

func OverrideStartWorkflowExecutionRequest(
	request *workflowservice.StartWorkflowExecutionRequest,
	metricsScope int,
	shard shard.Context,
	metricsClient metrics.Client,
)

func SetActivityTaskRunID added in v1.18.0

func SetActivityTaskRunID(
	ctx context.Context,
	token *tokenspb.Task,
	workflowConsistencyChecker WorkflowConsistencyChecker,
) error

func UpdateWorkflowWithNew

func UpdateWorkflowWithNew(
	shard shard.Context,
	ctx context.Context,
	workflowContext WorkflowContext,
	action UpdateWorkflowActionFunc,
	newWorkflowFn func() (workflow.Context, workflow.MutableState, error),
) (retError error)

func ValidateNamespaceUUID added in v1.18.0

func ValidateNamespaceUUID(
	namespaceUUID namespace.ID,
) error

func ValidateSignal

func ValidateSignal(
	ctx context.Context,
	shard shard.Context,
	mutableState workflow.MutableState,
	signalPayloadSize int,
	operation string,
) error

func ValidateStart

func ValidateStart(
	ctx context.Context,
	shard shard.Context,
	namespaceEntry *namespace.Namespace,
	workflowID string,
	workflowInputSize int,
	workflowMemoSize int,
	operation string,
) error

func ValidateStartWorkflowExecutionRequest added in v1.18.0

func ValidateStartWorkflowExecutionRequest(
	ctx context.Context,
	request *workflowservice.StartWorkflowExecutionRequest,
	shard shard.Context,
	namespaceEntry *namespace.Namespace,
	operation string,
) error

Types

type CreateWorkflowCASPredicate

type CreateWorkflowCASPredicate struct {
	RunID            string
	LastWriteVersion int64
}

type MutableStateConsistencyPredicate

type MutableStateConsistencyPredicate func(mutableState workflow.MutableState) bool

func HistoryEventConsistencyPredicate

func HistoryEventConsistencyPredicate(
	eventID int64,
	eventVersion int64,
) MutableStateConsistencyPredicate

type UpdateWorkflowAction

type UpdateWorkflowAction struct {
	Noop               bool
	CreateWorkflowTask bool
}

type UpdateWorkflowActionFunc

type UpdateWorkflowActionFunc func(WorkflowContext) (*UpdateWorkflowAction, error)

func ApplyWorkflowIDReusePolicy

func ApplyWorkflowIDReusePolicy(
	prevStartRequestID,
	prevRunID string,
	prevState enumsspb.WorkflowExecutionState,
	prevStatus enumspb.WorkflowExecutionStatus,
	workflowID string,
	runID string,
	wfIDReusePolicy enumspb.WorkflowIdReusePolicy,
) (UpdateWorkflowActionFunc, error)

ApplyWorkflowIDReusePolicy returns updateWorkflowActionFunc for updating the previous execution and an error if the situation is not allowed by the workflowIDReusePolicy. Both result may be nil, if the case is to allow and no update is needed for the previous execution.

type WorkflowConsistencyChecker

type WorkflowConsistencyChecker interface {
	GetCurrentRunID(
		ctx context.Context,
		namespaceID string,
		workflowID string,
	) (string, error)
	GetWorkflowContext(
		ctx context.Context,
		reqClock *clockspb.VectorClock,
		consistencyPredicate MutableStateConsistencyPredicate,
		workflowKey definition.WorkflowKey,
	) (WorkflowContext, error)
}

type WorkflowConsistencyCheckerImpl

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

func NewWorkflowConsistencyChecker

func NewWorkflowConsistencyChecker(
	shardContext shard.Context,
	workflowCache workflow.Cache,
) *WorkflowConsistencyCheckerImpl

func (*WorkflowConsistencyCheckerImpl) GetCurrentRunID

func (c *WorkflowConsistencyCheckerImpl) GetCurrentRunID(
	ctx context.Context,
	namespaceID string,
	workflowID string,
) (string, error)

func (*WorkflowConsistencyCheckerImpl) GetWorkflowContext

func (c *WorkflowConsistencyCheckerImpl) GetWorkflowContext(
	ctx context.Context,
	reqClock *clockspb.VectorClock,
	consistencyPredicate MutableStateConsistencyPredicate,
	workflowKey definition.WorkflowKey,
) (WorkflowContext, error)

type WorkflowContext

type WorkflowContext interface {
	GetContext() workflow.Context
	GetMutableState() workflow.MutableState
	ReloadMutableState(context.Context) (workflow.MutableState, error)
	GetReleaseFn() workflow.ReleaseCacheFunc

	GetNamespaceID() namespace.ID
	GetWorkflowID() string
	GetRunID() string

	GetNamespaceEntry() *namespace.Namespace
	GetWorkflowKey() definition.WorkflowKey
}

func NewWorkflowWithSignal

func NewWorkflowWithSignal(
	ctx context.Context,
	shard shard.Context,
	namespaceEntry *namespace.Namespace,
	workflowID string,
	runID string,
	startRequest *historyservice.StartWorkflowExecutionRequest,
	signalWithStartRequest *workflowservice.SignalWithStartWorkflowExecutionRequest,
) (WorkflowContext, error)

type WorkflowContextImpl

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

func NewWorkflowContext

func NewWorkflowContext(
	context workflow.Context,
	releaseFn workflow.ReleaseCacheFunc,
	mutableState workflow.MutableState,
) *WorkflowContextImpl

func (*WorkflowContextImpl) GetContext

func (w *WorkflowContextImpl) GetContext() workflow.Context

func (*WorkflowContextImpl) GetMutableState

func (w *WorkflowContextImpl) GetMutableState() workflow.MutableState

func (*WorkflowContextImpl) GetNamespaceEntry

func (w *WorkflowContextImpl) GetNamespaceEntry() *namespace.Namespace

func (*WorkflowContextImpl) GetNamespaceID

func (w *WorkflowContextImpl) GetNamespaceID() namespace.ID

func (*WorkflowContextImpl) GetReleaseFn

func (w *WorkflowContextImpl) GetReleaseFn() workflow.ReleaseCacheFunc

func (*WorkflowContextImpl) GetRunID

func (w *WorkflowContextImpl) GetRunID() string

func (*WorkflowContextImpl) GetWorkflowID

func (w *WorkflowContextImpl) GetWorkflowID() string

func (*WorkflowContextImpl) GetWorkflowKey

func (w *WorkflowContextImpl) GetWorkflowKey() definition.WorkflowKey

func (*WorkflowContextImpl) ReloadMutableState

func (w *WorkflowContextImpl) ReloadMutableState(
	ctx context.Context,
) (workflow.MutableState, error)

Jump to

Keyboard shortcuts

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