Skip to content

Commit a420791

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

File tree

4 files changed

+18
-27
lines changed

4 files changed

+18
-27
lines changed

server/etcdserver/api/membership/cluster.go

+16-22
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

@@ -400,9 +401,7 @@ func (c *RaftCluster) ValidateConfigurationChange(cc raftpb.ConfChange) error {
400401
func (c *RaftCluster) AddMember(m *Member, shouldApplyV3 ShouldApplyV3) {
401402
c.Lock()
402403
defer c.Unlock()
403-
if c.v2store != nil {
404-
mustSaveMemberToStore(c.lg, c.v2store, m)
405-
}
404+
mustSaveMemberToStore(c.lg, c.v2store, m)
406405

407406
if m.ID == c.localID {
408407
setIsLearnerMetric(m)
@@ -438,9 +437,8 @@ func (c *RaftCluster) AddMember(m *Member, shouldApplyV3 ShouldApplyV3) {
438437
func (c *RaftCluster) RemoveMember(id types.ID, shouldApplyV3 ShouldApplyV3) {
439438
c.Lock()
440439
defer c.Unlock()
441-
if c.v2store != nil {
442-
mustDeleteMemberFromStore(c.lg, c.v2store, id)
443-
}
440+
mustDeleteMemberFromStore(c.lg, c.v2store, id)
441+
444442
if c.be != nil && shouldApplyV3 {
445443
c.be.MustDeleteMemberFromBackend(id)
446444

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

483481
if m, ok := c.members[id]; ok {
484482
m.Attributes = attr
485-
if c.v2store != nil {
486-
mustUpdateMemberAttrInStore(c.lg, c.v2store, m)
487-
}
483+
mustUpdateMemberAttrInStore(c.lg, c.v2store, m)
484+
488485
if c.be != nil && shouldApplyV3 {
489486
c.be.MustSaveMemberToBackend(m)
490487
}
@@ -514,11 +511,9 @@ func (c *RaftCluster) PromoteMember(id types.ID, shouldApplyV3 ShouldApplyV3) {
514511
c.Lock()
515512
defer c.Unlock()
516513

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

523518
if id == c.localID {
524519
isLearner.Set(0)
@@ -548,11 +543,10 @@ func (c *RaftCluster) UpdateRaftAttributes(id types.ID, raftAttr RaftAttributes,
548543
c.Lock()
549544
defer c.Unlock()
550545

551-
if c.v2store != nil {
552-
m := *(c.members[id])
553-
m.RaftAttributes = raftAttr
554-
mustUpdateMemberInStore(c.lg, c.v2store, &m)
555-
}
546+
m := *(c.members[id])
547+
m.RaftAttributes = raftAttr
548+
mustUpdateMemberInStore(c.lg, c.v2store, &m)
549+
556550
if c.be != nil && shouldApplyV3 {
557551
c.members[id].RaftAttributes = raftAttr
558552
c.be.MustSaveMemberToBackend(c.members[id])
@@ -609,9 +603,9 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*zap.Logger, *s
609603
c.version = ver
610604
sv := semver.Must(semver.NewVersion(version.Version))
611605
serverversion.MustDetectDowngrade(c.lg, sv, c.version)
612-
if c.v2store != nil {
613-
mustSaveClusterVersionToStore(c.lg, c.v2store, ver)
614-
}
606+
607+
mustSaveClusterVersionToStore(c.lg, c.v2store, ver)
608+
615609
if c.be != nil && shouldApplyV3 {
616610
c.be.MustSaveClusterVersionToBackend(ver)
617611
}

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)