@@ -116,6 +116,7 @@ func NewCluster(lg *zap.Logger, opts ...ClusterOption) *RaftCluster {
116
116
removed : make (map [types.ID ]bool ),
117
117
downgradeInfo : & serverversion.DowngradeInfo {Enabled : false },
118
118
maxLearners : clOpts .maxLearners ,
119
+ v2store : v2store .New (),
119
120
}
120
121
}
121
122
@@ -257,17 +258,9 @@ func (c *RaftCluster) SetVersionChangedNotifier(n *notify.Notifier) {
257
258
}
258
259
259
260
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
- }
261
+ c .version = c .be .ClusterVersionFromBackend ()
262
+ c .members , c .removed = c .be .MustReadMembersFromBackend ()
263
+ c .downgradeInfo = c .be .DowngradeInfoFromBackend ()
271
264
}
272
265
273
266
func (c * RaftCluster ) Recover (onSet func (* zap.Logger , * semver.Version )) {
@@ -400,9 +393,7 @@ func (c *RaftCluster) ValidateConfigurationChange(cc raftpb.ConfChange) error {
400
393
func (c * RaftCluster ) AddMember (m * Member , shouldApplyV3 ShouldApplyV3 ) {
401
394
c .Lock ()
402
395
defer c .Unlock ()
403
- if c .v2store != nil {
404
- mustSaveMemberToStore (c .lg , c .v2store , m )
405
- }
396
+ mustSaveMemberToStore (c .lg , c .v2store , m )
406
397
407
398
if m .ID == c .localID {
408
399
setIsLearnerMetric (m )
@@ -438,9 +429,8 @@ func (c *RaftCluster) AddMember(m *Member, shouldApplyV3 ShouldApplyV3) {
438
429
func (c * RaftCluster ) RemoveMember (id types.ID , shouldApplyV3 ShouldApplyV3 ) {
439
430
c .Lock ()
440
431
defer c .Unlock ()
441
- if c .v2store != nil {
442
- mustDeleteMemberFromStore (c .lg , c .v2store , id )
443
- }
432
+ mustDeleteMemberFromStore (c .lg , c .v2store , id )
433
+
444
434
if c .be != nil && shouldApplyV3 {
445
435
c .be .MustDeleteMemberFromBackend (id )
446
436
@@ -482,9 +472,8 @@ func (c *RaftCluster) UpdateAttributes(id types.ID, attr Attributes, shouldApply
482
472
483
473
if m , ok := c .members [id ]; ok {
484
474
m .Attributes = attr
485
- if c .v2store != nil {
486
- mustUpdateMemberAttrInStore (c .lg , c .v2store , m )
487
- }
475
+ mustUpdateMemberAttrInStore (c .lg , c .v2store , m )
476
+
488
477
if c .be != nil && shouldApplyV3 {
489
478
c .be .MustSaveMemberToBackend (m )
490
479
}
@@ -514,11 +503,9 @@ func (c *RaftCluster) PromoteMember(id types.ID, shouldApplyV3 ShouldApplyV3) {
514
503
c .Lock ()
515
504
defer c .Unlock ()
516
505
517
- if c .v2store != nil {
518
- m := * (c .members [id ])
519
- m .RaftAttributes .IsLearner = false
520
- mustUpdateMemberInStore (c .lg , c .v2store , & m )
521
- }
506
+ m := * (c .members [id ])
507
+ m .RaftAttributes .IsLearner = false
508
+ mustUpdateMemberInStore (c .lg , c .v2store , & m )
522
509
523
510
if id == c .localID {
524
511
isLearner .Set (0 )
@@ -548,11 +535,10 @@ func (c *RaftCluster) UpdateRaftAttributes(id types.ID, raftAttr RaftAttributes,
548
535
c .Lock ()
549
536
defer c .Unlock ()
550
537
551
- if c .v2store != nil {
552
- m := * (c .members [id ])
553
- m .RaftAttributes = raftAttr
554
- mustUpdateMemberInStore (c .lg , c .v2store , & m )
555
- }
538
+ m := * (c .members [id ])
539
+ m .RaftAttributes = raftAttr
540
+ mustUpdateMemberInStore (c .lg , c .v2store , & m )
541
+
556
542
if c .be != nil && shouldApplyV3 {
557
543
c .members [id ].RaftAttributes = raftAttr
558
544
c .be .MustSaveMemberToBackend (c .members [id ])
@@ -609,9 +595,9 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*zap.Logger, *s
609
595
c .version = ver
610
596
sv := semver .Must (semver .NewVersion (version .Version ))
611
597
serverversion .MustDetectDowngrade (c .lg , sv , c .version )
612
- if c . v2store != nil {
613
- mustSaveClusterVersionToStore (c .lg , c .v2store , ver )
614
- }
598
+
599
+ mustSaveClusterVersionToStore (c .lg , c .v2store , ver )
600
+
615
601
if c .be != nil && shouldApplyV3 {
616
602
c .be .MustSaveClusterVersionToBackend (ver )
617
603
}
0 commit comments