Documentation ¶
Index ¶
- Constants
- func AppendToRootPath(rootPath string, key string) string
- func ClusterBootstrapTimeKey() string
- func ClusterRootPath(rootPath string) string
- func ExternalTimestampPath() string
- func ExtractKeyspaceGroupIDFromPath(path string) (uint32, error)
- func GCSafePointServicePrefixPath() string
- func IsUserKindValid(kind string) bool
- func KeyspaceGCSafePointPath(spaceID string) string
- func KeyspaceGCSafePointSuffix() string
- func KeyspaceGroupIDPath(id uint32) string
- func KeyspaceGroupIDPrefix() string
- func KeyspaceIDAlloc() string
- func KeyspaceIDPath(name string) string
- func KeyspaceMetaPath(spaceID uint32) string
- func KeyspaceMetaPrefix() string
- func KeyspaceSafePointPrefix() string
- func KeyspaceServiceSafePointPath(spaceID, serviceID string) string
- func KeyspaceServiceSafePointPrefix(spaceID string) string
- func MinResolvedTSPath() string
- func RegionPath(regionID uint64) string
- func StorePath(storeID uint64) string
- type ConfigStorage
- type ExternalTSStorage
- type ExternalTimestamp
- type GCSafePointStorage
- type KeyspaceGCSafePoint
- type KeyspaceGCSafePointStorage
- type KeyspaceGroup
- type KeyspaceGroupMember
- type KeyspaceGroupStorage
- type KeyspaceStorage
- type MetaStorage
- type MinResolvedTSPoint
- type MinResolvedTSStorage
- type RegionStorage
- type ReplicationStatusStorage
- type ResourceGroupStorage
- type RuleStorage
- type ServiceMiddlewareStorage
- type ServiceSafePoint
- type SplitState
- type StorageEndpoint
- func (se *StorageEndpoint) Close() error
- func (se *StorageEndpoint) DeleteKeyspaceGroup(txn kv.Txn, id uint32) error
- func (se *StorageEndpoint) DeleteRegion(region *metapb.Region) error
- func (se *StorageEndpoint) DeleteRegionRule(ruleKey string) error
- func (se *StorageEndpoint) DeleteResourceGroupSetting(name string) error
- func (se *StorageEndpoint) DeleteResourceGroupStates(name string) error
- func (se *StorageEndpoint) DeleteRule(ruleKey string) error
- func (se *StorageEndpoint) DeleteRuleGroup(groupID string) error
- func (se *StorageEndpoint) DeleteStore(store *metapb.Store) error
- func (se *StorageEndpoint) Flush() error
- func (se *StorageEndpoint) LoadAllKeyspaceGCSafePoints(withGCSafePoint bool) ([]*KeyspaceGCSafePoint, error)
- func (se *StorageEndpoint) LoadAllScheduleConfig() ([]string, []string, error)
- func (se *StorageEndpoint) LoadAllServiceGCSafePoints() ([]*ServiceSafePoint, error)
- func (se *StorageEndpoint) LoadConfig(cfg interface{}) (bool, error)
- func (se *StorageEndpoint) LoadExternalTS() (uint64, error)
- func (se *StorageEndpoint) LoadGCSafePoint() (uint64, error)
- func (se *StorageEndpoint) LoadKeyspaceGCSafePoint(spaceID string) (uint64, error)
- func (se *StorageEndpoint) LoadKeyspaceGroup(txn kv.Txn, id uint32) (*KeyspaceGroup, error)
- func (se *StorageEndpoint) LoadKeyspaceGroups(startID uint32, limit int) ([]*KeyspaceGroup, error)
- func (se *StorageEndpoint) LoadKeyspaceID(txn kv.Txn, name string) (bool, uint32, error)
- func (se *StorageEndpoint) LoadKeyspaceMeta(txn kv.Txn, id uint32) (*keyspacepb.KeyspaceMeta, error)
- func (se *StorageEndpoint) LoadMeta(meta *metapb.Cluster) (bool, error)
- func (se *StorageEndpoint) LoadMinResolvedTS() (uint64, error)
- func (se *StorageEndpoint) LoadMinServiceGCSafePoint(now time.Time) (*ServiceSafePoint, error)
- func (se *StorageEndpoint) LoadMinServiceSafePoint(spaceID string, now time.Time) (*ServiceSafePoint, error)
- func (se *StorageEndpoint) LoadRangeKeyspace(startID uint32, limit int) ([]*keyspacepb.KeyspaceMeta, error)
- func (se *StorageEndpoint) LoadRegion(regionID uint64, region *metapb.Region) (ok bool, err error)
- func (se *StorageEndpoint) LoadRegionRules(f func(k, v string)) error
- func (se *StorageEndpoint) LoadRegions(ctx context.Context, f func(region *core.RegionInfo) []*core.RegionInfo) error
- func (se *StorageEndpoint) LoadReplicationStatus(mode string, status interface{}) (bool, error)
- func (se *StorageEndpoint) LoadResourceGroupSettings(f func(k, v string)) error
- func (se *StorageEndpoint) LoadResourceGroupStates(f func(k, v string)) error
- func (se *StorageEndpoint) LoadRuleGroups(f func(k, v string)) error
- func (se *StorageEndpoint) LoadRules(f func(k, v string)) error
- func (se *StorageEndpoint) LoadServiceMiddlewareConfig(cfg interface{}) (bool, error)
- func (se *StorageEndpoint) LoadServiceSafePoint(spaceID, serviceID string) (*ServiceSafePoint, error)
- func (se *StorageEndpoint) LoadStore(storeID uint64, store *metapb.Store) (bool, error)
- func (se *StorageEndpoint) LoadStores(f func(store *core.StoreInfo)) error
- func (se *StorageEndpoint) LoadTimestamp(prefix string) (time.Time, error)
- func (se *StorageEndpoint) RemoveScheduleConfig(scheduleName string) error
- func (se *StorageEndpoint) RemoveServiceGCSafePoint(serviceID string) error
- func (se *StorageEndpoint) RemoveServiceSafePoint(spaceID, serviceID string) error
- func (se *StorageEndpoint) RunInTxn(ctx context.Context, f func(txn kv.Txn) error) error
- func (se *StorageEndpoint) SaveConfig(cfg interface{}) error
- func (se *StorageEndpoint) SaveControllerConfig(config interface{}) error
- func (se *StorageEndpoint) SaveExternalTS(timestamp uint64) error
- func (se *StorageEndpoint) SaveGCSafePoint(safePoint uint64) error
- func (se *StorageEndpoint) SaveKeyspaceGCSafePoint(spaceID string, safePoint uint64) error
- func (se *StorageEndpoint) SaveKeyspaceGroup(txn kv.Txn, kg *KeyspaceGroup) error
- func (se *StorageEndpoint) SaveKeyspaceID(txn kv.Txn, id uint32, name string) error
- func (se *StorageEndpoint) SaveKeyspaceMeta(txn kv.Txn, meta *keyspacepb.KeyspaceMeta) error
- func (se *StorageEndpoint) SaveMeta(meta *metapb.Cluster) error
- func (se *StorageEndpoint) SaveMinResolvedTS(minResolvedTS uint64) error
- func (se *StorageEndpoint) SaveRegion(region *metapb.Region) error
- func (se *StorageEndpoint) SaveRegionRule(ruleKey string, rule interface{}) error
- func (se *StorageEndpoint) SaveReplicationStatus(mode string, status interface{}) error
- func (se *StorageEndpoint) SaveResourceGroupSetting(name string, msg proto.Message) error
- func (se *StorageEndpoint) SaveResourceGroupStates(name string, obj interface{}) error
- func (se *StorageEndpoint) SaveRule(ruleKey string, rule interface{}) error
- func (se *StorageEndpoint) SaveRuleGroup(groupID string, group interface{}) error
- func (se *StorageEndpoint) SaveScheduleConfig(scheduleName string, data []byte) error
- func (se *StorageEndpoint) SaveServiceGCSafePoint(ssp *ServiceSafePoint) error
- func (se *StorageEndpoint) SaveServiceMiddlewareConfig(cfg interface{}) error
- func (se *StorageEndpoint) SaveServiceSafePoint(spaceID string, ssp *ServiceSafePoint) error
- func (se *StorageEndpoint) SaveStore(store *metapb.Store) error
- func (se *StorageEndpoint) SaveStoreWeight(storeID uint64, leader, region float64) error
- func (se *StorageEndpoint) SaveTimestamp(key string, ts time.Time) error
- type TSOStorage
- type UserKind
Constants ¶
const ( // MaxKVRangeLimit is the max limit of the number of keys in a range. MaxKVRangeLimit = 10000 // MinKVRangeLimit is the min limit of the number of keys in a range. MinKVRangeLimit = 100 )
const ( // SpaceIDBase is base used to encode/decode spaceID. // It's set to 10 for better readability. SpaceIDBase = 10 )
Variables ¶
This section is empty.
Functions ¶
func AppendToRootPath ¶
AppendToRootPath appends the given key to the rootPath.
func ClusterBootstrapTimeKey ¶
func ClusterBootstrapTimeKey() string
ClusterBootstrapTimeKey returns the path to save the cluster bootstrap timestamp.
func ClusterRootPath ¶
ClusterRootPath appends the `clusterPath` to the rootPath.
func ExternalTimestampPath ¶
func ExternalTimestampPath() string
ExternalTimestampPath returns the external timestamp path.
func ExtractKeyspaceGroupIDFromPath ¶
ExtractKeyspaceGroupIDFromPath extracts keyspace group id from the given path, which contains the pattern of `tso/keyspace_groups/membership/(\d{5})$`.
func GCSafePointServicePrefixPath ¶
func GCSafePointServicePrefixPath() string
GCSafePointServicePrefixPath returns the GC safe point service key path prefix.
func IsUserKindValid ¶
IsUserKindValid checks if the user kind is valid.
func KeyspaceGCSafePointPath ¶
KeyspaceGCSafePointPath returns the gc safe point's path of the given key-space. Path: /keyspaces/gc_safepoint/{space_id}/gc
func KeyspaceGCSafePointSuffix ¶
func KeyspaceGCSafePointSuffix() string
KeyspaceGCSafePointSuffix returns the suffix for any gc safepoint. Postfix: /gc
func KeyspaceGroupIDPath ¶
KeyspaceGroupIDPath returns the path to keyspace id from the given name. Path: tso/keyspace_groups/membership/{id}
func KeyspaceGroupIDPrefix ¶
func KeyspaceGroupIDPrefix() string
KeyspaceGroupIDPrefix returns the prefix of keyspace group id. Path: tso/keyspace_groups/membership
func KeyspaceIDAlloc ¶
func KeyspaceIDAlloc() string
KeyspaceIDAlloc returns the path of the keyspace id's persistent window boundary. Path: keyspaces/alloc_id
func KeyspaceIDPath ¶
KeyspaceIDPath returns the path to keyspace id from the given name. Path: keyspaces/id/{name}
func KeyspaceMetaPath ¶
KeyspaceMetaPath returns the path to the given keyspace's metadata. Path: keyspaces/meta/{space_id}
func KeyspaceMetaPrefix ¶
func KeyspaceMetaPrefix() string
KeyspaceMetaPrefix returns the prefix of keyspaces' metadata. Prefix: keyspaces/meta/
func KeyspaceSafePointPrefix ¶
func KeyspaceSafePointPrefix() string
KeyspaceSafePointPrefix returns prefix for all key-spaces' safe points. Path: /keyspaces/gc_safepoint/
func KeyspaceServiceSafePointPath ¶
KeyspaceServiceSafePointPath returns the path of given service's service safe point. Path: /keyspaces/gc_safepoint/{space_id}/service/{service_id}
func KeyspaceServiceSafePointPrefix ¶
KeyspaceServiceSafePointPrefix returns the prefix of given service's service safe point. Prefix: /keyspaces/gc_safepoint/{space_id}/service/
func MinResolvedTSPath ¶
func MinResolvedTSPath() string
MinResolvedTSPath returns the min resolved ts path.
func RegionPath ¶
RegionPath returns the region meta info key path with the given region ID.
Types ¶
type ConfigStorage ¶
type ConfigStorage interface { LoadConfig(cfg interface{}) (bool, error) SaveConfig(cfg interface{}) error LoadAllScheduleConfig() ([]string, []string, error) SaveScheduleConfig(scheduleName string, data []byte) error RemoveScheduleConfig(scheduleName string) error }
ConfigStorage defines the storage operations on the config.
type ExternalTSStorage ¶
type ExternalTSStorage interface { LoadExternalTS() (uint64, error) SaveExternalTS(timestamp uint64) error }
ExternalTSStorage defines the storage operations on the external timestamp.
type ExternalTimestamp ¶
type ExternalTimestamp struct {
ExternalTimestamp uint64 `json:"external_timestamp"`
}
ExternalTimestamp is the external timestamp. NOTE: This type is exported by HTTP API. Please pay more attention when modifying it.
type GCSafePointStorage ¶
type GCSafePointStorage interface { LoadGCSafePoint() (uint64, error) SaveGCSafePoint(safePoint uint64) error LoadMinServiceGCSafePoint(now time.Time) (*ServiceSafePoint, error) LoadAllServiceGCSafePoints() ([]*ServiceSafePoint, error) SaveServiceGCSafePoint(ssp *ServiceSafePoint) error RemoveServiceGCSafePoint(serviceID string) error }
GCSafePointStorage defines the storage operations on the GC safe point.
type KeyspaceGCSafePoint ¶
type KeyspaceGCSafePoint struct { SpaceID string `json:"space_id"` SafePoint uint64 `json:"safe_point,omitempty"` }
KeyspaceGCSafePoint is gcWorker's safepoint for specific key-space
type KeyspaceGCSafePointStorage ¶
type KeyspaceGCSafePointStorage interface { // Service safe point interfaces. SaveServiceSafePoint(spaceID string, ssp *ServiceSafePoint) error LoadServiceSafePoint(spaceID, serviceID string) (*ServiceSafePoint, error) LoadMinServiceSafePoint(spaceID string, now time.Time) (*ServiceSafePoint, error) RemoveServiceSafePoint(spaceID, serviceID string) error // GC safe point interfaces. SaveKeyspaceGCSafePoint(spaceID string, safePoint uint64) error LoadKeyspaceGCSafePoint(spaceID string) (uint64, error) LoadAllKeyspaceGCSafePoints(withGCSafePoint bool) ([]*KeyspaceGCSafePoint, error) }
KeyspaceGCSafePointStorage defines the storage operations on Keyspaces' safe points
type KeyspaceGroup ¶
type KeyspaceGroup struct { ID uint32 `json:"id"` UserKind string `json:"user-kind"` // SplitState is the current split state of the keyspace group. SplitState *SplitState `json:"split-state,omitempty"` // Members are the election members which campaign for the primary of the keyspace group. Members []KeyspaceGroupMember `json:"members"` // Keyspaces are the keyspace IDs which belong to the keyspace group. Keyspaces []uint32 `json:"keyspaces"` // KeyspaceLookupTable is for fast lookup if a given keyspace belongs to this keyspace group. // It's not persisted and will be built when loading from storage. KeyspaceLookupTable map[uint32]struct{} `json:"-"` }
KeyspaceGroup is the keyspace group.
func (*KeyspaceGroup) IsSplitSource ¶
func (kg *KeyspaceGroup) IsSplitSource() bool
IsSplitSource checks if the keyspace group is in split state and is the split source.
func (*KeyspaceGroup) IsSplitTarget ¶
func (kg *KeyspaceGroup) IsSplitTarget() bool
IsSplitTarget checks if the keyspace group is in split state and is the split target.
func (*KeyspaceGroup) IsSplitting ¶
func (kg *KeyspaceGroup) IsSplitting() bool
IsSplitting checks if the keyspace group is in split state.
func (*KeyspaceGroup) SplitSource ¶
func (kg *KeyspaceGroup) SplitSource() uint32
SplitSource returns the keyspace group split source ID. When the keyspace group is the split source itself, it will return its own ID.
type KeyspaceGroupMember ¶
type KeyspaceGroupMember struct {
Address string `json:"address"`
}
KeyspaceGroupMember defines an election member which campaigns for the primary of the keyspace group.
type KeyspaceGroupStorage ¶
type KeyspaceGroupStorage interface { LoadKeyspaceGroups(startID uint32, limit int) ([]*KeyspaceGroup, error) LoadKeyspaceGroup(txn kv.Txn, id uint32) (*KeyspaceGroup, error) SaveKeyspaceGroup(txn kv.Txn, kg *KeyspaceGroup) error DeleteKeyspaceGroup(txn kv.Txn, id uint32) error // TODO: add more interfaces. RunInTxn(ctx context.Context, f func(txn kv.Txn) error) error }
KeyspaceGroupStorage is the interface for keyspace group storage.
type KeyspaceStorage ¶
type KeyspaceStorage interface { SaveKeyspaceMeta(txn kv.Txn, meta *keyspacepb.KeyspaceMeta) error LoadKeyspaceMeta(txn kv.Txn, id uint32) (*keyspacepb.KeyspaceMeta, error) SaveKeyspaceID(txn kv.Txn, id uint32, name string) error LoadKeyspaceID(txn kv.Txn, name string) (bool, uint32, error) // LoadRangeKeyspace loads no more than limit keyspaces starting at startID. LoadRangeKeyspace(startID uint32, limit int) ([]*keyspacepb.KeyspaceMeta, error) RunInTxn(ctx context.Context, f func(txn kv.Txn) error) error }
KeyspaceStorage defines storage operations on keyspace related data.
type MetaStorage ¶
type MetaStorage interface { LoadMeta(meta *metapb.Cluster) (bool, error) SaveMeta(meta *metapb.Cluster) error LoadStore(storeID uint64, store *metapb.Store) (bool, error) SaveStore(store *metapb.Store) error SaveStoreWeight(storeID uint64, leader, region float64) error LoadStores(f func(store *core.StoreInfo)) error DeleteStore(store *metapb.Store) error RegionStorage }
MetaStorage defines the storage operations on the PD cluster meta info.
type MinResolvedTSPoint ¶
type MinResolvedTSPoint struct {
MinResolvedTS uint64 `json:"min_resolved_ts"`
}
MinResolvedTSPoint is the min resolved ts for a store NOTE: This type is exported by HTTP API. Please pay more attention when modifying it.
type MinResolvedTSStorage ¶
type MinResolvedTSStorage interface { LoadMinResolvedTS() (uint64, error) SaveMinResolvedTS(minResolvedTS uint64) error }
MinResolvedTSStorage defines the storage operations on the min resolved ts.
type RegionStorage ¶
type RegionStorage interface { LoadRegion(regionID uint64, region *metapb.Region) (ok bool, err error) LoadRegions(ctx context.Context, f func(region *core.RegionInfo) []*core.RegionInfo) error SaveRegion(region *metapb.Region) error DeleteRegion(region *metapb.Region) error Flush() error Close() error }
RegionStorage defines the storage operations on the Region meta info.
type ReplicationStatusStorage ¶
type ReplicationStatusStorage interface { LoadReplicationStatus(mode string, status interface{}) (bool, error) SaveReplicationStatus(mode string, status interface{}) error }
ReplicationStatusStorage defines the storage operations on the replication status.
type ResourceGroupStorage ¶
type ResourceGroupStorage interface { LoadResourceGroupSettings(f func(k, v string)) error SaveResourceGroupSetting(name string, msg proto.Message) error DeleteResourceGroupSetting(name string) error LoadResourceGroupStates(f func(k, v string)) error SaveResourceGroupStates(name string, obj interface{}) error DeleteResourceGroupStates(name string) error SaveControllerConfig(config interface{}) error }
ResourceGroupStorage defines the storage operations on the resource group.
type RuleStorage ¶
type RuleStorage interface { LoadRules(f func(k, v string)) error SaveRule(ruleKey string, rule interface{}) error DeleteRule(ruleKey string) error LoadRuleGroups(f func(k, v string)) error SaveRuleGroup(groupID string, group interface{}) error DeleteRuleGroup(groupID string) error LoadRegionRules(f func(k, v string)) error SaveRegionRule(ruleKey string, rule interface{}) error DeleteRegionRule(ruleKey string) error }
RuleStorage defines the storage operations on the rule.
type ServiceMiddlewareStorage ¶
type ServiceMiddlewareStorage interface { LoadServiceMiddlewareConfig(cfg interface{}) (bool, error) SaveServiceMiddlewareConfig(cfg interface{}) error }
ServiceMiddlewareStorage defines the storage operations on the service middleware.
type ServiceSafePoint ¶
type ServiceSafePoint struct { ServiceID string `json:"service_id"` ExpiredAt int64 `json:"expired_at"` SafePoint uint64 `json:"safe_point"` }
ServiceSafePoint is the safepoint for a specific service NOTE: This type is exported by HTTP API. Please pay more attention when modifying it.
type SplitState ¶
type SplitState struct { // SplitSource is the current keyspace group ID from which the keyspace group is split. // When the keyspace group is being split to another keyspace group, the split-source will // be set to its own ID. SplitSource uint32 `json:"split-source"` }
SplitState defines the split state of a keyspace group.
type StorageEndpoint ¶
StorageEndpoint is the base underlying storage endpoint for all other upper specific storage backends. It should define some common storage interfaces and operations, which provides the default implementations for all kinds of storages.
func NewStorageEndpoint ¶
func NewStorageEndpoint( kvBase kv.Base, encryptionKeyManager *encryption.Manager, ) *StorageEndpoint
NewStorageEndpoint creates a new base storage endpoint with the given KV and encryption key manager. It should be embedded inside a storage backend.
func (*StorageEndpoint) Close ¶
func (se *StorageEndpoint) Close() error
Close closes the underlying storage backend.
func (*StorageEndpoint) DeleteKeyspaceGroup ¶
func (se *StorageEndpoint) DeleteKeyspaceGroup(txn kv.Txn, id uint32) error
DeleteKeyspaceGroup deletes the keyspace group.
func (*StorageEndpoint) DeleteRegion ¶
func (se *StorageEndpoint) DeleteRegion(region *metapb.Region) error
DeleteRegion deletes one region from storage.
func (*StorageEndpoint) DeleteRegionRule ¶
func (se *StorageEndpoint) DeleteRegionRule(ruleKey string) error
DeleteRegionRule removes a region rule from storage.
func (*StorageEndpoint) DeleteResourceGroupSetting ¶
func (se *StorageEndpoint) DeleteResourceGroupSetting(name string) error
DeleteResourceGroupSetting removes a resource group from storage.
func (*StorageEndpoint) DeleteResourceGroupStates ¶
func (se *StorageEndpoint) DeleteResourceGroupStates(name string) error
DeleteResourceGroupStates removes a resource group from storage.
func (*StorageEndpoint) DeleteRule ¶
func (se *StorageEndpoint) DeleteRule(ruleKey string) error
DeleteRule removes a rule from storage.
func (*StorageEndpoint) DeleteRuleGroup ¶
func (se *StorageEndpoint) DeleteRuleGroup(groupID string) error
DeleteRuleGroup removes a rule group from storage.
func (*StorageEndpoint) DeleteStore ¶
func (se *StorageEndpoint) DeleteStore(store *metapb.Store) error
DeleteStore deletes one store from storage.
func (*StorageEndpoint) Flush ¶
func (se *StorageEndpoint) Flush() error
Flush flushes the pending data to the underlying storage backend.
func (*StorageEndpoint) LoadAllKeyspaceGCSafePoints ¶
func (se *StorageEndpoint) LoadAllKeyspaceGCSafePoints(withGCSafePoint bool) ([]*KeyspaceGCSafePoint, error)
LoadAllKeyspaceGCSafePoints returns slice of KeyspaceGCSafePoint. If withGCSafePoint set to false, returned safePoints will be 0.
func (*StorageEndpoint) LoadAllScheduleConfig ¶
func (se *StorageEndpoint) LoadAllScheduleConfig() ([]string, []string, error)
LoadAllScheduleConfig loads all schedulers' config.
func (*StorageEndpoint) LoadAllServiceGCSafePoints ¶
func (se *StorageEndpoint) LoadAllServiceGCSafePoints() ([]*ServiceSafePoint, error)
LoadAllServiceGCSafePoints returns all services GC safepoints
func (*StorageEndpoint) LoadConfig ¶
func (se *StorageEndpoint) LoadConfig(cfg interface{}) (bool, error)
LoadConfig loads config from configPath then unmarshal it to cfg.
func (*StorageEndpoint) LoadExternalTS ¶
func (se *StorageEndpoint) LoadExternalTS() (uint64, error)
LoadExternalTS loads the external timestamp from storage.
func (*StorageEndpoint) LoadGCSafePoint ¶
func (se *StorageEndpoint) LoadGCSafePoint() (uint64, error)
LoadGCSafePoint loads current GC safe point from storage.
func (*StorageEndpoint) LoadKeyspaceGCSafePoint ¶
func (se *StorageEndpoint) LoadKeyspaceGCSafePoint(spaceID string) (uint64, error)
LoadKeyspaceGCSafePoint reads GCSafePoint for the given key-space. Returns 0 if target safepoint not exist.
func (*StorageEndpoint) LoadKeyspaceGroup ¶
func (se *StorageEndpoint) LoadKeyspaceGroup(txn kv.Txn, id uint32) (*KeyspaceGroup, error)
LoadKeyspaceGroup loads the keyspace group by ID.
func (*StorageEndpoint) LoadKeyspaceGroups ¶
func (se *StorageEndpoint) LoadKeyspaceGroups(startID uint32, limit int) ([]*KeyspaceGroup, error)
LoadKeyspaceGroups loads keyspace groups from the start ID with limit. If limit is 0, it will load all keyspace groups from the start ID.
func (*StorageEndpoint) LoadKeyspaceID ¶
LoadKeyspaceID loads keyspace ID from the path specified by keyspace name. An additional boolean is returned to indicate whether target id exists, it returns false if target id not found, or if error occurred.
func (*StorageEndpoint) LoadKeyspaceMeta ¶
func (se *StorageEndpoint) LoadKeyspaceMeta(txn kv.Txn, id uint32) (*keyspacepb.KeyspaceMeta, error)
LoadKeyspaceMeta load and return keyspace meta specified by id. If keyspace does not exist or error occurs, returned meta will be nil.
func (*StorageEndpoint) LoadMeta ¶
func (se *StorageEndpoint) LoadMeta(meta *metapb.Cluster) (bool, error)
LoadMeta loads cluster meta from the storage. This method will only be used by the PD server, so we should only implement it for the etcd storage.
func (*StorageEndpoint) LoadMinResolvedTS ¶
func (se *StorageEndpoint) LoadMinResolvedTS() (uint64, error)
LoadMinResolvedTS loads the min resolved ts from storage.
func (*StorageEndpoint) LoadMinServiceGCSafePoint ¶
func (se *StorageEndpoint) LoadMinServiceGCSafePoint(now time.Time) (*ServiceSafePoint, error)
LoadMinServiceGCSafePoint returns the minimum safepoint across all services
func (*StorageEndpoint) LoadMinServiceSafePoint ¶
func (se *StorageEndpoint) LoadMinServiceSafePoint(spaceID string, now time.Time) (*ServiceSafePoint, error)
LoadMinServiceSafePoint returns the minimum safepoint for the given key-space. Note that gc worker safe point are store separately. If no service safe point exist for the given key-space or all the service safe points just expired, return nil.
func (*StorageEndpoint) LoadRangeKeyspace ¶
func (se *StorageEndpoint) LoadRangeKeyspace(startID uint32, limit int) ([]*keyspacepb.KeyspaceMeta, error)
LoadRangeKeyspace loads keyspaces starting at startID. limit specifies the limit of loaded keyspaces.
func (*StorageEndpoint) LoadRegion ¶
LoadRegion loads one region from the backend storage.
func (*StorageEndpoint) LoadRegionRules ¶
func (se *StorageEndpoint) LoadRegionRules(f func(k, v string)) error
LoadRegionRules loads region rules from storage.
func (*StorageEndpoint) LoadRegions ¶
func (se *StorageEndpoint) LoadRegions(ctx context.Context, f func(region *core.RegionInfo) []*core.RegionInfo) error
LoadRegions loads all regions from storage to RegionsInfo.
func (*StorageEndpoint) LoadReplicationStatus ¶
func (se *StorageEndpoint) LoadReplicationStatus(mode string, status interface{}) (bool, error)
LoadReplicationStatus loads replication status by mode.
func (*StorageEndpoint) LoadResourceGroupSettings ¶
func (se *StorageEndpoint) LoadResourceGroupSettings(f func(k, v string)) error
LoadResourceGroupSettings loads all resource groups from storage.
func (*StorageEndpoint) LoadResourceGroupStates ¶
func (se *StorageEndpoint) LoadResourceGroupStates(f func(k, v string)) error
LoadResourceGroupStates loads all resource groups from storage.
func (*StorageEndpoint) LoadRuleGroups ¶
func (se *StorageEndpoint) LoadRuleGroups(f func(k, v string)) error
LoadRuleGroups loads all rule groups from storage.
func (*StorageEndpoint) LoadRules ¶
func (se *StorageEndpoint) LoadRules(f func(k, v string)) error
LoadRules loads placement rules from storage.
func (*StorageEndpoint) LoadServiceMiddlewareConfig ¶
func (se *StorageEndpoint) LoadServiceMiddlewareConfig(cfg interface{}) (bool, error)
LoadServiceMiddlewareConfig loads service middleware config from serviceMiddlewarePath then unmarshal it to cfg.
func (*StorageEndpoint) LoadServiceSafePoint ¶
func (se *StorageEndpoint) LoadServiceSafePoint(spaceID, serviceID string) (*ServiceSafePoint, error)
LoadServiceSafePoint reads ServiceSafePoint for the given key-space ID and service name. Return nil if no safepoint exist for given service or just expired.
func (*StorageEndpoint) LoadStores ¶
func (se *StorageEndpoint) LoadStores(f func(store *core.StoreInfo)) error
LoadStores loads all stores from storage to StoresInfo.
func (*StorageEndpoint) LoadTimestamp ¶
func (se *StorageEndpoint) LoadTimestamp(prefix string) (time.Time, error)
LoadTimestamp will get all time windows of Local/Global TSOs from etcd and return the biggest one. For the Global TSO, loadTimestamp will get all Local and Global TSO time windows persisted in etcd and choose the biggest one. For the Local TSO, loadTimestamp will only get its own dc-location time window persisted before.
func (*StorageEndpoint) RemoveScheduleConfig ¶
func (se *StorageEndpoint) RemoveScheduleConfig(scheduleName string) error
RemoveScheduleConfig removes the config of scheduler.
func (*StorageEndpoint) RemoveServiceGCSafePoint ¶
func (se *StorageEndpoint) RemoveServiceGCSafePoint(serviceID string) error
RemoveServiceGCSafePoint removes a GC safepoint for the service
func (*StorageEndpoint) RemoveServiceSafePoint ¶
func (se *StorageEndpoint) RemoveServiceSafePoint(spaceID, serviceID string) error
RemoveServiceSafePoint removes target ServiceSafePoint
func (*StorageEndpoint) SaveConfig ¶
func (se *StorageEndpoint) SaveConfig(cfg interface{}) error
SaveConfig stores marshallable cfg to the configPath.
func (*StorageEndpoint) SaveControllerConfig ¶
func (se *StorageEndpoint) SaveControllerConfig(config interface{}) error
SaveControllerConfig stores the resource controller config to storage.
func (*StorageEndpoint) SaveExternalTS ¶
func (se *StorageEndpoint) SaveExternalTS(timestamp uint64) error
SaveExternalTS saves the external timestamp.
func (*StorageEndpoint) SaveGCSafePoint ¶
func (se *StorageEndpoint) SaveGCSafePoint(safePoint uint64) error
SaveGCSafePoint saves new GC safe point to storage.
func (*StorageEndpoint) SaveKeyspaceGCSafePoint ¶
func (se *StorageEndpoint) SaveKeyspaceGCSafePoint(spaceID string, safePoint uint64) error
SaveKeyspaceGCSafePoint saves GCSafePoint to the given key-space.
func (*StorageEndpoint) SaveKeyspaceGroup ¶
func (se *StorageEndpoint) SaveKeyspaceGroup(txn kv.Txn, kg *KeyspaceGroup) error
SaveKeyspaceGroup saves the keyspace group.
func (*StorageEndpoint) SaveKeyspaceID ¶
SaveKeyspaceID saves keyspace ID to the path specified by keyspace name.
func (*StorageEndpoint) SaveKeyspaceMeta ¶
func (se *StorageEndpoint) SaveKeyspaceMeta(txn kv.Txn, meta *keyspacepb.KeyspaceMeta) error
SaveKeyspaceMeta adds a save keyspace meta operation to target transaction.
func (*StorageEndpoint) SaveMeta ¶
func (se *StorageEndpoint) SaveMeta(meta *metapb.Cluster) error
SaveMeta save cluster meta to the storage. This method will only be used by the PD server, so we should only implement it for the etcd storage.
func (*StorageEndpoint) SaveMinResolvedTS ¶
func (se *StorageEndpoint) SaveMinResolvedTS(minResolvedTS uint64) error
SaveMinResolvedTS saves the min resolved ts.
func (*StorageEndpoint) SaveRegion ¶
func (se *StorageEndpoint) SaveRegion(region *metapb.Region) error
SaveRegion saves one region to storage.
func (*StorageEndpoint) SaveRegionRule ¶
func (se *StorageEndpoint) SaveRegionRule(ruleKey string, rule interface{}) error
SaveRegionRule saves a region rule to the storage.
func (*StorageEndpoint) SaveReplicationStatus ¶
func (se *StorageEndpoint) SaveReplicationStatus(mode string, status interface{}) error
SaveReplicationStatus stores replication status by mode.
func (*StorageEndpoint) SaveResourceGroupSetting ¶
func (se *StorageEndpoint) SaveResourceGroupSetting(name string, msg proto.Message) error
SaveResourceGroupSetting stores a resource group to storage.
func (*StorageEndpoint) SaveResourceGroupStates ¶
func (se *StorageEndpoint) SaveResourceGroupStates(name string, obj interface{}) error
SaveResourceGroupStates stores a resource group to storage.
func (*StorageEndpoint) SaveRule ¶
func (se *StorageEndpoint) SaveRule(ruleKey string, rule interface{}) error
SaveRule stores a rule cfg to the rulesPath.
func (*StorageEndpoint) SaveRuleGroup ¶
func (se *StorageEndpoint) SaveRuleGroup(groupID string, group interface{}) error
SaveRuleGroup stores a rule group config to storage.
func (*StorageEndpoint) SaveScheduleConfig ¶
func (se *StorageEndpoint) SaveScheduleConfig(scheduleName string, data []byte) error
SaveScheduleConfig saves the config of scheduler.
func (*StorageEndpoint) SaveServiceGCSafePoint ¶
func (se *StorageEndpoint) SaveServiceGCSafePoint(ssp *ServiceSafePoint) error
SaveServiceGCSafePoint saves a GC safepoint for the service
func (*StorageEndpoint) SaveServiceMiddlewareConfig ¶
func (se *StorageEndpoint) SaveServiceMiddlewareConfig(cfg interface{}) error
SaveServiceMiddlewareConfig stores marshallable cfg to the serviceMiddlewarePath.
func (*StorageEndpoint) SaveServiceSafePoint ¶
func (se *StorageEndpoint) SaveServiceSafePoint(spaceID string, ssp *ServiceSafePoint) error
SaveServiceSafePoint saves service safe point under given key-space.
func (*StorageEndpoint) SaveStore ¶
func (se *StorageEndpoint) SaveStore(store *metapb.Store) error
SaveStore saves one store to storage.
func (*StorageEndpoint) SaveStoreWeight ¶
func (se *StorageEndpoint) SaveStoreWeight(storeID uint64, leader, region float64) error
SaveStoreWeight saves a store's leader and region weight to storage.
func (*StorageEndpoint) SaveTimestamp ¶
func (se *StorageEndpoint) SaveTimestamp(key string, ts time.Time) error
SaveTimestamp saves the timestamp to the storage.
type TSOStorage ¶
type TSOStorage interface { LoadTimestamp(prefix string) (time.Time, error) SaveTimestamp(key string, ts time.Time) error }
TSOStorage is the interface for timestamp storage.
type UserKind ¶
type UserKind int
UserKind represents the user kind.
func StringUserKind ¶
StringUserKind creates a UserKind with string.