endpoint

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2023 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
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
)
View Source
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

func AppendToRootPath(rootPath string, key string) string

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

func ClusterRootPath(rootPath string) string

ClusterRootPath appends the `clusterPath` to the rootPath.

func ExternalTimestampPath

func ExternalTimestampPath() string

ExternalTimestampPath returns the external timestamp path.

func ExtractKeyspaceGroupIDFromPath

func ExtractKeyspaceGroupIDFromPath(path string) (uint32, error)

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

func IsUserKindValid(kind string) bool

IsUserKindValid checks if the user kind is valid.

func KeyspaceGCSafePointPath

func KeyspaceGCSafePointPath(spaceID string) string

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

func KeyspaceGroupIDPath(id uint32) string

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

func KeyspaceIDPath(name string) string

KeyspaceIDPath returns the path to keyspace id from the given name. Path: keyspaces/id/{name}

func KeyspaceMetaPath

func KeyspaceMetaPath(spaceID uint32) string

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

func KeyspaceServiceSafePointPath(spaceID, serviceID string) string

KeyspaceServiceSafePointPath returns the path of given service's service safe point. Path: /keyspaces/gc_safepoint/{space_id}/service/{service_id}

func KeyspaceServiceSafePointPrefix

func KeyspaceServiceSafePointPrefix(spaceID string) string

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

func RegionPath(regionID uint64) string

RegionPath returns the region meta info key path with the given region ID.

func StorePath

func StorePath(storeID uint64) string

StorePath returns the store meta info key path with the given store 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

type StorageEndpoint struct {
	kv.Base
	// contains filtered or unexported fields
}

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

func (se *StorageEndpoint) LoadKeyspaceID(txn kv.Txn, name string) (bool, uint32, error)

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

func (se *StorageEndpoint) LoadRegion(regionID uint64, region *metapb.Region) (ok bool, err error)

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) LoadStore

func (se *StorageEndpoint) LoadStore(storeID uint64, store *metapb.Store) (bool, error)

LoadStore loads one store from storage.

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) RunInTxn

func (se *StorageEndpoint) RunInTxn(ctx context.Context, f func(txn kv.Txn) error) error

RunInTxn runs the given function in a transaction.

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

func (se *StorageEndpoint) SaveKeyspaceID(txn kv.Txn, id uint32, name string) error

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.

const (
	Basic UserKind = iota
	Standard
	Enterprise

	UserKindCount
)

Different user kinds.

func StringUserKind

func StringUserKind(input string) UserKind

StringUserKind creates a UserKind with string.

func (UserKind) String

func (k UserKind) String() string

Jump to

Keyboard shortcuts

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