Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface {
// GetClusterID gets the cluster ID from PD.
GetClusterID(ctx context.Context) uint64
// GetLeaderAddr returns current leader's address. It returns "" before
// syncing leader from server.
GetLeaderAddr() string
// GetTS gets a timestamp from PD.
GetTS(ctx context.Context) (int64, int64, error)
// GetTSAsync gets a timestamp from PD, without block the caller.
GetTSAsync(ctx context.Context) TSFuture
// GetRegion gets a region and its leader Peer from PD by key.
// The region may expire after split. Caller is responsible for caching and
// taking care of region change.
// Also it may return nil if PD finds no Region for the key temporarily,
// client should retry later.
GetRegion(ctx context.Context, key []byte) (*metapb.Region, *metapb.Peer, error)
// GetPrevRegion gets the previous region and its leader Peer of the region where the key is located.
GetPrevRegion(ctx context.Context, key []byte) (*metapb.Region, *metapb.Peer, error)
// GetRegionByID gets a region and its leader Peer from PD by id.
GetRegionByID(ctx context.Context, regionID uint64) (*metapb.Region, *metapb.Peer, error)
// ScanRegion gets a list of regions, starts from the region that contains key.
// Limit limits the maximum number of regions returned.
// If a region has no leader, corresponding leader will be placed by a peer
// with empty value (PeerID is 0).
ScanRegions(ctx context.Context, key, endKey []byte, limit int) ([]*metapb.Region, []*metapb.Peer, error)
// GetStore gets a store from PD by store id.
// The store may expire later. Caller is responsible for caching and taking care
// of store change.
GetStore(ctx context.Context, storeID uint64) (*metapb.Store, error)
// GetAllStores gets all stores from pd.
// The store may expire later. Caller is responsible for caching and taking care
// of store change.
GetAllStores(ctx context.Context, opts ...GetStoreOption) ([]*metapb.Store, error)
// Update GC safe point. TiKV will check it and do GC themselves if necessary.
// If the given safePoint is less than the current one, it will not be updated.
// Returns the new safePoint after updating.
UpdateGCSafePoint(ctx context.Context, safePoint uint64) (uint64, error)
// ScatterRegion scatters the specified region. Should use it for a batch of regions,
// and the distribution of these regions will be dispersed.
ScatterRegion(ctx context.Context, regionID uint64) error
// GetOperator gets the status of operator of the specified region.
GetOperator(ctx context.Context, regionID uint64) (*pdpb.GetOperatorResponse, error)
// ConfigClient gets the configuration client.
ConfigClient() ConfigClient
// Close closes the client.
Close()
}
Client is a PD (Placement Driver) client. It should not be used after calling Close().
func NewClient ¶
func NewClient(pdAddrs []string, security SecurityOption, opts ...ClientOption) (Client, error)
NewClient creates a PD client.
func NewClientWithContext ¶
func NewClientWithContext(ctx context.Context, pdAddrs []string, security SecurityOption, opts ...ClientOption) (Client, error)
NewClientWithContext creates a PD client with context.
type ClientOption ¶
type ClientOption func(c *baseClient)
ClientOption configures client.
func WithGRPCDialOptions ¶
func WithGRPCDialOptions(opts ...grpc.DialOption) ClientOption
WithGRPCDialOptions configures the client with gRPC dial options.
type ConfigClient ¶ added in v3.1.0
type ConfigClient interface {
GetClusterID(ctx context.Context) uint64
Create(ctx context.Context, v *configpb.Version, component, componentID, config string) (*configpb.Status, *configpb.Version, string, error)
Get(ctx context.Context, v *configpb.Version, component, componentID string) (*configpb.Status, *configpb.Version, string, error)
Update(ctx context.Context, v *configpb.Version, kind *configpb.ConfigKind, entries []*configpb.ConfigEntry) (*configpb.Status, *configpb.Version, error)
Delete(ctx context.Context, v *configpb.Version, kind *configpb.ConfigKind) (*configpb.Status, error)
// Close closes the client.
Close()
}
ConfigClient is a client to manage the configuration. It should not be used after calling Close().
func NewConfigClient ¶ added in v3.1.0
func NewConfigClient(pdAddrs []string, security SecurityOption) (ConfigClient, error)
NewConfigClient creates a PD configuration client.
func NewConfigClientWithContext ¶ added in v3.1.0
func NewConfigClientWithContext(ctx context.Context, pdAddrs []string, security SecurityOption) (ConfigClient, error)
NewConfigClientWithContext creates a PD configuration client with the context.
type GetStoreOp ¶
type GetStoreOp struct {
// contains filtered or unexported fields
}
GetStoreOp represents available options when getting stores.
type GetStoreOption ¶
type GetStoreOption func(*GetStoreOp)
GetStoreOption configures GetStoreOp.
func WithExcludeTombstone ¶
func WithExcludeTombstone() GetStoreOption
WithExcludeTombstone excludes tombstone stores from the result.
type SecurityOption ¶
SecurityOption records options about tls