From 1d8954c48071b627c11409841bf14e3af2e01bb1 Mon Sep 17 00:00:00 2001 From: zzy96 Date: Wed, 14 Aug 2019 22:35:04 +0800 Subject: [PATCH] forceSnapshot on ConfChangeAddNode for single node scenario, fix issue 795 --- raft/handler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raft/handler.go b/raft/handler.go index fd22a02cc..d6e6c2d14 100755 --- a/raft/handler.go +++ b/raft/handler.go @@ -765,7 +765,7 @@ func (pm *ProtocolManager) eventLoop() { case raftpb.ConfChangeAddNode: if pm.isRaftIdRemoved(raftId) { log.Info("ignoring ConfChangeAddNode for permanently-removed peer", "raft id", raftId) - } else if peer := pm.peers[raftId]; peer != nil && raftId <= uint16(len(pm.bootstrapNodes)) { + } else if pm.isRaftIdUsed(raftId) && raftId <= uint16(len(pm.bootstrapNodes)) { // See initial cluster logic in startRaft() for more information. log.Info("ignoring expected ConfChangeAddNode for initial peer", "raft id", raftId)