Documentation ¶
Overview ¶
Package client is a generated GoMock package.
Index ¶
- type BrokerServiceClient
- type DefaultExecutorGroup
- func (g *DefaultExecutorGroup) AddExecutor(executorID model.ExecutorID, addr string) error
- func (g *DefaultExecutorGroup) GetExecutorClient(id model.ExecutorID) (ExecutorClient, bool)
- func (g *DefaultExecutorGroup) GetExecutorClientB(ctx context.Context, id model.ExecutorID) (ExecutorClient, error)
- func (g *DefaultExecutorGroup) RemoveExecutor(executorID model.ExecutorID) error
- func (g *DefaultExecutorGroup) UpdateExecutorList(executors map[model.ExecutorID]string) error
- type DiscoveryClient
- type DispatchTaskArgs
- type ExecutorClient
- type ExecutorGroup
- type ExecutorServiceClient
- type MasterServerList
- type MockExecutorClient
- func (m *MockExecutorClient) Close()
- func (m *MockExecutorClient) DispatchTask(arg0 context.Context, arg1 *DispatchTaskArgs, arg2 func()) error
- func (m *MockExecutorClient) EXPECT() *MockExecutorClientMockRecorder
- func (m *MockExecutorClient) RemoveResource(arg0 context.Context, arg1, arg2 string) error
- type MockExecutorClientMockRecorder
- type MockExecutorGroup
- func (g *MockExecutorGroup) AddClient(id model.ExecutorID, client ExecutorClient)
- func (g *MockExecutorGroup) GetExecutorClient(id model.ExecutorID) (ExecutorClient, bool)
- func (g *MockExecutorGroup) GetExecutorClientB(ctx context.Context, id model.ExecutorID) (ExecutorClient, error)
- func (g *MockExecutorGroup) RemoveClient(id model.ExecutorID) bool
- type MockServerMasterClient
- func (m *MockServerMasterClient) Close()
- func (m *MockServerMasterClient) CreateResource(arg0 context.Context, arg1 *enginepb.CreateResourceRequest) error
- func (m *MockServerMasterClient) EXPECT() *MockServerMasterClientMockRecorder
- func (m *MockServerMasterClient) Heartbeat(arg0 context.Context, arg1 *enginepb.HeartbeatRequest) (*enginepb.HeartbeatResponse, error)
- func (m *MockServerMasterClient) ListExecutors(arg0 context.Context) ([]*enginepb.Executor, error)
- func (m *MockServerMasterClient) ListMasters(arg0 context.Context) ([]*enginepb.Master, error)
- func (m *MockServerMasterClient) QueryMetaStore(arg0 context.Context, arg1 *enginepb.QueryMetaStoreRequest) (*enginepb.QueryMetaStoreResponse, error)
- func (m *MockServerMasterClient) QueryResource(arg0 context.Context, arg1 *enginepb.QueryResourceRequest) (*enginepb.QueryResourceResponse, error)
- func (m *MockServerMasterClient) QueryStorageConfig(arg0 context.Context, arg1 *enginepb.QueryStorageConfigRequest) (*enginepb.QueryStorageConfigResponse, error)
- func (m *MockServerMasterClient) RegisterExecutor(arg0 context.Context, arg1 *enginepb.RegisterExecutorRequest) (model.DeployNodeID, error)
- func (m *MockServerMasterClient) RemoveResource(arg0 context.Context, arg1 *enginepb.RemoveResourceRequest) error
- func (m *MockServerMasterClient) ScheduleTask(arg0 context.Context, arg1 *enginepb.ScheduleTaskRequest) (*enginepb.ScheduleTaskResponse, error)
- type MockServerMasterClientMockRecorder
- func (mr *MockServerMasterClientMockRecorder) Close() *gomock.Call
- func (mr *MockServerMasterClientMockRecorder) CreateResource(arg0, arg1 interface{}) *gomock.Call
- func (mr *MockServerMasterClientMockRecorder) Heartbeat(arg0, arg1 interface{}) *gomock.Call
- func (mr *MockServerMasterClientMockRecorder) ListExecutors(arg0 interface{}) *gomock.Call
- func (mr *MockServerMasterClientMockRecorder) ListMasters(arg0 interface{}) *gomock.Call
- func (mr *MockServerMasterClientMockRecorder) QueryMetaStore(arg0, arg1 interface{}) *gomock.Call
- func (mr *MockServerMasterClientMockRecorder) QueryResource(arg0, arg1 interface{}) *gomock.Call
- func (mr *MockServerMasterClientMockRecorder) QueryStorageConfig(arg0, arg1 interface{}) *gomock.Call
- func (mr *MockServerMasterClientMockRecorder) RegisterExecutor(arg0, arg1 interface{}) *gomock.Call
- func (mr *MockServerMasterClientMockRecorder) RemoveResource(arg0, arg1 interface{}) *gomock.Call
- func (mr *MockServerMasterClientMockRecorder) ScheduleTask(arg0, arg1 interface{}) *gomock.Call
- type ResourceManagerClient
- type ServerMasterClient
- type ServerMasterClientWithFailOver
- type StartWorkerCallback
- type TaskSchedulerClient
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BrokerServiceClient ¶
type BrokerServiceClient interface { RemoveResource( ctx context.Context, WorkerID frameModel.WorkerID, resourceID resModel.ResourceID, ) error }
BrokerServiceClient wraps a pb.BrokerServiceClient
func NewBrokerServiceClient ¶
func NewBrokerServiceClient(cli enginepb.BrokerServiceClient) BrokerServiceClient
NewBrokerServiceClient returns a new BrokerServiceClient.
type DefaultExecutorGroup ¶
type DefaultExecutorGroup struct {
// contains filtered or unexported fields
}
DefaultExecutorGroup is the default implementation for ExecutorGroup.
func NewExecutorGroup ¶
func NewExecutorGroup( credentials *security.Credential, logger *zap.Logger, ) *DefaultExecutorGroup
NewExecutorGroup creates a new ExecutorGroup.
func (*DefaultExecutorGroup) AddExecutor ¶
func (g *DefaultExecutorGroup) AddExecutor(executorID model.ExecutorID, addr string) error
AddExecutor adds an executor to the executor group. A new ExecutorClient will be created by this method. Note that since we are using asynchronous Dial, this method usually does not fail even if a bad address is provided.
func (*DefaultExecutorGroup) GetExecutorClient ¶
func (g *DefaultExecutorGroup) GetExecutorClient(id model.ExecutorID) (ExecutorClient, bool)
GetExecutorClient tries to get the ExecutorClient for the given executor.
func (*DefaultExecutorGroup) GetExecutorClientB ¶
func (g *DefaultExecutorGroup) GetExecutorClientB(ctx context.Context, id model.ExecutorID) (ExecutorClient, error)
GetExecutorClientB tries to get the ExecutorClient for the given executor. It blocks until either the context has been canceled or the executor ID becomes valid.
When an Executor goes offline, the ID is added to a tombstone list so that we can fail fast. The assumption here is that executor IDs will not be reused.
func (*DefaultExecutorGroup) RemoveExecutor ¶
func (g *DefaultExecutorGroup) RemoveExecutor(executorID model.ExecutorID) error
RemoveExecutor removes an executor from the group. Note that the ExecutorClient maintained will be closed.
func (*DefaultExecutorGroup) UpdateExecutorList ¶
func (g *DefaultExecutorGroup) UpdateExecutorList(executors map[model.ExecutorID]string) error
UpdateExecutorList updates the stored clients using a map from executor IDs to their addresses. Note: This method will not wait for the clients to be fully connected. In the rare case where grpc.Dial does fail, an error will be returned to the caller of this method, and the caller should retry appropriately.
type DiscoveryClient ¶
type DiscoveryClient interface { // RegisterExecutor registers an executor. The server // will allocate and records a UUID. RegisterExecutor( ctx context.Context, request *pb.RegisterExecutorRequest, ) (model.ExecutorID, error) // ListExecutors lists all executors. ListExecutors(ctx context.Context) ([]*pb.Executor, error) // ListMasters lists all masters. ListMasters(ctx context.Context) ([]*pb.Master, error) // Heartbeat sends a heartbeat message to the server. Heartbeat( ctx context.Context, request *pb.HeartbeatRequest, ) (*pb.HeartbeatResponse, error) // QueryMetaStore queries the details of a metastore. QueryMetaStore( ctx context.Context, request *pb.QueryMetaStoreRequest, ) (*pb.QueryMetaStoreResponse, error) // QueryStorageConfig queries the storage config. QueryStorageConfig( ctx context.Context, in *pb.QueryStorageConfigRequest, ) (*pb.QueryStorageConfigResponse, error) }
DiscoveryClient is a client to the Discovery service on the server master.
func NewDiscoveryClient ¶
func NewDiscoveryClient(cli pb.DiscoveryClient) DiscoveryClient
NewDiscoveryClient returns a DiscoveryClient.
type DispatchTaskArgs ¶
type DispatchTaskArgs struct { ProjectInfo tenant.ProjectInfo WorkerID string MasterID string WorkerType int64 WorkerConfig []byte WorkerEpoch int64 }
DispatchTaskArgs contains the required parameters for creating a worker.
type ExecutorClient ¶
type ExecutorClient interface { ExecutorServiceClient BrokerServiceClient // Close closes the gRPC connection used to create the client. Close() }
ExecutorClient is the public interface for an executor client. It is only for one executor. For a client to a group of executors, refer to ExecutorGroup.
func NewExecutorClient ¶
func NewExecutorClient(conn *grpc.ClientConn) ExecutorClient
NewExecutorClient creates a new executor client. Note that conn will be closed if the returned client is closed.
type ExecutorGroup ¶
type ExecutorGroup interface { // GetExecutorClient tries to get the ExecutorClient for the given executor. // It will return (nil, false) immediately if no such executor is found. GetExecutorClient(id model.ExecutorID) (ExecutorClient, bool) // GetExecutorClientB tries to get the ExecutorClient for the given executor. // It blocks until either the context has been canceled or the executor ID becomes valid. GetExecutorClientB(ctx context.Context, id model.ExecutorID) (ExecutorClient, error) }
ExecutorGroup holds a group of ExecutorClients. It is used by any component that would like to invoke RPC methods on the executors.
type ExecutorServiceClient ¶
type ExecutorServiceClient interface { DispatchTask( ctx context.Context, args *DispatchTaskArgs, startWorkerTimer StartWorkerCallback, ) error }
ExecutorServiceClient wraps a pb.ExecutorServiceClient and provides a DispatchTask method, which will call PreDispatchTask and ConfirmDispatchTask. TODO The service called "Executor" should be renamed "Dispatch", so that we have separate services for two sets of functionalities, i.e., dispatching tasks and managing resources (broker service).
func NewExecutorServiceClient ¶
func NewExecutorServiceClient(cli pb.ExecutorServiceClient) ExecutorServiceClient
NewExecutorServiceClient creates a new ExecutorServiceClient.
type MasterServerList ¶
type MasterServerList = internal.MasterServerList
MasterServerList is an alias for map[string]bool. It is a mapping from servers' address to whether they are the leader.
type MockExecutorClient ¶
type MockExecutorClient struct {
// contains filtered or unexported fields
}
MockExecutorClient is a mock of ExecutorClient interface.
func NewMockExecutorClient ¶
func NewMockExecutorClient(ctrl *gomock.Controller) *MockExecutorClient
NewMockExecutorClient creates a new mock instance.
func (*MockExecutorClient) DispatchTask ¶
func (m *MockExecutorClient) DispatchTask(arg0 context.Context, arg1 *DispatchTaskArgs, arg2 func()) error
DispatchTask mocks base method.
func (*MockExecutorClient) EXPECT ¶
func (m *MockExecutorClient) EXPECT() *MockExecutorClientMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockExecutorClient) RemoveResource ¶
func (m *MockExecutorClient) RemoveResource(arg0 context.Context, arg1, arg2 string) error
RemoveResource mocks base method.
type MockExecutorClientMockRecorder ¶
type MockExecutorClientMockRecorder struct {
// contains filtered or unexported fields
}
MockExecutorClientMockRecorder is the mock recorder for MockExecutorClient.
func (*MockExecutorClientMockRecorder) Close ¶
func (mr *MockExecutorClientMockRecorder) Close() *gomock.Call
Close indicates an expected call of Close.
func (*MockExecutorClientMockRecorder) DispatchTask ¶
func (mr *MockExecutorClientMockRecorder) DispatchTask(arg0, arg1, arg2 interface{}) *gomock.Call
DispatchTask indicates an expected call of DispatchTask.
func (*MockExecutorClientMockRecorder) RemoveResource ¶
func (mr *MockExecutorClientMockRecorder) RemoveResource(arg0, arg1, arg2 interface{}) *gomock.Call
RemoveResource indicates an expected call of RemoveResource.
type MockExecutorGroup ¶
type MockExecutorGroup struct {
// contains filtered or unexported fields
}
MockExecutorGroup is a stub implementation for ExecutorGroup.
func NewMockExecutorGroup ¶
func NewMockExecutorGroup() *MockExecutorGroup
NewMockExecutorGroup returns a new MockExecutorGroup.
func (*MockExecutorGroup) AddClient ¶
func (g *MockExecutorGroup) AddClient(id model.ExecutorID, client ExecutorClient)
AddClient adds a client to the client map.
func (*MockExecutorGroup) GetExecutorClient ¶
func (g *MockExecutorGroup) GetExecutorClient(id model.ExecutorID) (ExecutorClient, bool)
GetExecutorClient returns the ExecutorClient associated with id.
func (*MockExecutorGroup) GetExecutorClientB ¶
func (g *MockExecutorGroup) GetExecutorClientB(ctx context.Context, id model.ExecutorID) (ExecutorClient, error)
GetExecutorClientB tries to get the ExecutorClient blockingly.
func (*MockExecutorGroup) RemoveClient ¶
func (g *MockExecutorGroup) RemoveClient(id model.ExecutorID) bool
RemoveClient removes a client from the client map.
type MockServerMasterClient ¶
type MockServerMasterClient struct {
// contains filtered or unexported fields
}
MockServerMasterClient is a mock of ServerMasterClient interface.
func NewMockServerMasterClient ¶
func NewMockServerMasterClient(ctrl *gomock.Controller) *MockServerMasterClient
NewMockServerMasterClient creates a new mock instance.
func (*MockServerMasterClient) Close ¶
func (m *MockServerMasterClient) Close()
Close mocks base method.
func (*MockServerMasterClient) CreateResource ¶
func (m *MockServerMasterClient) CreateResource(arg0 context.Context, arg1 *enginepb.CreateResourceRequest) error
CreateResource mocks base method.
func (*MockServerMasterClient) EXPECT ¶
func (m *MockServerMasterClient) EXPECT() *MockServerMasterClientMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockServerMasterClient) Heartbeat ¶
func (m *MockServerMasterClient) Heartbeat(arg0 context.Context, arg1 *enginepb.HeartbeatRequest) (*enginepb.HeartbeatResponse, error)
Heartbeat mocks base method.
func (*MockServerMasterClient) ListExecutors ¶
ListExecutors mocks base method.
func (*MockServerMasterClient) ListMasters ¶
ListMasters mocks base method.
func (*MockServerMasterClient) QueryMetaStore ¶
func (m *MockServerMasterClient) QueryMetaStore(arg0 context.Context, arg1 *enginepb.QueryMetaStoreRequest) (*enginepb.QueryMetaStoreResponse, error)
QueryMetaStore mocks base method.
func (*MockServerMasterClient) QueryResource ¶
func (m *MockServerMasterClient) QueryResource(arg0 context.Context, arg1 *enginepb.QueryResourceRequest) (*enginepb.QueryResourceResponse, error)
QueryResource mocks base method.
func (*MockServerMasterClient) QueryStorageConfig ¶
func (m *MockServerMasterClient) QueryStorageConfig(arg0 context.Context, arg1 *enginepb.QueryStorageConfigRequest) (*enginepb.QueryStorageConfigResponse, error)
QueryStorageConfig mocks base method.
func (*MockServerMasterClient) RegisterExecutor ¶
func (m *MockServerMasterClient) RegisterExecutor(arg0 context.Context, arg1 *enginepb.RegisterExecutorRequest) (model.DeployNodeID, error)
RegisterExecutor mocks base method.
func (*MockServerMasterClient) RemoveResource ¶
func (m *MockServerMasterClient) RemoveResource(arg0 context.Context, arg1 *enginepb.RemoveResourceRequest) error
RemoveResource mocks base method.
func (*MockServerMasterClient) ScheduleTask ¶
func (m *MockServerMasterClient) ScheduleTask(arg0 context.Context, arg1 *enginepb.ScheduleTaskRequest) (*enginepb.ScheduleTaskResponse, error)
ScheduleTask mocks base method.
type MockServerMasterClientMockRecorder ¶
type MockServerMasterClientMockRecorder struct {
// contains filtered or unexported fields
}
MockServerMasterClientMockRecorder is the mock recorder for MockServerMasterClient.
func (*MockServerMasterClientMockRecorder) Close ¶
func (mr *MockServerMasterClientMockRecorder) Close() *gomock.Call
Close indicates an expected call of Close.
func (*MockServerMasterClientMockRecorder) CreateResource ¶
func (mr *MockServerMasterClientMockRecorder) CreateResource(arg0, arg1 interface{}) *gomock.Call
CreateResource indicates an expected call of CreateResource.
func (*MockServerMasterClientMockRecorder) Heartbeat ¶
func (mr *MockServerMasterClientMockRecorder) Heartbeat(arg0, arg1 interface{}) *gomock.Call
Heartbeat indicates an expected call of Heartbeat.
func (*MockServerMasterClientMockRecorder) ListExecutors ¶
func (mr *MockServerMasterClientMockRecorder) ListExecutors(arg0 interface{}) *gomock.Call
ListExecutors indicates an expected call of ListExecutors.
func (*MockServerMasterClientMockRecorder) ListMasters ¶
func (mr *MockServerMasterClientMockRecorder) ListMasters(arg0 interface{}) *gomock.Call
ListMasters indicates an expected call of ListMasters.
func (*MockServerMasterClientMockRecorder) QueryMetaStore ¶
func (mr *MockServerMasterClientMockRecorder) QueryMetaStore(arg0, arg1 interface{}) *gomock.Call
QueryMetaStore indicates an expected call of QueryMetaStore.
func (*MockServerMasterClientMockRecorder) QueryResource ¶
func (mr *MockServerMasterClientMockRecorder) QueryResource(arg0, arg1 interface{}) *gomock.Call
QueryResource indicates an expected call of QueryResource.
func (*MockServerMasterClientMockRecorder) QueryStorageConfig ¶
func (mr *MockServerMasterClientMockRecorder) QueryStorageConfig(arg0, arg1 interface{}) *gomock.Call
QueryStorageConfig indicates an expected call of QueryStorageConfig.
func (*MockServerMasterClientMockRecorder) RegisterExecutor ¶
func (mr *MockServerMasterClientMockRecorder) RegisterExecutor(arg0, arg1 interface{}) *gomock.Call
RegisterExecutor indicates an expected call of RegisterExecutor.
func (*MockServerMasterClientMockRecorder) RemoveResource ¶
func (mr *MockServerMasterClientMockRecorder) RemoveResource(arg0, arg1 interface{}) *gomock.Call
RemoveResource indicates an expected call of RemoveResource.
func (*MockServerMasterClientMockRecorder) ScheduleTask ¶
func (mr *MockServerMasterClientMockRecorder) ScheduleTask(arg0, arg1 interface{}) *gomock.Call
ScheduleTask indicates an expected call of ScheduleTask.
type ResourceManagerClient ¶
type ResourceManagerClient interface { CreateResource(ctx context.Context, request *enginepb.CreateResourceRequest) error QueryResource(ctx context.Context, request *enginepb.QueryResourceRequest) (*enginepb.QueryResourceResponse, error) RemoveResource(ctx context.Context, request *enginepb.RemoveResourceRequest) error }
ResourceManagerClient is a client to the service ResourceManager, which currently is part of the server master.
func NewResourceManagerClient ¶
func NewResourceManagerClient(cli enginepb.ResourceManagerClient) ResourceManagerClient
NewResourceManagerClient returns a ResourceManagerClient.
type ServerMasterClient ¶
type ServerMasterClient interface { TaskSchedulerClient DiscoveryClient ResourceManagerClient // Close closes the gRPC connection used to create the client. Close() }
ServerMasterClient is a client for connecting to the server master.
type ServerMasterClientWithFailOver ¶
type ServerMasterClientWithFailOver struct { TaskSchedulerClient DiscoveryClient ResourceManagerClient // contains filtered or unexported fields }
ServerMasterClientWithFailOver implements ServerMasterClient. It maintains an updatable list of servers and records the leader's address.
func NewServerMasterClientWithEndpointList ¶
func NewServerMasterClientWithEndpointList( endpoints []string, credentials *security.Credential, ) (*ServerMasterClientWithFailOver, error)
NewServerMasterClientWithEndpointList creates a new ServerMasterClientWithFailOver with an endpoint list.
func NewServerMasterClientWithFailOver ¶
func NewServerMasterClientWithFailOver( serverList MasterServerList, credentials *security.Credential, ) (*ServerMasterClientWithFailOver, error)
NewServerMasterClientWithFailOver creates a new ServerMasterClientWithFailOver. It is recommended that we use a singleton pattern here: Create one ServerMasterClientWithFailOver in each executor process.
func (*ServerMasterClientWithFailOver) Close ¶
func (c *ServerMasterClientWithFailOver) Close()
Close closes the NewServerMasterClientWithFailOver.
func (*ServerMasterClientWithFailOver) UpdateServerList ¶
func (c *ServerMasterClientWithFailOver) UpdateServerList(serverList MasterServerList)
UpdateServerList updates the server list maintained by the client. It is thread-safe.
type StartWorkerCallback ¶
type StartWorkerCallback = func()
StartWorkerCallback alias to the function that is called after the pre dispatch task is successful and before confirm dispatch task.
type TaskSchedulerClient ¶
type TaskSchedulerClient interface { ScheduleTask( ctx context.Context, request *enginepb.ScheduleTaskRequest, ) (*enginepb.ScheduleTaskResponse, error) }
TaskSchedulerClient is an interface for a client to the task scheduler in the server master.
func NewTaskSchedulerClient ¶
func NewTaskSchedulerClient(cli enginepb.TaskSchedulerClient) TaskSchedulerClient
NewTaskSchedulerClient returns a TaskSchedulerClient.