Documentation ¶
Index ¶
- type Client
- func (client *Client) ApplySchema(ctx context.Context, tablet *topodatapb.Tablet, change *tmutils.SchemaChange) (*tabletmanagerdatapb.SchemaChangeResult, error)
- func (client *Client) Backup(ctx context.Context, tablet *topodatapb.Tablet, ...) (logutil.EventStream, error)
- func (client *Client) ChangeType(ctx context.Context, tablet *topodatapb.Tablet, dbType topodatapb.TabletType, ...) error
- func (client *Client) CheckThrottler(ctx context.Context, tablet *topodatapb.Tablet, ...) (*tabletmanagerdatapb.CheckThrottlerResponse, error)
- func (client *Client) Close()
- func (client *Client) CreateVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, ...) (*tabletmanagerdatapb.CreateVReplicationWorkflowResponse, error)
- func (client *Client) DeleteVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, ...) (*tabletmanagerdatapb.DeleteVReplicationWorkflowResponse, error)
- func (client *Client) DemotePrimary(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.PrimaryStatus, error)
- func (client *Client) ExecuteFetchAsAllPrivs(ctx context.Context, tablet *topodatapb.Tablet, ...) (*querypb.QueryResult, error)
- func (client *Client) ExecuteFetchAsApp(ctx context.Context, tablet *topodatapb.Tablet, usePool bool, ...) (*querypb.QueryResult, error)
- func (client *Client) ExecuteFetchAsDba(ctx context.Context, tablet *topodatapb.Tablet, usePool bool, ...) (*querypb.QueryResult, error)
- func (client *Client) ExecuteHook(ctx context.Context, tablet *topodatapb.Tablet, hk *hook.Hook) (*hook.HookResult, error)
- func (client *Client) ExecuteMultiFetchAsDba(ctx context.Context, tablet *topodatapb.Tablet, usePool bool, ...) ([]*querypb.QueryResult, error)
- func (client *Client) ExecuteQuery(ctx context.Context, tablet *topodatapb.Tablet, ...) (*querypb.QueryResult, error)
- func (client *Client) FullStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.FullStatus, error)
- func (client *Client) GetGlobalStatusVars(ctx context.Context, tablet *topodatapb.Tablet, variables []string) (map[string]string, error)
- func (client *Client) GetPermissions(ctx context.Context, tablet *topodatapb.Tablet) (*tabletmanagerdatapb.Permissions, error)
- func (client *Client) GetReplicas(ctx context.Context, tablet *topodatapb.Tablet) ([]string, error)
- func (client *Client) GetSchema(ctx context.Context, tablet *topodatapb.Tablet, ...) (*tabletmanagerdatapb.SchemaDefinition, error)
- func (client *Client) HasVReplicationWorkflows(ctx context.Context, tablet *topodatapb.Tablet, ...) (*tabletmanagerdatapb.HasVReplicationWorkflowsResponse, error)
- func (client *Client) InitPrimary(ctx context.Context, tablet *topodatapb.Tablet, semiSync bool) (string, error)
- func (client *Client) InitReplica(ctx context.Context, tablet *topodatapb.Tablet, parent *topodatapb.TabletAlias, ...) error
- func (client *Client) LockTables(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) Ping(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) PopulateReparentJournal(ctx context.Context, tablet *topodatapb.Tablet, timeCreatedNS int64, ...) error
- func (client *Client) PreflightSchema(ctx context.Context, tablet *topodatapb.Tablet, changes []string) ([]*tabletmanagerdatapb.SchemaChangeResult, error)
- func (client *Client) PrimaryPosition(ctx context.Context, tablet *topodatapb.Tablet) (string, error)
- func (client *Client) PrimaryStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.PrimaryStatus, error)
- func (client *Client) PromoteReplica(ctx context.Context, tablet *topodatapb.Tablet, semiSync bool) (string, error)
- func (client *Client) ReadVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, ...) (*tabletmanagerdatapb.ReadVReplicationWorkflowResponse, error)
- func (client *Client) ReadVReplicationWorkflows(ctx context.Context, tablet *topodatapb.Tablet, ...) (*tabletmanagerdatapb.ReadVReplicationWorkflowsResponse, error)
- func (client *Client) RefreshState(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) ReloadSchema(ctx context.Context, tablet *topodatapb.Tablet, waitPosition string) error
- func (client *Client) ReplicaWasPromoted(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) ReplicaWasRestarted(ctx context.Context, tablet *topodatapb.Tablet, parent *topodatapb.TabletAlias) error
- func (client *Client) ReplicationStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.Status, error)
- func (client *Client) ResetReplication(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) ResetReplicationParameters(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) ResetSequences(ctx context.Context, tablet *topodatapb.Tablet, tables []string) error
- func (client *Client) RestoreFromBackup(ctx context.Context, tablet *topodatapb.Tablet, ...) (logutil.EventStream, error)
- func (client *Client) RunHealthCheck(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) SetReadOnly(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) SetReadWrite(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) SetReplicationSource(ctx context.Context, tablet *topodatapb.Tablet, parent *topodatapb.TabletAlias, ...) error
- func (client *Client) Sleep(ctx context.Context, tablet *topodatapb.Tablet, duration time.Duration) error
- func (client *Client) StartReplication(ctx context.Context, tablet *topodatapb.Tablet, semiSync bool) error
- func (client *Client) StartReplicationUntilAfter(ctx context.Context, tablet *topodatapb.Tablet, position string, ...) error
- func (client *Client) StopReplication(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) StopReplicationAndGetStatus(ctx context.Context, tablet *topodatapb.Tablet, ...) (status *replicationdatapb.StopReplicationStatus, err error)
- func (client *Client) StopReplicationMinimum(ctx context.Context, tablet *topodatapb.Tablet, minPos string, ...) (string, error)
- func (client *Client) UndoDemotePrimary(ctx context.Context, tablet *topodatapb.Tablet, semiSync bool) error
- func (client *Client) UnlockTables(ctx context.Context, tablet *topodatapb.Tablet) error
- func (client *Client) UpdateVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, ...) (*tabletmanagerdatapb.UpdateVReplicationWorkflowResponse, error)
- func (client *Client) UpdateVReplicationWorkflows(ctx context.Context, tablet *topodatapb.Tablet, ...) (*tabletmanagerdatapb.UpdateVReplicationWorkflowsResponse, error)
- func (client *Client) VDiff(ctx context.Context, tablet *topodatapb.Tablet, ...) (*tabletmanagerdatapb.VDiffResponse, error)
- func (client *Client) VReplicationExec(ctx context.Context, tablet *topodatapb.Tablet, query string) (*querypb.QueryResult, error)
- func (client *Client) VReplicationWaitForPos(ctx context.Context, tablet *topodatapb.Tablet, id int32, pos string) error
- func (client *Client) WaitForPosition(ctx context.Context, tablet *topodatapb.Tablet, pos string) error
- type DialPoolGroup
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client implements tmclient.TabletManagerClient.
Connections are produced by the dialer implementation, which is either the grpcClient implementation, which reuses connections only for ExecuteFetchAs{Dba,App} CheckThrottler, and FullStatus, otherwise making single-purpose connections that are closed after use.
In order to more efficiently use the underlying tcp connections, you can instead use the cachedConnDialer implementation by specifying
--tablet_manager_protocol "grpc-cached"
The cachedConnDialer keeps connections to up to --tablet_manager_grpc_connpool_size distinct tablets open at any given time, for faster per-RPC call time, and less connection churn.
func NewCachedConnClient ¶ added in v0.12.0
NewCachedConnClient returns a grpc Client that caches connections to the different tablets.
func (*Client) ApplySchema ¶
func (client *Client) ApplySchema(ctx context.Context, tablet *topodatapb.Tablet, change *tmutils.SchemaChange) (*tabletmanagerdatapb.SchemaChangeResult, error)
ApplySchema is part of the tmclient.TabletManagerClient interface.
func (*Client) Backup ¶
func (client *Client) Backup(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.BackupRequest) (logutil.EventStream, error)
Backup is part of the tmclient.TabletManagerClient interface.
func (*Client) ChangeType ¶
func (client *Client) ChangeType(ctx context.Context, tablet *topodatapb.Tablet, dbType topodatapb.TabletType, semiSync bool) error
ChangeType is part of the tmclient.TabletManagerClient interface.
func (*Client) CheckThrottler ¶ added in v0.18.0
func (client *Client) CheckThrottler(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.CheckThrottlerRequest) (*tabletmanagerdatapb.CheckThrottlerResponse, error)
CheckThrottler is part of the tmclient.TabletManagerClient interface. It always tries to use a cached client via the dialer pool as this is called very frequently between tablets when the throttler is enabled in a keyspace and the overhead of creating a new gRPC connection/channel and dialing the other tablet every time is not practical.
func (*Client) Close ¶
func (client *Client) Close()
Close is part of the tmclient.TabletManagerClient interface.
func (*Client) CreateVReplicationWorkflow ¶ added in v0.18.0
func (client *Client) CreateVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.CreateVReplicationWorkflowRequest) (*tabletmanagerdatapb.CreateVReplicationWorkflowResponse, error)
func (*Client) DeleteVReplicationWorkflow ¶ added in v0.18.0
func (client *Client) DeleteVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.DeleteVReplicationWorkflowRequest) (*tabletmanagerdatapb.DeleteVReplicationWorkflowResponse, error)
func (*Client) DemotePrimary ¶ added in v0.12.0
func (client *Client) DemotePrimary(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.PrimaryStatus, error)
DemotePrimary is part of the tmclient.TabletManagerClient interface.
func (*Client) ExecuteFetchAsAllPrivs ¶
func (client *Client) ExecuteFetchAsAllPrivs(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.ExecuteFetchAsAllPrivsRequest) (*querypb.QueryResult, error)
ExecuteFetchAsAllPrivs is part of the tmclient.TabletManagerClient interface.
func (*Client) ExecuteFetchAsApp ¶
func (client *Client) ExecuteFetchAsApp(ctx context.Context, tablet *topodatapb.Tablet, usePool bool, req *tabletmanagerdatapb.ExecuteFetchAsAppRequest) (*querypb.QueryResult, error)
ExecuteFetchAsApp is part of the tmclient.TabletManagerClient interface.
func (*Client) ExecuteFetchAsDba ¶
func (client *Client) ExecuteFetchAsDba(ctx context.Context, tablet *topodatapb.Tablet, usePool bool, req *tabletmanagerdatapb.ExecuteFetchAsDbaRequest) (*querypb.QueryResult, error)
ExecuteFetchAsDba is part of the tmclient.TabletManagerClient interface.
func (*Client) ExecuteHook ¶
func (client *Client) ExecuteHook(ctx context.Context, tablet *topodatapb.Tablet, hk *hook.Hook) (*hook.HookResult, error)
ExecuteHook is part of the tmclient.TabletManagerClient interface.
func (*Client) ExecuteMultiFetchAsDba ¶ added in v0.20.0
func (client *Client) ExecuteMultiFetchAsDba(ctx context.Context, tablet *topodatapb.Tablet, usePool bool, req *tabletmanagerdatapb.ExecuteMultiFetchAsDbaRequest) ([]*querypb.QueryResult, error)
ExecuteFetchAsDba is part of the tmclient.TabletManagerClient interface.
func (*Client) ExecuteQuery ¶ added in v0.11.0
func (client *Client) ExecuteQuery(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.ExecuteQueryRequest) (*querypb.QueryResult, error)
ExecuteQuery is part of the tmclient.TabletManagerClient interface.
func (*Client) FullStatus ¶ added in v0.14.0
func (client *Client) FullStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.FullStatus, error)
FullStatus is part of the tmclient.TabletManagerClient interface. It always tries to use a cached client via the dialer pool as this is called very frequently from VTOrc, and the overhead of creating a new gRPC connection/channel and dialing the other tablet every time is not practical.
func (*Client) GetGlobalStatusVars ¶ added in v0.20.0
func (client *Client) GetGlobalStatusVars(ctx context.Context, tablet *topodatapb.Tablet, variables []string) (map[string]string, error)
GetGlobalStatusVars is part of the tmclient.TabletManagerClient interface.
func (*Client) GetPermissions ¶
func (client *Client) GetPermissions(ctx context.Context, tablet *topodatapb.Tablet) (*tabletmanagerdatapb.Permissions, error)
GetPermissions is part of the tmclient.TabletManagerClient interface.
func (*Client) GetReplicas ¶
GetReplicas is part of the tmclient.TabletManagerClient interface.
func (*Client) GetSchema ¶
func (client *Client) GetSchema(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.GetSchemaRequest) (*tabletmanagerdatapb.SchemaDefinition, error)
GetSchema is part of the tmclient.TabletManagerClient interface.
func (*Client) HasVReplicationWorkflows ¶ added in v0.20.0
func (client *Client) HasVReplicationWorkflows(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.HasVReplicationWorkflowsRequest) (*tabletmanagerdatapb.HasVReplicationWorkflowsResponse, error)
func (*Client) InitPrimary ¶ added in v0.12.0
func (client *Client) InitPrimary(ctx context.Context, tablet *topodatapb.Tablet, semiSync bool) (string, error)
InitPrimary is part of the tmclient.TabletManagerClient interface.
func (*Client) InitReplica ¶
func (client *Client) InitReplica(ctx context.Context, tablet *topodatapb.Tablet, parent *topodatapb.TabletAlias, replicationPosition string, timeCreatedNS int64, semiSync bool) error
InitReplica is part of the tmclient.TabletManagerClient interface.
func (*Client) LockTables ¶
LockTables is part of the tmclient.TabletManagerClient interface.
func (*Client) PopulateReparentJournal ¶
func (client *Client) PopulateReparentJournal(ctx context.Context, tablet *topodatapb.Tablet, timeCreatedNS int64, actionName string, tabletAlias *topodatapb.TabletAlias, pos string) error
PopulateReparentJournal is part of the tmclient.TabletManagerClient interface.
func (*Client) PreflightSchema ¶
func (client *Client) PreflightSchema(ctx context.Context, tablet *topodatapb.Tablet, changes []string) ([]*tabletmanagerdatapb.SchemaChangeResult, error)
PreflightSchema is part of the tmclient.TabletManagerClient interface.
func (*Client) PrimaryPosition ¶ added in v0.12.0
func (client *Client) PrimaryPosition(ctx context.Context, tablet *topodatapb.Tablet) (string, error)
PrimaryPosition is part of the tmclient.TabletManagerClient interface.
func (*Client) PrimaryStatus ¶ added in v0.12.0
func (client *Client) PrimaryStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.PrimaryStatus, error)
PrimaryStatus is part of the tmclient.TabletManagerClient interface.
func (*Client) PromoteReplica ¶
func (client *Client) PromoteReplica(ctx context.Context, tablet *topodatapb.Tablet, semiSync bool) (string, error)
PromoteReplica is part of the tmclient.TabletManagerClient interface.
func (*Client) ReadVReplicationWorkflow ¶ added in v0.18.0
func (client *Client) ReadVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.ReadVReplicationWorkflowRequest) (*tabletmanagerdatapb.ReadVReplicationWorkflowResponse, error)
func (*Client) ReadVReplicationWorkflows ¶ added in v0.20.0
func (client *Client) ReadVReplicationWorkflows(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.ReadVReplicationWorkflowsRequest) (*tabletmanagerdatapb.ReadVReplicationWorkflowsResponse, error)
func (*Client) RefreshState ¶
RefreshState is part of the tmclient.TabletManagerClient interface.
func (*Client) ReloadSchema ¶
func (client *Client) ReloadSchema(ctx context.Context, tablet *topodatapb.Tablet, waitPosition string) error
ReloadSchema is part of the tmclient.TabletManagerClient interface.
func (*Client) ReplicaWasPromoted ¶
ReplicaWasPromoted is part of the tmclient.TabletManagerClient interface.
func (*Client) ReplicaWasRestarted ¶
func (client *Client) ReplicaWasRestarted(ctx context.Context, tablet *topodatapb.Tablet, parent *topodatapb.TabletAlias) error
ReplicaWasRestarted is part of the tmclient.TabletManagerClient interface.
func (*Client) ReplicationStatus ¶
func (client *Client) ReplicationStatus(ctx context.Context, tablet *topodatapb.Tablet) (*replicationdatapb.Status, error)
ReplicationStatus is part of the tmclient.TabletManagerClient interface.
func (*Client) ResetReplication ¶
ResetReplication is part of the tmclient.TabletManagerClient interface.
func (*Client) ResetReplicationParameters ¶ added in v0.14.0
func (client *Client) ResetReplicationParameters(ctx context.Context, tablet *topodatapb.Tablet) error
ResetReplicationParameters is part of the tmclient.TabletManagerClient interface.
func (*Client) ResetSequences ¶ added in v0.18.0
func (*Client) RestoreFromBackup ¶
func (client *Client) RestoreFromBackup(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.RestoreFromBackupRequest) (logutil.EventStream, error)
RestoreFromBackup is part of the tmclient.TabletManagerClient interface.
func (*Client) RunHealthCheck ¶
RunHealthCheck is part of the tmclient.TabletManagerClient interface.
func (*Client) SetReadOnly ¶
SetReadOnly is part of the tmclient.TabletManagerClient interface.
func (*Client) SetReadWrite ¶
SetReadWrite is part of the tmclient.TabletManagerClient interface.
func (*Client) SetReplicationSource ¶ added in v0.12.0
func (client *Client) SetReplicationSource(ctx context.Context, tablet *topodatapb.Tablet, parent *topodatapb.TabletAlias, timeCreatedNS int64, waitPosition string, forceStartReplication bool, semiSync bool, heartbeatInterval float64) error
SetReplicationSource is part of the tmclient.TabletManagerClient interface.
func (*Client) Sleep ¶
func (client *Client) Sleep(ctx context.Context, tablet *topodatapb.Tablet, duration time.Duration) error
Sleep is part of the tmclient.TabletManagerClient interface.
func (*Client) StartReplication ¶
func (client *Client) StartReplication(ctx context.Context, tablet *topodatapb.Tablet, semiSync bool) error
StartReplication is part of the tmclient.TabletManagerClient interface.
func (*Client) StartReplicationUntilAfter ¶
func (client *Client) StartReplicationUntilAfter(ctx context.Context, tablet *topodatapb.Tablet, position string, waitTime time.Duration) error
StartReplicationUntilAfter is part of the tmclient.TabletManagerClient interface.
func (*Client) StopReplication ¶
StopReplication is part of the tmclient.TabletManagerClient interface.
func (*Client) StopReplicationAndGetStatus ¶
func (client *Client) StopReplicationAndGetStatus(ctx context.Context, tablet *topodatapb.Tablet, stopReplicationMode replicationdatapb.StopReplicationMode) (status *replicationdatapb.StopReplicationStatus, err error)
StopReplicationAndGetStatus is part of the tmclient.TabletManagerClient interface.
func (*Client) StopReplicationMinimum ¶
func (client *Client) StopReplicationMinimum(ctx context.Context, tablet *topodatapb.Tablet, minPos string, waitTime time.Duration) (string, error)
StopReplicationMinimum is part of the tmclient.TabletManagerClient interface.
func (*Client) UndoDemotePrimary ¶ added in v0.12.0
func (client *Client) UndoDemotePrimary(ctx context.Context, tablet *topodatapb.Tablet, semiSync bool) error
UndoDemotePrimary is part of the tmclient.TabletManagerClient interface.
func (*Client) UnlockTables ¶
UnlockTables is part of the tmclient.TabletManagerClient interface.
func (*Client) UpdateVReplicationWorkflow ¶ added in v0.18.0
func (client *Client) UpdateVReplicationWorkflow(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.UpdateVReplicationWorkflowRequest) (*tabletmanagerdatapb.UpdateVReplicationWorkflowResponse, error)
func (*Client) UpdateVReplicationWorkflows ¶ added in v0.20.0
func (client *Client) UpdateVReplicationWorkflows(ctx context.Context, tablet *topodatapb.Tablet, request *tabletmanagerdatapb.UpdateVReplicationWorkflowsRequest) (*tabletmanagerdatapb.UpdateVReplicationWorkflowsResponse, error)
func (*Client) VDiff ¶ added in v0.14.0
func (client *Client) VDiff(ctx context.Context, tablet *topodatapb.Tablet, req *tabletmanagerdatapb.VDiffRequest) (*tabletmanagerdatapb.VDiffResponse, error)
VDiff is part of the tmclient.TabletManagerClient interface.
func (*Client) VReplicationExec ¶
func (client *Client) VReplicationExec(ctx context.Context, tablet *topodatapb.Tablet, query string) (*querypb.QueryResult, error)
VReplicationExec is part of the tmclient.TabletManagerClient interface.
func (*Client) VReplicationWaitForPos ¶
func (client *Client) VReplicationWaitForPos(ctx context.Context, tablet *topodatapb.Tablet, id int32, pos string) error
VReplicationWaitForPos is part of the tmclient.TabletManagerClient interface.
func (*Client) WaitForPosition ¶
func (client *Client) WaitForPosition(ctx context.Context, tablet *topodatapb.Tablet, pos string) error
WaitForPosition is part of the tmclient.TabletManagerClient interface.
type DialPoolGroup ¶ added in v0.19.2
type DialPoolGroup int