cache

package
v1.26.0 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2024 License: MIT Imports: 24 Imported by: 0

Documentation

Overview

Package cache is a generated GoMock package.

Index

Constants

This section is empty.

Variables

View Source
var Module = fx.Options(
	fx.Provide(func(config *configs.Config, logger log.Logger, handler metrics.Handler) Cache {
		return NewHostLevelCache(config, logger, handler)
	}),
	fx.Provide(NewCacheFnProvider),
)

Functions

func GetCurrentRunID added in v1.24.0

func GetCurrentRunID(
	ctx context.Context,
	shardContext shard.Context,
	workflowCache Cache,
	namespaceID string,
	workflowID string,
	lockPriority locks.Priority,
) (runID string, retErr error)

func GetMutableState added in v1.25.0

func GetMutableState(cache Cache, key Key) workflow.MutableState

GetMutableState returns the MutableState for the given key from the cache. Exported for testing purposes.

func PutContextIfNotExist added in v1.25.0

func PutContextIfNotExist(cache Cache, key Key, value workflow.Context) error

PutContextIfNotExist puts the given workflow Context into the cache, if it doens't already exist. Exported for testing purposes.

Types

type Cache

type Cache interface {
	Put(
		shardContext shard.Context,
		namespaceID namespace.ID,
		execution *commonpb.WorkflowExecution,
		workflowCtx workflow.Context,
		handler metrics.Handler,
	) (workflow.Context, error)

	GetOrCreateCurrentWorkflowExecution(
		ctx context.Context,
		shardContext shard.Context,
		namespaceID namespace.ID,
		workflowID string,
		lockPriority locks.Priority,
	) (ReleaseCacheFunc, error)

	GetOrCreateWorkflowExecution(
		ctx context.Context,
		shardContext shard.Context,
		namespaceID namespace.ID,
		execution *commonpb.WorkflowExecution,
		lockPriority locks.Priority,
	) (workflow.Context, ReleaseCacheFunc, error)
}

func NewHostLevelCache added in v1.23.0

func NewHostLevelCache(
	config *configs.Config,
	logger log.Logger,
	handler metrics.Handler,
) Cache

func NewShardLevelCache added in v1.23.0

func NewShardLevelCache(
	config *configs.Config,
	logger log.Logger,
	handler metrics.Handler,
) Cache

type Key added in v1.23.0

type Key struct {
	// Those are exported because some unit tests uses the cache directly.
	// TODO: Update the unit tests and make those fields private.
	WorkflowKey definition.WorkflowKey
	ShardUUID   string
}

type MockCache

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

MockCache is a mock of Cache interface.

func NewMockCache

func NewMockCache(ctrl *gomock.Controller) *MockCache

NewMockCache creates a new mock instance.

func (*MockCache) EXPECT

func (m *MockCache) EXPECT() *MockCacheMockRecorder

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

func (*MockCache) GetOrCreateCurrentWorkflowExecution added in v1.20.1

func (m *MockCache) GetOrCreateCurrentWorkflowExecution(ctx context.Context, shardContext shard.Context, namespaceID namespace.ID, workflowID string, lockPriority locks.Priority) (ReleaseCacheFunc, error)

GetOrCreateCurrentWorkflowExecution mocks base method.

func (*MockCache) GetOrCreateWorkflowExecution

func (m *MockCache) GetOrCreateWorkflowExecution(ctx context.Context, shardContext shard.Context, namespaceID namespace.ID, execution *common.WorkflowExecution, lockPriority locks.Priority) (workflow.Context, ReleaseCacheFunc, error)

GetOrCreateWorkflowExecution mocks base method.

func (*MockCache) Put added in v1.24.0

func (m *MockCache) Put(shardContext shard.Context, namespaceID namespace.ID, execution *common.WorkflowExecution, workflowCtx workflow.Context, handler metrics.Handler) (workflow.Context, error)

Put mocks base method.

type MockCacheMockRecorder

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

MockCacheMockRecorder is the mock recorder for MockCache.

func (*MockCacheMockRecorder) GetOrCreateCurrentWorkflowExecution added in v1.20.1

func (mr *MockCacheMockRecorder) GetOrCreateCurrentWorkflowExecution(ctx, shardContext, namespaceID, workflowID, lockPriority any) *gomock.Call

GetOrCreateCurrentWorkflowExecution indicates an expected call of GetOrCreateCurrentWorkflowExecution.

func (*MockCacheMockRecorder) GetOrCreateWorkflowExecution

func (mr *MockCacheMockRecorder) GetOrCreateWorkflowExecution(ctx, shardContext, namespaceID, execution, lockPriority any) *gomock.Call

GetOrCreateWorkflowExecution indicates an expected call of GetOrCreateWorkflowExecution.

func (*MockCacheMockRecorder) Put added in v1.24.0

func (mr *MockCacheMockRecorder) Put(shardContext, namespaceID, execution, workflowCtx, handler any) *gomock.Call

Put indicates an expected call of Put.

type NewCacheFn

type NewCacheFn func(config *configs.Config, logger log.Logger, handler metrics.Handler) Cache

func NewCacheFnProvider

func NewCacheFnProvider() NewCacheFn

NewCacheFnProvider provide a NewCacheFn that can be used to create new workflow cache.

type ReleaseCacheFunc

type ReleaseCacheFunc func(err error)

ReleaseCacheFunc must be called to release the workflow context from the cache. Make sure not to access the mutable state or workflow context after releasing back to the cache. If there is any error when using the mutable state (e.g. mutable state is mutated and dirty), call release with the error so the in-memory copy will be thrown away.

var NoopReleaseFn ReleaseCacheFunc = func(err error) {}

Jump to

Keyboard shortcuts

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