resource

package
v1.12.3 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2021 License: MIT Imports: 42 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BootstrapParams

type BootstrapParams struct {
	Name            string
	InstanceID      string
	Logger          log.Logger
	ThrottledLogger log.Logger
	NamespaceLogger log.Logger

	MetricsScope                 tally.Scope
	MembershipFactoryInitializer MembershipFactoryInitializerFunc
	RPCFactory                   common.RPCFactory
	ClientFactoryProvider        client.FactoryProvider
	AbstractDatastoreFactory     persistenceClient.AbstractDataStoreFactory
	PersistenceConfig            config.Persistence
	ClusterMetadataConfig        *config.ClusterMetadata
	ReplicatorConfig             config.Replicator
	ServerMetricsReporter        metrics.Reporter
	SDKMetricsReporter           metrics.Reporter
	MetricsClient                metrics.Client
	ESClient                     esclient.Client
	ESConfig                     *config.Elasticsearch
	DynamicConfigClient          dynamicconfig.Client
	DCRedirectionPolicy          config.DCRedirectionPolicy
	SdkClient                    sdkclient.Client
	ArchivalMetadata             archiver.ArchivalMetadata
	ArchiverProvider             provider.ArchiverProvider
	Authorizer                   authorization.Authorizer
	ClaimMapper                  authorization.ClaimMapper
	PersistenceServiceResolver   resolver.ServiceResolver
	AudienceGetter               authorization.JWTAudienceMapper
	SearchAttributesMapper       searchattribute.Mapper
}

BootstrapParams holds the set of parameters needed to bootstrap a service

type Impl

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

Impl contains all common resources shared across frontend / matching / history / worker

func New

func New(
	params *BootstrapParams,
	serviceName string,
	persistenceMaxQPS dynamicconfig.IntPropertyFn,
	persistenceGlobalMaxQPS dynamicconfig.IntPropertyFn,
	throttledLoggerMaxRPS dynamicconfig.IntPropertyFn,
	visibilityManagerInitializer VisibilityManagerInitializer,
) (impl *Impl, retError error)

New create a new resource containing common dependencies

func (*Impl) GetArchivalMetadata

func (h *Impl) GetArchivalMetadata() archiver.ArchivalMetadata

GetArchivalMetadata return archival metadata

func (*Impl) GetArchiverProvider

func (h *Impl) GetArchiverProvider() provider.ArchiverProvider

GetArchiverProvider return archival provider

func (*Impl) GetClientBean

func (h *Impl) GetClientBean() client.Bean

GetClientBean return RPC client bean

func (*Impl) GetClusterMetadata

func (h *Impl) GetClusterMetadata() cluster.Metadata

GetClusterMetadata return cluster metadata

func (*Impl) GetClusterMetadataManager

func (h *Impl) GetClusterMetadataManager() persistence.ClusterMetadataManager

GetClusterMetadataManager return metadata manager

func (*Impl) GetExecutionManager

func (h *Impl) GetExecutionManager() persistence.ExecutionManager

GetExecutionManager return execution manager

func (*Impl) GetFrontendClient

func (h *Impl) GetFrontendClient() workflowservice.WorkflowServiceClient

GetFrontendClient return frontend client with retry policy

func (*Impl) GetFrontendRawClient

func (h *Impl) GetFrontendRawClient() workflowservice.WorkflowServiceClient

GetFrontendRawClient return frontend client without retry policy

func (*Impl) GetFrontendServiceResolver

func (h *Impl) GetFrontendServiceResolver() membership.ServiceResolver

GetFrontendServiceResolver return frontend service resolver

func (*Impl) GetGRPCListener

func (h *Impl) GetGRPCListener() net.Listener

GetGRPCListener return GRPC listener, used for registering handlers

func (*Impl) GetHistoryClient

func (h *Impl) GetHistoryClient() historyservice.HistoryServiceClient

GetHistoryClient return history client with retry policy

func (*Impl) GetHistoryRawClient

func (h *Impl) GetHistoryRawClient() historyservice.HistoryServiceClient

GetHistoryRawClient return history client without retry policy

func (*Impl) GetHistoryServiceResolver

func (h *Impl) GetHistoryServiceResolver() membership.ServiceResolver

GetHistoryServiceResolver return history service resolver

func (*Impl) GetHostInfo

func (h *Impl) GetHostInfo() *membership.HostInfo

GetHostInfo return host info

func (*Impl) GetHostName

func (h *Impl) GetHostName() string

GetHostName return host name

func (*Impl) GetLogger

func (h *Impl) GetLogger() log.Logger

GetLogger return logger

func (*Impl) GetMatchingClient

func (h *Impl) GetMatchingClient() matchingservice.MatchingServiceClient

GetMatchingClient return matching client with retry policy

func (*Impl) GetMatchingRawClient

func (h *Impl) GetMatchingRawClient() matchingservice.MatchingServiceClient

GetMatchingRawClient return matching client without retry policy

func (*Impl) GetMatchingServiceResolver

func (h *Impl) GetMatchingServiceResolver() membership.ServiceResolver

GetMatchingServiceResolver return matching service resolver

func (*Impl) GetMembershipMonitor

func (h *Impl) GetMembershipMonitor() membership.Monitor

GetMembershipMonitor return the membership monitor

func (*Impl) GetMetadataManager

func (h *Impl) GetMetadataManager() persistence.MetadataManager

GetMetadataManager return metadata manager

func (*Impl) GetMetricsClient

func (h *Impl) GetMetricsClient() metrics.Client

GetMetricsClient return metrics client

func (*Impl) GetNamespaceCache

func (h *Impl) GetNamespaceCache() cache.NamespaceCache

GetNamespaceCache return namespace cache

func (*Impl) GetNamespaceReplicationQueue

func (h *Impl) GetNamespaceReplicationQueue() persistence.NamespaceReplicationQueue

GetNamespaceReplicationQueue return namespace replication queue

func (*Impl) GetPayloadSerializer

func (h *Impl) GetPayloadSerializer() serialization.Serializer

GetPayloadSerializer return binary payload serializer

func (*Impl) GetPersistenceBean

func (h *Impl) GetPersistenceBean() persistenceClient.Bean

GetPersistenceBean return persistence bean

func (*Impl) GetRemoteAdminClient

func (h *Impl) GetRemoteAdminClient(
	cluster string,
) adminservice.AdminServiceClient

GetRemoteAdminClient return remote admin client for given cluster name

func (*Impl) GetRemoteFrontendClient

func (h *Impl) GetRemoteFrontendClient(
	cluster string,
) workflowservice.WorkflowServiceClient

GetRemoteFrontendClient return remote frontend client for given cluster name

func (*Impl) GetSDKClient

func (h *Impl) GetSDKClient() sdkclient.Client

GetSDKClient return sdk client

func (*Impl) GetSearchAttributesManager added in v1.11.0

func (h *Impl) GetSearchAttributesManager() searchattribute.Manager

func (*Impl) GetSearchAttributesMapper added in v1.12.1

func (h *Impl) GetSearchAttributesMapper() searchattribute.Mapper

func (*Impl) GetSearchAttributesProvider added in v1.10.0

func (h *Impl) GetSearchAttributesProvider() searchattribute.Provider

func (*Impl) GetServiceName

func (h *Impl) GetServiceName() string

GetServiceName return service name

func (*Impl) GetShardManager

func (h *Impl) GetShardManager() persistence.ShardManager

GetShardManager return shard manager

func (*Impl) GetTaskManager

func (h *Impl) GetTaskManager() persistence.TaskManager

GetTaskManager return task manager

func (*Impl) GetThrottledLogger

func (h *Impl) GetThrottledLogger() log.Logger

GetThrottledLogger return throttled logger

func (*Impl) GetTimeSource

func (h *Impl) GetTimeSource() clock.TimeSource

GetTimeSource return time source

func (*Impl) GetVisibilityManager

func (h *Impl) GetVisibilityManager() visibility.VisibilityManager

GetVisibilityManager return visibility manager

func (*Impl) GetWorkerServiceResolver

func (h *Impl) GetWorkerServiceResolver() membership.ServiceResolver

GetWorkerServiceResolver return worker service resolver

func (*Impl) Start

func (h *Impl) Start()

Start start all resources

func (*Impl) Stop

func (h *Impl) Stop()

Stop stops all resources

type MembershipFactoryInitializerFunc

type MembershipFactoryInitializerFunc func(persistenceBean persistenceClient.Bean, logger log.Logger) (MembershipMonitorFactory, error)

MembershipFactoryInitializerFunc is used for deferred initialization of the MembershipFactory to allow for the PersistenceBean to be constructed further downstream.

type MembershipMonitorFactory

type MembershipMonitorFactory interface {
	// GetMembershipMonitor return a membership monitor
	GetMembershipMonitor() (membership.Monitor, error)
}

MembershipMonitorFactory provides a bootstrapped membership monitor

type Resource

type Resource interface {
	common.Daemon

	GetServiceName() string
	GetHostName() string
	GetHostInfo() *membership.HostInfo
	GetArchivalMetadata() archiver.ArchivalMetadata
	GetClusterMetadata() cluster.Metadata
	GetSearchAttributesProvider() searchattribute.Provider
	GetSearchAttributesManager() searchattribute.Manager
	GetSearchAttributesMapper() searchattribute.Mapper

	GetNamespaceCache() cache.NamespaceCache
	GetTimeSource() clock.TimeSource
	GetPayloadSerializer() serialization.Serializer
	GetMetricsClient() metrics.Client
	GetArchiverProvider() provider.ArchiverProvider

	GetMembershipMonitor() membership.Monitor
	GetFrontendServiceResolver() membership.ServiceResolver
	GetMatchingServiceResolver() membership.ServiceResolver
	GetHistoryServiceResolver() membership.ServiceResolver
	GetWorkerServiceResolver() membership.ServiceResolver

	GetSDKClient() sdkclient.Client
	GetFrontendRawClient() workflowservice.WorkflowServiceClient
	GetFrontendClient() workflowservice.WorkflowServiceClient
	GetMatchingRawClient() matchingservice.MatchingServiceClient
	GetMatchingClient() matchingservice.MatchingServiceClient
	GetHistoryRawClient() historyservice.HistoryServiceClient
	GetHistoryClient() historyservice.HistoryServiceClient
	GetRemoteAdminClient(cluster string) adminservice.AdminServiceClient
	GetRemoteFrontendClient(cluster string) workflowservice.WorkflowServiceClient
	GetClientBean() client.Bean

	GetMetadataManager() persistence.MetadataManager
	GetClusterMetadataManager() persistence.ClusterMetadataManager
	GetTaskManager() persistence.TaskManager
	GetVisibilityManager() visibility.VisibilityManager
	GetNamespaceReplicationQueue() persistence.NamespaceReplicationQueue
	GetShardManager() persistence.ShardManager
	GetExecutionManager() persistence.ExecutionManager
	GetPersistenceBean() persistenceClient.Bean

	GetLogger() log.Logger
	GetThrottledLogger() log.Logger

	// for registering handlers
	GetGRPCListener() net.Listener
}

Resource is the interface which expose common resources

type Test

type Test struct {
	MetricsScope             tally.Scope
	ClusterMetadata          *cluster.MockMetadata
	SearchAttributesProvider *searchattribute.MockProvider
	SearchAttributesManager  *searchattribute.MockManager
	SearchAttributesMapper   *searchattribute.MockMapper

	NamespaceCache    *cache.MockNamespaceCache
	TimeSource        clock.TimeSource
	PayloadSerializer serialization.Serializer
	MetricsClient     metrics.Client
	ArchivalMetadata  *archiver.MockArchivalMetadata
	ArchiverProvider  *provider.MockArchiverProvider

	MembershipMonitor       *membership.MockMonitor
	FrontendServiceResolver *membership.MockServiceResolver
	MatchingServiceResolver *membership.MockServiceResolver
	HistoryServiceResolver  *membership.MockServiceResolver
	WorkerServiceResolver   *membership.MockServiceResolver

	SDKClient            *sdkmocks.Client
	FrontendClient       *workflowservicemock.MockWorkflowServiceClient
	MatchingClient       *matchingservicemock.MockMatchingServiceClient
	HistoryClient        *historyservicemock.MockHistoryServiceClient
	RemoteAdminClient    *adminservicemock.MockAdminServiceClient
	RemoteFrontendClient *workflowservicemock.MockWorkflowServiceClient
	ClientBean           *client.MockBean
	ESClient             *esclient.MockClient

	MetadataMgr               *persistence.MockMetadataManager
	ClusterMetadataMgr        *persistence.MockClusterMetadataManager
	TaskMgr                   *persistence.MockTaskManager
	VisibilityMgr             *visibility.MockVisibilityManager
	NamespaceReplicationQueue persistence.NamespaceReplicationQueue
	ShardMgr                  *persistence.MockShardManager
	ExecutionMgr              *persistence.MockExecutionManager
	PersistenceBean           *persistenceClient.MockBean

	Logger log.Logger
}

Test is the test implementation used for testing

func NewTest

func NewTest(
	controller *gomock.Controller,
	serviceMetricsIndex metrics.ServiceIdx,
) *Test

NewTest returns a new test resource instance

func (*Test) GetArchivalMetadata

func (s *Test) GetArchivalMetadata() archiver.ArchivalMetadata

GetArchivalMetadata for testing

func (*Test) GetArchiverProvider

func (s *Test) GetArchiverProvider() provider.ArchiverProvider

GetArchiverProvider for testing

func (*Test) GetClientBean

func (s *Test) GetClientBean() client.Bean

GetClientBean for testing

func (*Test) GetClusterMetadata

func (s *Test) GetClusterMetadata() cluster.Metadata

GetClusterMetadata for testing

func (*Test) GetClusterMetadataManager added in v1.1.0

func (s *Test) GetClusterMetadataManager() persistence.ClusterMetadataManager

GetClusterMetadata for testing

func (*Test) GetExecutionManager

func (s *Test) GetExecutionManager() persistence.ExecutionManager

GetExecutionManager for testing

func (*Test) GetFrontendClient

func (s *Test) GetFrontendClient() workflowservice.WorkflowServiceClient

GetFrontendClient for testing

func (*Test) GetFrontendRawClient

func (s *Test) GetFrontendRawClient() workflowservice.WorkflowServiceClient

GetFrontendRawClient for testing

func (*Test) GetFrontendServiceResolver

func (s *Test) GetFrontendServiceResolver() membership.ServiceResolver

GetFrontendServiceResolver for testing

func (*Test) GetGRPCListener

func (s *Test) GetGRPCListener() net.Listener

GetGRPCListener for testing

func (*Test) GetHistoryClient

func (s *Test) GetHistoryClient() historyservice.HistoryServiceClient

GetHistoryClient for testing

func (*Test) GetHistoryRawClient

func (s *Test) GetHistoryRawClient() historyservice.HistoryServiceClient

GetHistoryRawClient for testing

func (*Test) GetHistoryServiceResolver

func (s *Test) GetHistoryServiceResolver() membership.ServiceResolver

GetHistoryServiceResolver for testing

func (*Test) GetHostInfo

func (s *Test) GetHostInfo() *membership.HostInfo

GetHostInfo for testing

func (*Test) GetHostName

func (s *Test) GetHostName() string

GetHostName for testing

func (*Test) GetLogger

func (s *Test) GetLogger() log.Logger

GetLogger for testing

func (*Test) GetMatchingClient

func (s *Test) GetMatchingClient() matchingservice.MatchingServiceClient

GetMatchingClient for testing

func (*Test) GetMatchingRawClient

func (s *Test) GetMatchingRawClient() matchingservice.MatchingServiceClient

GetMatchingRawClient for testing

func (*Test) GetMatchingServiceResolver

func (s *Test) GetMatchingServiceResolver() membership.ServiceResolver

GetMatchingServiceResolver for testing

func (*Test) GetMembershipMonitor

func (s *Test) GetMembershipMonitor() membership.Monitor

GetMembershipMonitor for testing

func (*Test) GetMetadataManager

func (s *Test) GetMetadataManager() persistence.MetadataManager

GetMetadataManager for testing

func (*Test) GetMetricsClient

func (s *Test) GetMetricsClient() metrics.Client

GetMetricsClient for testing

func (*Test) GetNamespaceCache

func (s *Test) GetNamespaceCache() cache.NamespaceCache

GetNamespaceCache for testing

func (*Test) GetNamespaceReplicationQueue

func (s *Test) GetNamespaceReplicationQueue() persistence.NamespaceReplicationQueue

GetNamespaceReplicationQueue for testing

func (*Test) GetPayloadSerializer

func (s *Test) GetPayloadSerializer() serialization.Serializer

GetPayloadSerializer for testing

func (*Test) GetPersistenceBean

func (s *Test) GetPersistenceBean() persistenceClient.Bean

GetPersistenceBean for testing

func (*Test) GetRemoteAdminClient

func (s *Test) GetRemoteAdminClient(
	cluster string,
) adminservice.AdminServiceClient

GetRemoteAdminClient for testing

func (*Test) GetRemoteFrontendClient

func (s *Test) GetRemoteFrontendClient(
	cluster string,
) workflowservice.WorkflowServiceClient

GetRemoteFrontendClient for testing

func (*Test) GetSDKClient

func (s *Test) GetSDKClient() sdkclient.Client

GetSDKClient for testing

func (*Test) GetSearchAttributesManager added in v1.11.0

func (h *Test) GetSearchAttributesManager() searchattribute.Manager

func (*Test) GetSearchAttributesMapper added in v1.12.1

func (h *Test) GetSearchAttributesMapper() searchattribute.Mapper

func (*Test) GetSearchAttributesProvider added in v1.10.0

func (h *Test) GetSearchAttributesProvider() searchattribute.Provider

func (*Test) GetServiceName

func (s *Test) GetServiceName() string

GetServiceName for testing

func (*Test) GetShardManager

func (s *Test) GetShardManager() persistence.ShardManager

GetShardManager for testing

func (*Test) GetTaskManager

func (s *Test) GetTaskManager() persistence.TaskManager

GetTaskManager for testing

func (*Test) GetThrottledLogger

func (s *Test) GetThrottledLogger() log.Logger

GetThrottledLogger for testing

func (*Test) GetTimeSource

func (s *Test) GetTimeSource() clock.TimeSource

GetTimeSource for testing

func (*Test) GetVisibilityManager

func (s *Test) GetVisibilityManager() visibility.VisibilityManager

GetVisibilityManager for testing

func (*Test) GetWorkerServiceResolver

func (s *Test) GetWorkerServiceResolver() membership.ServiceResolver

GetWorkerServiceResolver for testing

func (*Test) Start

func (s *Test) Start()

Start for testing

func (*Test) Stop

func (s *Test) Stop()

Stop for testing

type VisibilityManagerInitializer

type VisibilityManagerInitializer func(
	persistenceBean persistenceClient.Bean,
	searchAttributesProvider searchattribute.Provider,
	logger log.Logger,
) (visibility.VisibilityManager, error)

VisibilityManagerInitializer is the function each service should implement for visibility manager initialization

Jump to

Keyboard shortcuts

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