Versions in this module Expand all Collapse all v0 v0.1.0 Jun 15, 2023 Changes in this version + const AllocLabel + const AllocStep + const DefaultKeyspaceID + const DefaultKeyspaceName + const TSOKeyspaceGroupIDKey + const UserKindKey + var ErrKeyspaceExists = errors.New("keyspace already exists") + var ErrKeyspaceGroupExists = errors.New("keyspace group already exists") + var ErrKeyspaceGroupInSplit = errors.New("keyspace group is in split state") + var ErrKeyspaceGroupNotExists = errors.New("keyspace group does not exist") + var ErrKeyspaceGroupNotInSplit = errors.New("keyspace group is not in split state") + var ErrKeyspaceNotFound = errors.New("keyspace does not exist") + var ErrKeyspaceNotInKeyspaceGroup = errors.New("keyspace is not in this keyspace group") + var ErrNoAvailableNode = errors.New("no available node") + type Config interface + GetPreAlloc func() []string + type CreateKeyspaceRequest struct + Config map[string]string + CreateTime int64 + Name string + type GroupManager struct + func NewKeyspaceGroupManager(ctx context.Context, store endpoint.KeyspaceGroupStorage, ...) *GroupManager + func (m *GroupManager) AllocNodesForKeyspaceGroup(id uint32, replica int) ([]endpoint.KeyspaceGroupMember, error) + func (m *GroupManager) Bootstrap() error + func (m *GroupManager) Close() + func (m *GroupManager) CreateKeyspaceGroups(keyspaceGroups []*endpoint.KeyspaceGroup) error + func (m *GroupManager) DeleteKeyspaceGroupByID(id uint32) (*endpoint.KeyspaceGroup, error) + func (m *GroupManager) FinishSplitKeyspaceByID(splitTargetID uint32) error + func (m *GroupManager) GetKeyspaceConfigByKind(userKind endpoint.UserKind) (map[string]string, error) + func (m *GroupManager) GetKeyspaceGroupByID(id uint32) (*endpoint.KeyspaceGroup, error) + func (m *GroupManager) GetKeyspaceGroups(startID uint32, limit int) ([]*endpoint.KeyspaceGroup, error) + func (m *GroupManager) GetNodesNum() int + func (m *GroupManager) SplitKeyspaceGroupByID(splitSourceID, splitTargetID uint32, keyspaces []uint32) error + func (m *GroupManager) UpdateKeyspaceForGroup(userKind endpoint.UserKind, groupID string, keyspaceID uint32, mutation int) error + func (m *GroupManager) UpdateKeyspaceGroup(oldGroupID, newGroupID string, oldUserKind, newUserKind endpoint.UserKind, ...) error + type Manager struct + func NewKeyspaceManager(store endpoint.KeyspaceStorage, cluster schedule.Cluster, ...) *Manager + func (manager *Manager) Bootstrap() error + func (manager *Manager) CreateKeyspace(request *CreateKeyspaceRequest) (*keyspacepb.KeyspaceMeta, error) + func (manager *Manager) LoadKeyspace(name string) (*keyspacepb.KeyspaceMeta, error) + func (manager *Manager) LoadKeyspaceByID(spaceID uint32) (*keyspacepb.KeyspaceMeta, error) + func (manager *Manager) LoadRangeKeyspace(startID uint32, limit int) ([]*keyspacepb.KeyspaceMeta, error) + func (manager *Manager) UpdateKeyspaceConfig(name string, mutations []*Mutation) (*keyspacepb.KeyspaceMeta, error) + func (manager *Manager) UpdateKeyspaceState(name string, newState keyspacepb.KeyspaceState, now int64) (*keyspacepb.KeyspaceMeta, error) + func (manager *Manager) UpdateKeyspaceStateByID(id uint32, newState keyspacepb.KeyspaceState, now int64) (*keyspacepb.KeyspaceMeta, error) + type Mutation struct + Key string + Op OpType + Value string + type OpType int + const OpDel + const OpPut