Explorar o código

etcdserver: leader should stepdown when lose quorum for v3

Xiang Li %!s(int64=10) %!d(string=hai) anos
pai
achega
2a28ac7ad4
Modificáronse 1 ficheiros con 10 adicións e 0 borrados
  1. 10 0
      etcdserver/raft.go

+ 10 - 0
etcdserver/raft.go

@@ -313,6 +313,11 @@ func startNode(cfg *ServerConfig, cl *cluster, ids []types.ID) (id types.ID, n r
 		MaxSizePerMsg:   maxSizePerMsg,
 		MaxInflightMsgs: maxInflightMsgs,
 	}
+
+	if cfg.V3demo {
+		c.CheckQuorum = true
+	}
+
 	n = raft.StartNode(c, peers)
 	raftStatusMu.Lock()
 	raftStatus = n.Status
@@ -345,6 +350,11 @@ func restartNode(cfg *ServerConfig, snapshot *raftpb.Snapshot) (types.ID, *clust
 		MaxSizePerMsg:   maxSizePerMsg,
 		MaxInflightMsgs: maxInflightMsgs,
 	}
+
+	if cfg.V3demo {
+		c.CheckQuorum = true
+	}
+
 	n := raft.RestartNode(c)
 	raftStatusMu.Lock()
 	raftStatus = n.Status