namespace

package
v1.13.4 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2022 License: MIT Imports: 32 Imported by: 3

Documentation

Overview

Package namespace is a generated GoMock package.

Package namespace is a generated GoMock package.

Package namespace is a generated GoMock package.

Package namespace is a generated GoMock package.

Index

Constants

View Source
const (
	// MinRetentionGlobal is a hard limit for the minimun retention duration for global
	// namespaces (to allow time for replication).
	MinRetentionGlobal = 1 * 24 * time.Hour

	// MinRetentionLocal is a hard limit for the minimun retention duration for local
	// namespaces. Allow short values but disallow zero to avoid confusion with
	// interpreting zero as infinite.
	MinRetentionLocal = 1 * time.Second

	// MaxBadBinaries is the maximal number of bad client binaries stored in a namespace
	MaxBadBinaries = 10
)
View Source
const (
	// SampleRetentionKey is key to specify sample retention
	SampleRetentionKey = "sample_retention_days"

	// SampleRateKey is key to specify sample rate
	SampleRateKey = "sample_retention_rate"
)
View Source
const (

	// CacheRefreshInterval namespace cache refresh interval
	CacheRefreshInterval = 10 * time.Second
	// CacheRefreshFailureRetryInterval is the wait time
	// if refreshment encounters error
	CacheRefreshFailureRetryInterval = 1 * time.Second
	CacheRefreshPageSize             = 200
)

Variables

View Source
var (
	// ErrEmptyNamespaceReplicationTask is the error to indicate empty replication task
	ErrEmptyNamespaceReplicationTask = serviceerror.NewInvalidArgument("empty namespace replication task")
	// ErrInvalidNamespaceOperation is the error to indicate empty namespace operation attribute
	ErrInvalidNamespaceOperation = serviceerror.NewInvalidArgument("invalid namespace operation attribute")
	// ErrInvalidNamespaceID is the error to indicate empty rID attribute
	ErrInvalidNamespaceID = serviceerror.NewInvalidArgument("invalid namespace ID attribute")
	// ErrInvalidNamespaceInfo is the error to indicate empty info attribute
	ErrInvalidNamespaceInfo = serviceerror.NewInvalidArgument("invalid namespace info attribute")
	// ErrInvalidNamespaceConfig is the error to indicate empty config attribute
	ErrInvalidNamespaceConfig = serviceerror.NewInvalidArgument("invalid namespace config attribute")
	// ErrInvalidNamespaceReplicationConfig is the error to indicate empty replication config attribute
	ErrInvalidNamespaceReplicationConfig = serviceerror.NewInvalidArgument("invalid namespace replication config attribute")
	// ErrInvalidNamespaceConfigVersion is the error to indicate empty config version attribute
	ErrInvalidNamespaceConfigVersion = serviceerror.NewInvalidArgument("invalid namespace config version attribute")
	// ErrInvalidNamespaceFailoverVersion is the error to indicate empty failover version attribute
	ErrInvalidNamespaceFailoverVersion = serviceerror.NewInvalidArgument("invalid namespace failover version attribute")
	// ErrInvalidNamespaceState is the error to indicate invalid namespace state
	ErrInvalidNamespaceState = serviceerror.NewInvalidArgument("invalid namespace state attribute")
	// ErrNameUUIDCollision is the error to indicate namespace name / UUID collision
	ErrNameUUIDCollision = serviceerror.NewInvalidArgument("namespace replication encounter name / UUID collision")
)

Functions

This section is empty.

Types

type ArchivalEvent

type ArchivalEvent struct {
	URI string
	// contains filtered or unexported fields
}

ArchivalEvent represents a change request to archival config state the only restriction placed on events is that defaultURI is not empty state can be nil, enabled, or disabled (nil indicates no update by user is being attempted)

type ArchivalState

type ArchivalState struct {
	State enumspb.ArchivalState
	URI   string
}

ArchivalState represents the state of archival config the only invalid state is {URI="", state=enabled} once URI is set it is immutable

type AttrValidatorImpl

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

AttrValidatorImpl is namespace attr validator

type BadBinaryError added in v1.13.0

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

BadBinaryError is an error type carrying additional information about when/why/who configured a given checksum as being bad.

func (BadBinaryError) Checksum added in v1.13.0

func (e BadBinaryError) Checksum() string

Checksum observes the binary checksum that caused this error.

func (BadBinaryError) Created added in v1.13.0

func (e BadBinaryError) Created() time.Time

Created returns the time at which this bad binary was declared to be bad.

func (BadBinaryError) Error added in v1.13.0

func (e BadBinaryError) Error() string

Error returns the reason associated with this bad binary.

func (BadBinaryError) Operator added in v1.13.0

func (e BadBinaryError) Operator() string

Operator returns the operator associated with this bad binary.

func (BadBinaryError) Reason added in v1.13.0

func (e BadBinaryError) Reason() string

Reason returns the reason associated with this bad binary.

type CallbackFn added in v1.13.0

type CallbackFn func(oldNamespaces []*Namespace, newNamespaces []*Namespace)

CallbackFn is function to be called when the namespace cache entries are changed it is guaranteed that PrepareCallbackFn and CallbackFn pair will be both called or non will be called

type Clock added in v1.13.0

type Clock interface {
	// Now returns the current time.
	Now() time.Time
}

Clock provides timestamping to Registry objects

type DLQMessageHandler

type DLQMessageHandler interface {
	Read(lastMessageID int64, pageSize int, pageToken []byte) ([]*replicationspb.ReplicationTask, []byte, error)
	Purge(lastMessageID int64) error
	Merge(lastMessageID int64, pageSize int, pageToken []byte) ([]byte, error)
}

DLQMessageHandler is the interface handles namespace DLQ messages

func NewDLQMessageHandler

func NewDLQMessageHandler(
	replicationHandler ReplicationTaskExecutor,
	namespaceReplicationQueue persistence.NamespaceReplicationQueue,
	logger log.Logger,
) DLQMessageHandler

NewDLQMessageHandler returns a DLQTaskHandler instance

type Handler

type Handler interface {
	DeprecateNamespace(
		ctx context.Context,
		deprecateRequest *workflowservice.DeprecateNamespaceRequest,
	) (*workflowservice.DeprecateNamespaceResponse, error)
	DescribeNamespace(
		ctx context.Context,
		describeRequest *workflowservice.DescribeNamespaceRequest,
	) (*workflowservice.DescribeNamespaceResponse, error)
	ListNamespaces(
		ctx context.Context,
		listRequest *workflowservice.ListNamespacesRequest,
	) (*workflowservice.ListNamespacesResponse, error)
	RegisterNamespace(
		ctx context.Context,
		registerRequest *workflowservice.RegisterNamespaceRequest,
	) (*workflowservice.RegisterNamespaceResponse, error)
	UpdateNamespace(
		ctx context.Context,
		updateRequest *workflowservice.UpdateNamespaceRequest,
	) (*workflowservice.UpdateNamespaceResponse, error)
}

Handler is the namespace operation handler

type HandlerImpl

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

HandlerImpl is the namespace operation handler implementation

func NewHandler

func NewHandler(
	maxBadBinaryCount dynamicconfig.IntPropertyFnWithNamespaceFilter,
	logger log.Logger,
	metadataMgr persistence.MetadataManager,
	clusterMetadata cluster.Metadata,
	namespaceReplicator Replicator,
	archivalMetadata archiver.ArchivalMetadata,
	archiverProvider provider.ArchiverProvider,
) *HandlerImpl

NewHandler create a new namespace handler

func (*HandlerImpl) DeprecateNamespace

func (d *HandlerImpl) DeprecateNamespace(
	ctx context.Context,
	deprecateRequest *workflowservice.DeprecateNamespaceRequest,
) (*workflowservice.DeprecateNamespaceResponse, error)

DeprecateNamespace deprecates a namespace

func (*HandlerImpl) DescribeNamespace

func (d *HandlerImpl) DescribeNamespace(
	ctx context.Context,
	describeRequest *workflowservice.DescribeNamespaceRequest,
) (*workflowservice.DescribeNamespaceResponse, error)

DescribeNamespace describe the namespace

func (*HandlerImpl) ListNamespaces

func (d *HandlerImpl) ListNamespaces(
	ctx context.Context,
	listRequest *workflowservice.ListNamespacesRequest,
) (*workflowservice.ListNamespacesResponse, error)

ListNamespaces list all namespaces

func (*HandlerImpl) RegisterNamespace

func (d *HandlerImpl) RegisterNamespace(
	_ context.Context,
	registerRequest *workflowservice.RegisterNamespaceRequest,
) (*workflowservice.RegisterNamespaceResponse, error)

RegisterNamespace register a new namespace

func (*HandlerImpl) UpdateNamespace

func (d *HandlerImpl) UpdateNamespace(
	ctx context.Context,
	updateRequest *workflowservice.UpdateNamespaceRequest,
) (*workflowservice.UpdateNamespaceResponse, error)

UpdateNamespace update the namespace

type MockClock added in v1.13.0

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

MockClock is a mock of Clock interface.

func NewMockClock added in v1.13.0

func NewMockClock(ctrl *gomock.Controller) *MockClock

NewMockClock creates a new mock instance.

func (*MockClock) EXPECT added in v1.13.0

func (m *MockClock) EXPECT() *MockClockMockRecorder

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

func (*MockClock) Now added in v1.13.0

func (m *MockClock) Now() time.Time

Now mocks base method.

type MockClockMockRecorder added in v1.13.0

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

MockClockMockRecorder is the mock recorder for MockClock.

func (*MockClockMockRecorder) Now added in v1.13.0

func (mr *MockClockMockRecorder) Now() *gomock.Call

Now indicates an expected call of Now.

type MockDLQMessageHandler

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

MockDLQMessageHandler is a mock of DLQMessageHandler interface.

func NewMockDLQMessageHandler

func NewMockDLQMessageHandler(ctrl *gomock.Controller) *MockDLQMessageHandler

NewMockDLQMessageHandler creates a new mock instance.

func (*MockDLQMessageHandler) EXPECT

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

func (*MockDLQMessageHandler) Merge

func (m *MockDLQMessageHandler) Merge(lastMessageID int64, pageSize int, pageToken []byte) ([]byte, error)

Merge mocks base method.

func (*MockDLQMessageHandler) Purge

func (m *MockDLQMessageHandler) Purge(lastMessageID int64) error

Purge mocks base method.

func (*MockDLQMessageHandler) Read

func (m *MockDLQMessageHandler) Read(lastMessageID int64, pageSize int, pageToken []byte) ([]*repication.ReplicationTask, []byte, error)

Read mocks base method.

type MockDLQMessageHandlerMockRecorder

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

MockDLQMessageHandlerMockRecorder is the mock recorder for MockDLQMessageHandler.

func (*MockDLQMessageHandlerMockRecorder) Merge

func (mr *MockDLQMessageHandlerMockRecorder) Merge(lastMessageID, pageSize, pageToken interface{}) *gomock.Call

Merge indicates an expected call of Merge.

func (*MockDLQMessageHandlerMockRecorder) Purge

func (mr *MockDLQMessageHandlerMockRecorder) Purge(lastMessageID interface{}) *gomock.Call

Purge indicates an expected call of Purge.

func (*MockDLQMessageHandlerMockRecorder) Read

func (mr *MockDLQMessageHandlerMockRecorder) Read(lastMessageID, pageSize, pageToken interface{}) *gomock.Call

Read indicates an expected call of Read.

type MockHandler

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

MockHandler is a mock of Handler interface.

func NewMockHandler

func NewMockHandler(ctrl *gomock.Controller) *MockHandler

NewMockHandler creates a new mock instance.

func (*MockHandler) DeprecateNamespace

DeprecateNamespace mocks base method.

func (*MockHandler) DescribeNamespace

DescribeNamespace mocks base method.

func (*MockHandler) EXPECT

func (m *MockHandler) EXPECT() *MockHandlerMockRecorder

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

func (*MockHandler) ListNamespaces

ListNamespaces mocks base method.

func (*MockHandler) RegisterNamespace

RegisterNamespace mocks base method.

func (*MockHandler) UpdateNamespace

UpdateNamespace mocks base method.

type MockHandlerMockRecorder

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

MockHandlerMockRecorder is the mock recorder for MockHandler.

func (*MockHandlerMockRecorder) DeprecateNamespace

func (mr *MockHandlerMockRecorder) DeprecateNamespace(ctx, deprecateRequest interface{}) *gomock.Call

DeprecateNamespace indicates an expected call of DeprecateNamespace.

func (*MockHandlerMockRecorder) DescribeNamespace

func (mr *MockHandlerMockRecorder) DescribeNamespace(ctx, describeRequest interface{}) *gomock.Call

DescribeNamespace indicates an expected call of DescribeNamespace.

func (*MockHandlerMockRecorder) ListNamespaces

func (mr *MockHandlerMockRecorder) ListNamespaces(ctx, listRequest interface{}) *gomock.Call

ListNamespaces indicates an expected call of ListNamespaces.

func (*MockHandlerMockRecorder) RegisterNamespace

func (mr *MockHandlerMockRecorder) RegisterNamespace(ctx, registerRequest interface{}) *gomock.Call

RegisterNamespace indicates an expected call of RegisterNamespace.

func (*MockHandlerMockRecorder) UpdateNamespace

func (mr *MockHandlerMockRecorder) UpdateNamespace(ctx, updateRequest interface{}) *gomock.Call

UpdateNamespace indicates an expected call of UpdateNamespace.

type MockPersistence added in v1.13.0

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

MockPersistence is a mock of Persistence interface.

func NewMockPersistence added in v1.13.0

func NewMockPersistence(ctrl *gomock.Controller) *MockPersistence

NewMockPersistence creates a new mock instance.

func (*MockPersistence) EXPECT added in v1.13.0

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

func (*MockPersistence) GetMetadata added in v1.13.0

GetMetadata mocks base method.

func (*MockPersistence) GetNamespace added in v1.13.0

GetNamespace mocks base method.

func (*MockPersistence) ListNamespaces added in v1.13.0

ListNamespaces mocks base method.

type MockPersistenceMockRecorder added in v1.13.0

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

MockPersistenceMockRecorder is the mock recorder for MockPersistence.

func (*MockPersistenceMockRecorder) GetMetadata added in v1.13.0

func (mr *MockPersistenceMockRecorder) GetMetadata() *gomock.Call

GetMetadata indicates an expected call of GetMetadata.

func (*MockPersistenceMockRecorder) GetNamespace added in v1.13.0

func (mr *MockPersistenceMockRecorder) GetNamespace(request interface{}) *gomock.Call

GetNamespace indicates an expected call of GetNamespace.

func (*MockPersistenceMockRecorder) ListNamespaces added in v1.13.0

func (mr *MockPersistenceMockRecorder) ListNamespaces(arg0 interface{}) *gomock.Call

ListNamespaces indicates an expected call of ListNamespaces.

type MockRegistry added in v1.13.0

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

MockRegistry is a mock of Registry interface.

func NewMockRegistry added in v1.13.0

func NewMockRegistry(ctrl *gomock.Controller) *MockRegistry

NewMockRegistry creates a new mock instance.

func (*MockRegistry) EXPECT added in v1.13.0

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

func (*MockRegistry) GetCacheSize added in v1.13.0

func (m *MockRegistry) GetCacheSize() (int64, int64)

GetCacheSize mocks base method.

func (*MockRegistry) GetNamespace added in v1.13.0

func (m *MockRegistry) GetNamespace(name string) (*Namespace, error)

GetNamespace mocks base method.

func (*MockRegistry) GetNamespaceByID added in v1.13.0

func (m *MockRegistry) GetNamespaceByID(id string) (*Namespace, error)

GetNamespaceByID mocks base method.

func (*MockRegistry) GetNamespaceID added in v1.13.0

func (m *MockRegistry) GetNamespaceID(name string) (string, error)

GetNamespaceID mocks base method.

func (*MockRegistry) GetNamespaceName added in v1.13.0

func (m *MockRegistry) GetNamespaceName(id string) (string, error)

GetNamespaceName mocks base method.

func (*MockRegistry) Refresh added in v1.13.0

func (m *MockRegistry) Refresh()

Refresh mocks base method.

func (*MockRegistry) RegisterNamespaceChangeCallback added in v1.13.0

func (m *MockRegistry) RegisterNamespaceChangeCallback(shard int32, initialNotificationVersion int64, prepareCallback PrepareCallbackFn, callback CallbackFn)

RegisterNamespaceChangeCallback mocks base method.

func (*MockRegistry) Start added in v1.13.0

func (m *MockRegistry) Start()

Start mocks base method.

func (*MockRegistry) Stop added in v1.13.0

func (m *MockRegistry) Stop()

Stop mocks base method.

func (*MockRegistry) UnregisterNamespaceChangeCallback added in v1.13.0

func (m *MockRegistry) UnregisterNamespaceChangeCallback(shard int32)

UnregisterNamespaceChangeCallback mocks base method.

type MockRegistryMockRecorder added in v1.13.0

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

MockRegistryMockRecorder is the mock recorder for MockRegistry.

func (*MockRegistryMockRecorder) GetCacheSize added in v1.13.0

func (mr *MockRegistryMockRecorder) GetCacheSize() *gomock.Call

GetCacheSize indicates an expected call of GetCacheSize.

func (*MockRegistryMockRecorder) GetNamespace added in v1.13.0

func (mr *MockRegistryMockRecorder) GetNamespace(name interface{}) *gomock.Call

GetNamespace indicates an expected call of GetNamespace.

func (*MockRegistryMockRecorder) GetNamespaceByID added in v1.13.0

func (mr *MockRegistryMockRecorder) GetNamespaceByID(id interface{}) *gomock.Call

GetNamespaceByID indicates an expected call of GetNamespaceByID.

func (*MockRegistryMockRecorder) GetNamespaceID added in v1.13.0

func (mr *MockRegistryMockRecorder) GetNamespaceID(name interface{}) *gomock.Call

GetNamespaceID indicates an expected call of GetNamespaceID.

func (*MockRegistryMockRecorder) GetNamespaceName added in v1.13.0

func (mr *MockRegistryMockRecorder) GetNamespaceName(id interface{}) *gomock.Call

GetNamespaceName indicates an expected call of GetNamespaceName.

func (*MockRegistryMockRecorder) Refresh added in v1.13.0

func (mr *MockRegistryMockRecorder) Refresh() *gomock.Call

Refresh indicates an expected call of Refresh.

func (*MockRegistryMockRecorder) RegisterNamespaceChangeCallback added in v1.13.0

func (mr *MockRegistryMockRecorder) RegisterNamespaceChangeCallback(shard, initialNotificationVersion, prepareCallback, callback interface{}) *gomock.Call

RegisterNamespaceChangeCallback indicates an expected call of RegisterNamespaceChangeCallback.

func (*MockRegistryMockRecorder) Start added in v1.13.0

func (mr *MockRegistryMockRecorder) Start() *gomock.Call

Start indicates an expected call of Start.

func (*MockRegistryMockRecorder) Stop added in v1.13.0

func (mr *MockRegistryMockRecorder) Stop() *gomock.Call

Stop indicates an expected call of Stop.

func (*MockRegistryMockRecorder) UnregisterNamespaceChangeCallback added in v1.13.0

func (mr *MockRegistryMockRecorder) UnregisterNamespaceChangeCallback(shard interface{}) *gomock.Call

UnregisterNamespaceChangeCallback indicates an expected call of UnregisterNamespaceChangeCallback.

type MockReplicationTaskExecutor

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

MockReplicationTaskExecutor is a mock of ReplicationTaskExecutor interface.

func NewMockReplicationTaskExecutor

func NewMockReplicationTaskExecutor(ctrl *gomock.Controller) *MockReplicationTaskExecutor

NewMockReplicationTaskExecutor creates a new mock instance.

func (*MockReplicationTaskExecutor) EXPECT

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

func (*MockReplicationTaskExecutor) Execute

Execute mocks base method.

type MockReplicationTaskExecutorMockRecorder

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

MockReplicationTaskExecutorMockRecorder is the mock recorder for MockReplicationTaskExecutor.

func (*MockReplicationTaskExecutorMockRecorder) Execute

func (mr *MockReplicationTaskExecutorMockRecorder) Execute(task interface{}) *gomock.Call

Execute indicates an expected call of Execute.

type Mutation added in v1.13.0

type Mutation interface {
	// contains filtered or unexported methods
}

Mutation changes a Namespace "in-flight" during a Clone operation.

func WithActiveCluster added in v1.13.0

func WithActiveCluster(name string) Mutation

WithActiveCluster assigns the active cluster to a Namespace during a Clone operation.

func WithBadBinary added in v1.13.0

func WithBadBinary(chksum string) Mutation

WithBadBinary adds a bad binary checksum to a Namespace during a Clone operation.

func WithData added in v1.13.0

func WithData(key, value string) Mutation

WithData adds a key-value pair to a Namespace during a Clone operation.

func WithGlobalFlag added in v1.13.0

func WithGlobalFlag(b bool) Mutation

WithGlobalFlag sets whether or not this Namespace is global.

func WithID added in v1.13.0

func WithID(id string) Mutation

WithID assigns the ID to a Namespace during a Clone operation.

func WithRetention added in v1.13.0

func WithRetention(dur *time.Duration) Mutation

WithRentention assigns the retention duration to a Namespace during a Clone operation.

type Namespace added in v1.13.0

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

Namespace contains the info and config for a namespace

func FromPersistentState added in v1.13.0

func FromPersistentState(record *persistence.GetNamespaceResponse) *Namespace

func NewGlobalNamespaceForTest added in v1.13.0

func NewGlobalNamespaceForTest(
	info *persistencespb.NamespaceInfo,
	config *persistencespb.NamespaceConfig,
	repConfig *persistencespb.NamespaceReplicationConfig,
	failoverVersion int64,
) *Namespace

newGlobalNamespaceForTest returns an entry with test data

func NewLocalNamespaceForTest added in v1.13.0

func NewLocalNamespaceForTest(
	info *persistencespb.NamespaceInfo,
	config *persistencespb.NamespaceConfig,
	targetCluster string,
) *Namespace

NewLocalNamespaceForTest returns an entry with test data

func NewNamespaceForTest added in v1.13.0

func NewNamespaceForTest(
	info *persistencespb.NamespaceInfo,
	config *persistencespb.NamespaceConfig,
	isGlobalNamespace bool,
	repConfig *persistencespb.NamespaceReplicationConfig,
	failoverVersion int64,
) *Namespace

NewNamespaceForTest returns an entry with test data

func (*Namespace) ActiveClusterName added in v1.13.0

func (ns *Namespace) ActiveClusterName() string

ActiveClusterName observes the name of the cluster that is currently active for this namspace.

func (*Namespace) ActiveInCluster added in v1.13.0

func (ns *Namespace) ActiveInCluster(clusterName string) bool

ActiveInCluster returns whether the namespace is active, i.e. non global namespace or global namespace which active cluster is the provided cluster

func (*Namespace) Clone added in v1.13.0

func (ns *Namespace) Clone(ms ...Mutation) *Namespace

func (*Namespace) ClusterNames added in v1.13.0

func (ns *Namespace) ClusterNames() []string

ClusterNames observes the names of the clusters to which this namespace is replicated.

func (*Namespace) ConfigVersion added in v1.13.0

func (ns *Namespace) ConfigVersion() int64

ConfigVersion return the namespace config version

func (*Namespace) FailoverNotificationVersion added in v1.13.0

func (ns *Namespace) FailoverNotificationVersion() int64

FailoverNotificationVersion return the global notification version of when failover happened

func (*Namespace) FailoverVersion added in v1.13.0

func (ns *Namespace) FailoverVersion() int64

FailoverVersion return the namespace failover version

func (*Namespace) HistoryArchivalState added in v1.13.0

func (ns *Namespace) HistoryArchivalState() ArchivalState

HistoryArchivalState observes the history archive configuration (state and URI) for this namespace.

func (*Namespace) ID added in v1.13.0

func (ns *Namespace) ID() string

ID observes this namespace's permanent unique identifier in string form.

func (*Namespace) IsGlobalNamespace added in v1.13.0

func (ns *Namespace) IsGlobalNamespace() bool

IsGlobalNamespace return whether the namespace is a global namespace

func (*Namespace) IsSampledForLongerRetention added in v1.13.0

func (ns *Namespace) IsSampledForLongerRetention(workflowID string) bool

IsSampledForLongerRetention return should given workflow been sampled or not

func (*Namespace) IsSampledForLongerRetentionEnabled added in v1.13.0

func (ns *Namespace) IsSampledForLongerRetentionEnabled(string) bool

IsSampledForLongerRetentionEnabled return whether sample for longer retention is enabled or not

func (*Namespace) Name added in v1.13.0

func (ns *Namespace) Name() string

Name observes this namespace's configured name.

func (*Namespace) NotificationVersion added in v1.13.0

func (ns *Namespace) NotificationVersion() int64

NotificationVersion return the global notification version of when namespace changed

func (*Namespace) ReplicationPolicy added in v1.13.0

func (ns *Namespace) ReplicationPolicy() ReplicationPolicy

ReplicationPolicy return the derived workflow replication policy

func (*Namespace) Retention added in v1.13.0

func (ns *Namespace) Retention(workflowID string) time.Duration

Retention returns retention in days for given workflow

func (*Namespace) VerifyBinaryChecksum added in v1.13.0

func (ns *Namespace) VerifyBinaryChecksum(cksum string) error

VerifyBinaryChecksum returns an error if the provided checksum is one of this namespace's configured bad binary checksums. The returned error (if any) will be unwrappable as BadBinaryError.

func (*Namespace) VisibilityArchivalState added in v1.13.0

func (ns *Namespace) VisibilityArchivalState() ArchivalState

VisibilityArchivalState observes the visibility archive configuration (state and URI) for this namespace.

type Namespaces added in v1.13.0

type Namespaces []*Namespace

Namespaces is a *Namespace slice

func (Namespaces) Len added in v1.13.0

func (t Namespaces) Len() int

Len return length

func (Namespaces) Less added in v1.13.0

func (t Namespaces) Less(i, j int) bool

Less implements sort.Interface

func (Namespaces) Swap added in v1.13.0

func (t Namespaces) Swap(i, j int)

Swap implements sort.Interface.

type Persistence added in v1.13.0

type Persistence interface {

	// GetNamespace reads the state for a single namespace by name or ID
	// from persistent storage, returning an instance of
	// serviceerror.NotFound if there is no matching Namespace.
	GetNamespace(
		request *persistence.GetNamespaceRequest,
	) (*persistence.GetNamespaceResponse, error)

	// ListNamespaces fetches a paged set of namespace persistent state
	// instances.
	ListNamespaces(
		*persistence.ListNamespacesRequest,
	) (*persistence.ListNamespacesResponse, error)

	// GetMetadata fetches the notification version for Temporal namespaces.
	GetMetadata() (*persistence.GetMetadataResponse, error)
}

Persistence describes the durable storage requirements for a Registry instance.

type PrepareCallbackFn added in v1.13.0

type PrepareCallbackFn func()

PrepareCallbackFn is function to be called before CallbackFn is called, it is guaranteed that PrepareCallbackFn and CallbackFn pair will be both called or non will be called

type Registry added in v1.13.0

type Registry interface {
	common.Daemon
	RegisterNamespaceChangeCallback(shard int32, initialNotificationVersion int64, prepareCallback PrepareCallbackFn, callback CallbackFn)
	UnregisterNamespaceChangeCallback(shard int32)
	GetNamespace(name string) (*Namespace, error)
	GetNamespaceByID(id string) (*Namespace, error)
	GetNamespaceID(name string) (string, error)
	GetNamespaceName(id string) (string, error)
	GetCacheSize() (sizeOfCacheByName int64, sizeOfCacheByID int64)
	// Refresh forces an immediate refresh of the namespace cache and blocks until it's complete.
	Refresh()
}

Registry provides access to Namespace objects by name or by ID.

func NewRegistry added in v1.13.0

func NewRegistry(
	persistence Persistence,
	enableGlobalNamespaces bool,
	metricsClient metrics.Client,
	logger log.Logger,
) Registry

NewRegistry creates a new instance of Registry for accessing and caching namespace information to reduce the load on persistence.

type ReplicationPolicy added in v1.13.0

type ReplicationPolicy int

ReplicationPolicy is the namespace's replication policy, derived from namespace's replication config

const (
	// ReplicationPolicyOneCluster indicate that workflows does not need to be replicated
	// applicable to local namespace & global namespace with one cluster
	ReplicationPolicyOneCluster ReplicationPolicy = 0
	// ReplicationPolicyMultiCluster indicate that workflows need to be replicated
	ReplicationPolicyMultiCluster ReplicationPolicy = 1
)

type ReplicationTaskExecutor

type ReplicationTaskExecutor interface {
	Execute(task *replicationspb.NamespaceTaskAttributes) error
}

ReplicationTaskExecutor is the interface which is to execute namespace replication task

func NewReplicationTaskExecutor

func NewReplicationTaskExecutor(
	metadataManagerV2 persistence.MetadataManager,
	logger log.Logger,
) ReplicationTaskExecutor

NewReplicationTaskExecutor create a new instance of namespace replicator

type Replicator

type Replicator interface {
	HandleTransmissionTask(
		namespaceOperation enumsspb.NamespaceOperation,
		info *persistencespb.NamespaceInfo,
		config *persistencespb.NamespaceConfig,
		replicationConfig *persistencespb.NamespaceReplicationConfig,
		configVersion int64,
		failoverVersion int64,
		isGlobalNamespaceEnabled bool,
	) error
}

Replicator is the interface which can replicate the namespace

func NewNamespaceReplicator

func NewNamespaceReplicator(
	namespaceReplicationQueue persistence.NamespaceReplicationQueue,
	logger log.Logger,
) Replicator

NewNamespaceReplicator create a new instance of namespace replicator

Jump to

Keyboard shortcuts

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