etcdserver: Rename membershipStore to membershipBackend
parent
2f31cc3fbc
commit
6cd3633543
|
@ -311,7 +311,7 @@ func saveDB(lg *zap.Logger, destDB, srcDB string, idx uint64, term uint64, desir
|
||||||
|
|
||||||
be := backend.NewDefaultBackend(destDB)
|
be := backend.NewDefaultBackend(destDB)
|
||||||
defer be.Close()
|
defer be.Close()
|
||||||
ms := schema.NewMembershipStore(lg, be)
|
ms := schema.NewMembershipBackend(lg, be)
|
||||||
if err := ms.TrimClusterFromBackend(); err != nil {
|
if err := ms.TrimClusterFromBackend(); err != nil {
|
||||||
lg.Fatal("bbolt tx.Membership failed", zap.Error(err))
|
lg.Fatal("bbolt tx.Membership failed", zap.Error(err))
|
||||||
}
|
}
|
||||||
|
|
|
@ -306,7 +306,7 @@ func (s *v3Manager) saveDB() error {
|
||||||
be := backend.NewDefaultBackend(s.outDbPath())
|
be := backend.NewDefaultBackend(s.outDbPath())
|
||||||
defer be.Close()
|
defer be.Close()
|
||||||
|
|
||||||
err = schema.NewMembershipStore(s.lg, be).TrimMembershipFromBackend()
|
err = schema.NewMembershipBackend(s.lg, be).TrimMembershipFromBackend()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -403,7 +403,7 @@ func (s *v3Manager) saveWALAndSnap() (*raftpb.HardState, error) {
|
||||||
s.cl.SetStore(st)
|
s.cl.SetStore(st)
|
||||||
be := backend.NewDefaultBackend(s.outDbPath())
|
be := backend.NewDefaultBackend(s.outDbPath())
|
||||||
defer be.Close()
|
defer be.Close()
|
||||||
s.cl.SetBackend(schema.NewMembershipStore(s.lg, be))
|
s.cl.SetBackend(schema.NewMembershipBackend(s.lg, be))
|
||||||
for _, m := range s.cl.Members() {
|
for _, m := range s.cl.Members() {
|
||||||
s.cl.AddMember(m, true)
|
s.cl.AddMember(m, true)
|
||||||
}
|
}
|
||||||
|
|
|
@ -200,7 +200,7 @@ func bootstrapExistingClusterNoWAL(cfg config.ServerConfig, prt http.RoundTrippe
|
||||||
remotes := existingCluster.Members()
|
remotes := existingCluster.Members()
|
||||||
cl.SetID(types.ID(0), existingCluster.ID())
|
cl.SetID(types.ID(0), existingCluster.ID())
|
||||||
cl.SetStore(st)
|
cl.SetStore(st)
|
||||||
cl.SetBackend(schema.NewMembershipStore(cfg.Logger, be))
|
cl.SetBackend(schema.NewMembershipBackend(cfg.Logger, be))
|
||||||
br := bootstrapRaftFromCluster(cfg, cl, nil)
|
br := bootstrapRaftFromCluster(cfg, cl, nil)
|
||||||
cl.SetID(br.wal.id, existingCluster.ID())
|
cl.SetID(br.wal.id, existingCluster.ID())
|
||||||
return &bootstrappedServer{
|
return &bootstrappedServer{
|
||||||
|
@ -240,7 +240,7 @@ func bootstrapNewClusterNoWAL(cfg config.ServerConfig, prt http.RoundTripper, st
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cl.SetStore(st)
|
cl.SetStore(st)
|
||||||
cl.SetBackend(schema.NewMembershipStore(cfg.Logger, be))
|
cl.SetBackend(schema.NewMembershipBackend(cfg.Logger, be))
|
||||||
br := bootstrapRaftFromCluster(cfg, cl, cl.MemberIDs())
|
br := bootstrapRaftFromCluster(cfg, cl, cl.MemberIDs())
|
||||||
cl.SetID(br.wal.id, cl.ID())
|
cl.SetID(br.wal.id, cl.ID())
|
||||||
return &bootstrappedServer{
|
return &bootstrappedServer{
|
||||||
|
@ -330,7 +330,7 @@ func bootstrapWithWAL(cfg config.ServerConfig, st v2store.Store, be backend.Back
|
||||||
}
|
}
|
||||||
|
|
||||||
r.raft.cl.SetStore(st)
|
r.raft.cl.SetStore(st)
|
||||||
r.raft.cl.SetBackend(schema.NewMembershipStore(cfg.Logger, be))
|
r.raft.cl.SetBackend(schema.NewMembershipBackend(cfg.Logger, be))
|
||||||
r.raft.cl.Recover(api.UpdateCapability)
|
r.raft.cl.Recover(api.UpdateCapability)
|
||||||
if r.raft.cl.Version() != nil && !r.raft.cl.Version().LessThan(semver.Version{Major: 3}) && !beExist {
|
if r.raft.cl.Version() != nil && !r.raft.cl.Version().LessThan(semver.Version{Major: 3}) && !beExist {
|
||||||
bepath := cfg.BackendPath()
|
bepath := cfg.BackendPath()
|
||||||
|
|
|
@ -1075,7 +1075,7 @@ func (s *EtcdServer) applySnapshot(ep *etcdProgress, apply *apply) {
|
||||||
|
|
||||||
lg.Info("restored v2 store")
|
lg.Info("restored v2 store")
|
||||||
|
|
||||||
s.cluster.SetBackend(schema.NewMembershipStore(lg, newbe))
|
s.cluster.SetBackend(schema.NewMembershipBackend(lg, newbe))
|
||||||
|
|
||||||
lg.Info("restoring cluster configuration")
|
lg.Info("restoring cluster configuration")
|
||||||
|
|
||||||
|
|
|
@ -31,19 +31,19 @@ const (
|
||||||
MemberRaftAttributesSuffix = "raftAttributes"
|
MemberRaftAttributesSuffix = "raftAttributes"
|
||||||
)
|
)
|
||||||
|
|
||||||
type membershipStore struct {
|
type membershipBackend struct {
|
||||||
lg *zap.Logger
|
lg *zap.Logger
|
||||||
be backend.Backend
|
be backend.Backend
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewMembershipStore(lg *zap.Logger, be backend.Backend) *membershipStore {
|
func NewMembershipBackend(lg *zap.Logger, be backend.Backend) *membershipBackend {
|
||||||
return &membershipStore{
|
return &membershipBackend{
|
||||||
lg: lg,
|
lg: lg,
|
||||||
be: be,
|
be: be,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *membershipStore) MustSaveMemberToBackend(m *membership.Member) {
|
func (s *membershipBackend) MustSaveMemberToBackend(m *membership.Member) {
|
||||||
mkey := BackendMemberKey(m.ID)
|
mkey := BackendMemberKey(m.ID)
|
||||||
mvalue, err := json.Marshal(m)
|
mvalue, err := json.Marshal(m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -58,7 +58,7 @@ func (s *membershipStore) MustSaveMemberToBackend(m *membership.Member) {
|
||||||
|
|
||||||
// TrimClusterFromBackend removes all information about cluster (versions)
|
// TrimClusterFromBackend removes all information about cluster (versions)
|
||||||
// from the v3 backend.
|
// from the v3 backend.
|
||||||
func (s *membershipStore) TrimClusterFromBackend() error {
|
func (s *membershipBackend) TrimClusterFromBackend() error {
|
||||||
tx := s.be.BatchTx()
|
tx := s.be.BatchTx()
|
||||||
tx.Lock()
|
tx.Lock()
|
||||||
defer tx.Unlock()
|
defer tx.Unlock()
|
||||||
|
@ -66,7 +66,7 @@ func (s *membershipStore) TrimClusterFromBackend() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *membershipStore) MustDeleteMemberFromBackend(id types.ID) {
|
func (s *membershipBackend) MustDeleteMemberFromBackend(id types.ID) {
|
||||||
mkey := BackendMemberKey(id)
|
mkey := BackendMemberKey(id)
|
||||||
|
|
||||||
tx := s.be.BatchTx()
|
tx := s.be.BatchTx()
|
||||||
|
@ -76,7 +76,7 @@ func (s *membershipStore) MustDeleteMemberFromBackend(id types.ID) {
|
||||||
tx.UnsafePut(MembersRemoved, mkey, []byte("removed"))
|
tx.UnsafePut(MembersRemoved, mkey, []byte("removed"))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *membershipStore) MustReadMembersFromBackend() (map[types.ID]*membership.Member, map[types.ID]bool) {
|
func (s *membershipBackend) MustReadMembersFromBackend() (map[types.ID]*membership.Member, map[types.ID]bool) {
|
||||||
members, removed, err := s.readMembersFromBackend()
|
members, removed, err := s.readMembersFromBackend()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.lg.Panic("couldn't read members from backend", zap.Error(err))
|
s.lg.Panic("couldn't read members from backend", zap.Error(err))
|
||||||
|
@ -84,7 +84,7 @@ func (s *membershipStore) MustReadMembersFromBackend() (map[types.ID]*membership
|
||||||
return members, removed
|
return members, removed
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *membershipStore) readMembersFromBackend() (map[types.ID]*membership.Member, map[types.ID]bool, error) {
|
func (s *membershipBackend) readMembersFromBackend() (map[types.ID]*membership.Member, map[types.ID]bool, error) {
|
||||||
members := make(map[types.ID]*membership.Member)
|
members := make(map[types.ID]*membership.Member)
|
||||||
removed := make(map[types.ID]bool)
|
removed := make(map[types.ID]bool)
|
||||||
|
|
||||||
|
@ -117,7 +117,7 @@ func (s *membershipStore) readMembersFromBackend() (map[types.ID]*membership.Mem
|
||||||
|
|
||||||
// TrimMembershipFromBackend removes all information about members &
|
// TrimMembershipFromBackend removes all information about members &
|
||||||
// removed_members from the v3 backend.
|
// removed_members from the v3 backend.
|
||||||
func (s *membershipStore) TrimMembershipFromBackend() error {
|
func (s *membershipBackend) TrimMembershipFromBackend() error {
|
||||||
s.lg.Info("Trimming membership information from the backend...")
|
s.lg.Info("Trimming membership information from the backend...")
|
||||||
tx := s.be.BatchTx()
|
tx := s.be.BatchTx()
|
||||||
tx.Lock()
|
tx.Lock()
|
||||||
|
@ -141,7 +141,7 @@ func (s *membershipStore) TrimMembershipFromBackend() error {
|
||||||
|
|
||||||
// MustSaveClusterVersionToBackend saves cluster version to backend.
|
// MustSaveClusterVersionToBackend saves cluster version to backend.
|
||||||
// The field is populated since etcd v3.5.
|
// The field is populated since etcd v3.5.
|
||||||
func (s *membershipStore) MustSaveClusterVersionToBackend(ver *semver.Version) {
|
func (s *membershipBackend) MustSaveClusterVersionToBackend(ver *semver.Version) {
|
||||||
ckey := ClusterClusterVersionKeyName
|
ckey := ClusterClusterVersionKeyName
|
||||||
|
|
||||||
tx := s.be.BatchTx()
|
tx := s.be.BatchTx()
|
||||||
|
@ -152,7 +152,7 @@ func (s *membershipStore) MustSaveClusterVersionToBackend(ver *semver.Version) {
|
||||||
|
|
||||||
// MustSaveDowngradeToBackend saves downgrade info to backend.
|
// MustSaveDowngradeToBackend saves downgrade info to backend.
|
||||||
// The field is populated since etcd v3.5.
|
// The field is populated since etcd v3.5.
|
||||||
func (s *membershipStore) MustSaveDowngradeToBackend(downgrade *membership.DowngradeInfo) {
|
func (s *membershipBackend) MustSaveDowngradeToBackend(downgrade *membership.DowngradeInfo) {
|
||||||
dkey := ClusterDowngradeKeyName
|
dkey := ClusterDowngradeKeyName
|
||||||
dvalue, err := json.Marshal(downgrade)
|
dvalue, err := json.Marshal(downgrade)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -164,7 +164,7 @@ func (s *membershipStore) MustSaveDowngradeToBackend(downgrade *membership.Downg
|
||||||
tx.UnsafePut(Cluster, dkey, dvalue)
|
tx.UnsafePut(Cluster, dkey, dvalue)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *membershipStore) MustCreateBackendBuckets() {
|
func (s *membershipBackend) MustCreateBackendBuckets() {
|
||||||
tx := s.be.BatchTx()
|
tx := s.be.BatchTx()
|
||||||
tx.Lock()
|
tx.Lock()
|
||||||
defer tx.Unlock()
|
defer tx.Unlock()
|
||||||
|
@ -183,7 +183,7 @@ func mustParseMemberIDFromBytes(lg *zap.Logger, key []byte) types.ID {
|
||||||
|
|
||||||
// ClusterVersionFromBackend reads cluster version from backend.
|
// ClusterVersionFromBackend reads cluster version from backend.
|
||||||
// The field is populated since etcd v3.5.
|
// The field is populated since etcd v3.5.
|
||||||
func (s *membershipStore) ClusterVersionFromBackend() *semver.Version {
|
func (s *membershipBackend) ClusterVersionFromBackend() *semver.Version {
|
||||||
ckey := ClusterClusterVersionKeyName
|
ckey := ClusterClusterVersionKeyName
|
||||||
tx := s.be.ReadTx()
|
tx := s.be.ReadTx()
|
||||||
tx.RLock()
|
tx.RLock()
|
||||||
|
@ -203,7 +203,7 @@ func (s *membershipStore) ClusterVersionFromBackend() *semver.Version {
|
||||||
|
|
||||||
// DowngradeInfoFromBackend reads downgrade info from backend.
|
// DowngradeInfoFromBackend reads downgrade info from backend.
|
||||||
// The field is populated since etcd v3.5.
|
// The field is populated since etcd v3.5.
|
||||||
func (s *membershipStore) DowngradeInfoFromBackend() *membership.DowngradeInfo {
|
func (s *membershipBackend) DowngradeInfoFromBackend() *membership.DowngradeInfo {
|
||||||
dkey := ClusterDowngradeKeyName
|
dkey := ClusterDowngradeKeyName
|
||||||
tx := s.be.ReadTx()
|
tx := s.be.ReadTx()
|
||||||
tx.Lock()
|
tx.Lock()
|
||||||
|
|
Loading…
Reference in New Issue