Skip to content

Commit 247de30

Browse files
committed
Assume v3 store is always not nil
Signed-off-by: Marek Siarkowicz <[email protected]>
1 parent 839985d commit 247de30

File tree

4 files changed

+17
-34
lines changed

4 files changed

+17
-34
lines changed

server/etcdserver/api/membership/cluster.go

+10-18
Original file line numberDiff line numberDiff line change
@@ -257,17 +257,9 @@ func (c *RaftCluster) SetVersionChangedNotifier(n *notify.Notifier) {
257257
}
258258

259259
func (c *RaftCluster) UnsafeLoad() {
260-
if c.be != nil {
261-
c.version = c.be.ClusterVersionFromBackend()
262-
c.members, c.removed = c.be.MustReadMembersFromBackend()
263-
} else {
264-
c.version = clusterVersionFromStore(c.lg, c.v2store)
265-
c.members, c.removed = membersFromStore(c.lg, c.v2store)
266-
}
267-
268-
if c.be != nil {
269-
c.downgradeInfo = c.be.DowngradeInfoFromBackend()
270-
}
260+
c.version = c.be.ClusterVersionFromBackend()
261+
c.members, c.removed = c.be.MustReadMembersFromBackend()
262+
c.downgradeInfo = c.be.DowngradeInfoFromBackend()
271263
}
272264

273265
func (c *RaftCluster) Recover(onSet func(*zap.Logger, *semver.Version)) {
@@ -408,7 +400,7 @@ func (c *RaftCluster) AddMember(m *Member, shouldApplyV3 ShouldApplyV3) {
408400
setIsLearnerMetric(m)
409401
}
410402

411-
if c.be != nil && shouldApplyV3 {
403+
if shouldApplyV3 {
412404
c.be.MustSaveMemberToBackend(m)
413405

414406
c.members[m.ID] = m
@@ -441,7 +433,7 @@ func (c *RaftCluster) RemoveMember(id types.ID, shouldApplyV3 ShouldApplyV3) {
441433
if c.v2store != nil {
442434
mustDeleteMemberFromStore(c.lg, c.v2store, id)
443435
}
444-
if c.be != nil && shouldApplyV3 {
436+
if shouldApplyV3 {
445437
c.be.MustDeleteMemberFromBackend(id)
446438

447439
m, ok := c.members[id]
@@ -485,7 +477,7 @@ func (c *RaftCluster) UpdateAttributes(id types.ID, attr Attributes, shouldApply
485477
if c.v2store != nil {
486478
mustUpdateMemberAttrInStore(c.lg, c.v2store, m)
487479
}
488-
if c.be != nil && shouldApplyV3 {
480+
if shouldApplyV3 {
489481
c.be.MustSaveMemberToBackend(m)
490482
}
491483
return
@@ -524,7 +516,7 @@ func (c *RaftCluster) PromoteMember(id types.ID, shouldApplyV3 ShouldApplyV3) {
524516
isLearner.Set(0)
525517
}
526518

527-
if c.be != nil && shouldApplyV3 {
519+
if shouldApplyV3 {
528520
c.members[id].RaftAttributes.IsLearner = false
529521
c.updateMembershipMetric(id, true)
530522
c.be.MustSaveMemberToBackend(c.members[id])
@@ -553,7 +545,7 @@ func (c *RaftCluster) UpdateRaftAttributes(id types.ID, raftAttr RaftAttributes,
553545
m.RaftAttributes = raftAttr
554546
mustUpdateMemberInStore(c.lg, c.v2store, &m)
555547
}
556-
if c.be != nil && shouldApplyV3 {
548+
if shouldApplyV3 {
557549
c.members[id].RaftAttributes = raftAttr
558550
c.be.MustSaveMemberToBackend(c.members[id])
559551

@@ -612,7 +604,7 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*zap.Logger, *s
612604
if c.v2store != nil {
613605
mustSaveClusterVersionToStore(c.lg, c.v2store, ver)
614606
}
615-
if c.be != nil && shouldApplyV3 {
607+
if shouldApplyV3 {
616608
c.be.MustSaveClusterVersionToBackend(ver)
617609
}
618610
if oldVer != nil {
@@ -814,7 +806,7 @@ func (c *RaftCluster) SetDowngradeInfo(d *serverversion.DowngradeInfo, shouldApp
814806
c.Lock()
815807
defer c.Unlock()
816808

817-
if c.be != nil && shouldApplyV3 {
809+
if shouldApplyV3 {
818810
c.be.MustSaveDowngradeToBackend(d)
819811
}
820812

server/etcdserver/api/membership/cluster_test.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,12 @@ func TestNodeToMember(t *testing.T) {
653653
}
654654

655655
func newTestCluster(t testing.TB, membs []*Member) *RaftCluster {
656-
c := &RaftCluster{lg: zaptest.NewLogger(t), members: make(map[types.ID]*Member), removed: make(map[types.ID]bool)}
656+
c := &RaftCluster{
657+
lg: zaptest.NewLogger(t),
658+
members: make(map[types.ID]*Member),
659+
removed: make(map[types.ID]bool),
660+
be: newMembershipBackend(),
661+
}
657662
for _, m := range membs {
658663
c.members[m.ID] = m
659664
}

server/etcdserver/api/membership/storev2.go

-15
Original file line numberDiff line numberDiff line change
@@ -183,18 +183,3 @@ func MemberStoreKey(id types.ID) string {
183183
func MemberAttributesStorePath(id types.ID) string {
184184
return path.Join(MemberStoreKey(id), attributesSuffix)
185185
}
186-
187-
func clusterVersionFromStore(lg *zap.Logger, st v2store.Store) *semver.Version {
188-
e, err := st.Get(path.Join(storePrefix, "version"), false, false)
189-
if err != nil {
190-
if isKeyNotFound(err) {
191-
return nil
192-
}
193-
lg.Panic(
194-
"failed to get cluster version from store",
195-
zap.String("path", path.Join(storePrefix, "version")),
196-
zap.Error(err),
197-
)
198-
}
199-
return semver.Must(semver.NewVersion(*e.Node.Value))
200-
}

server/etcdserver/apply/uber_applier_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ func defaultUberApplier(t *testing.T) UberApplier {
4545
})
4646

4747
cluster := membership.NewCluster(lg)
48+
cluster.SetBackend(schema.NewMembershipBackend(lg, be))
4849
cluster.AddMember(&membership.Member{ID: memberID}, true)
4950
lessor := lease.NewLessor(lg, be, cluster, lease.LessorConfig{})
5051
kv := mvcc.NewStore(lg, be, lessor, mvcc.StoreConfig{})

0 commit comments

Comments
 (0)