Skip to content

Commit e917d28

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

File tree

4 files changed

+18
-28
lines changed

4 files changed

+18
-28
lines changed

server/etcdserver/api/membership/cluster.go

+16-23
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ func NewCluster(lg *zap.Logger, opts ...ClusterOption) *RaftCluster {
116116
removed: make(map[types.ID]bool),
117117
downgradeInfo: &serverversion.DowngradeInfo{Enabled: false},
118118
maxLearners: clOpts.maxLearners,
119+
v2store: v2store.New(),
119120
}
120121
}
121122

@@ -269,7 +270,6 @@ func (c *RaftCluster) UnsafeLoad() {
269270
c.downgradeInfo = c.be.DowngradeInfoFromBackend()
270271
}
271272
}
272-
273273
func (c *RaftCluster) Recover(onSet func(*zap.Logger, *semver.Version)) {
274274
c.Lock()
275275
defer c.Unlock()
@@ -400,9 +400,7 @@ func (c *RaftCluster) ValidateConfigurationChange(cc raftpb.ConfChange) error {
400400
func (c *RaftCluster) AddMember(m *Member, shouldApplyV3 ShouldApplyV3) {
401401
c.Lock()
402402
defer c.Unlock()
403-
if c.v2store != nil {
404-
mustSaveMemberToStore(c.lg, c.v2store, m)
405-
}
403+
mustSaveMemberToStore(c.lg, c.v2store, m)
406404

407405
if m.ID == c.localID {
408406
setIsLearnerMetric(m)
@@ -438,9 +436,8 @@ func (c *RaftCluster) AddMember(m *Member, shouldApplyV3 ShouldApplyV3) {
438436
func (c *RaftCluster) RemoveMember(id types.ID, shouldApplyV3 ShouldApplyV3) {
439437
c.Lock()
440438
defer c.Unlock()
441-
if c.v2store != nil {
442-
mustDeleteMemberFromStore(c.lg, c.v2store, id)
443-
}
439+
mustDeleteMemberFromStore(c.lg, c.v2store, id)
440+
444441
if c.be != nil && shouldApplyV3 {
445442
c.be.MustDeleteMemberFromBackend(id)
446443

@@ -482,9 +479,8 @@ func (c *RaftCluster) UpdateAttributes(id types.ID, attr Attributes, shouldApply
482479

483480
if m, ok := c.members[id]; ok {
484481
m.Attributes = attr
485-
if c.v2store != nil {
486-
mustUpdateMemberAttrInStore(c.lg, c.v2store, m)
487-
}
482+
mustUpdateMemberAttrInStore(c.lg, c.v2store, m)
483+
488484
if c.be != nil && shouldApplyV3 {
489485
c.be.MustSaveMemberToBackend(m)
490486
}
@@ -514,11 +510,9 @@ func (c *RaftCluster) PromoteMember(id types.ID, shouldApplyV3 ShouldApplyV3) {
514510
c.Lock()
515511
defer c.Unlock()
516512

517-
if c.v2store != nil {
518-
m := *(c.members[id])
519-
m.RaftAttributes.IsLearner = false
520-
mustUpdateMemberInStore(c.lg, c.v2store, &m)
521-
}
513+
m := *(c.members[id])
514+
m.RaftAttributes.IsLearner = false
515+
mustUpdateMemberInStore(c.lg, c.v2store, &m)
522516

523517
if id == c.localID {
524518
isLearner.Set(0)
@@ -548,11 +542,10 @@ func (c *RaftCluster) UpdateRaftAttributes(id types.ID, raftAttr RaftAttributes,
548542
c.Lock()
549543
defer c.Unlock()
550544

551-
if c.v2store != nil {
552-
m := *(c.members[id])
553-
m.RaftAttributes = raftAttr
554-
mustUpdateMemberInStore(c.lg, c.v2store, &m)
555-
}
545+
m := *(c.members[id])
546+
m.RaftAttributes = raftAttr
547+
mustUpdateMemberInStore(c.lg, c.v2store, &m)
548+
556549
if c.be != nil && shouldApplyV3 {
557550
c.members[id].RaftAttributes = raftAttr
558551
c.be.MustSaveMemberToBackend(c.members[id])
@@ -609,9 +602,9 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*zap.Logger, *s
609602
c.version = ver
610603
sv := semver.Must(semver.NewVersion(version.Version))
611604
serverversion.MustDetectDowngrade(c.lg, sv, c.version)
612-
if c.v2store != nil {
613-
mustSaveClusterVersionToStore(c.lg, c.v2store, ver)
614-
}
605+
606+
mustSaveClusterVersionToStore(c.lg, c.v2store, ver)
607+
615608
if c.be != nil && shouldApplyV3 {
616609
c.be.MustSaveClusterVersionToBackend(ver)
617610
}

server/etcdserver/api/membership/cluster_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,7 @@ 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{lg: zaptest.NewLogger(t), members: make(map[types.ID]*Member), removed: make(map[types.ID]bool), v2store: v2store.New()}
657657
for _, m := range membs {
658658
c.members[m.ID] = m
659659
}

server/etcdserver/api/membership/membership_test.go

-4
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ func TestAddRemoveMember(t *testing.T) {
3434
c.AddMember(newTestMember(18, nil, "node18", nil), true)
3535
c.RemoveMember(18, true)
3636

37-
// Skipping removal of already removed member
38-
c.RemoveMember(17, true)
39-
c.RemoveMember(18, true)
40-
4137
c.AddMember(newTestMember(19, nil, "node19", nil), true)
4238

4339
// Recover from backend

server/etcdserver/server_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -1521,6 +1521,7 @@ func newTestCluster(t testing.TB) *membership.RaftCluster {
15211521
func newTestClusterWithBackend(t testing.TB, membs []*membership.Member, be backend.Backend) *membership.RaftCluster {
15221522
lg := zaptest.NewLogger(t)
15231523
c := membership.NewCluster(lg)
1524+
c.SetStore(v2store.New())
15241525
c.SetBackend(schema.NewMembershipBackend(lg, be))
15251526
for _, m := range membs {
15261527
c.AddMember(m, true)

0 commit comments

Comments
 (0)