From b42ed001492f9f0a30302527ba7e47d974fdb210 Mon Sep 17 00:00:00 2001 From: galal-hussein Date: Fri, 11 Sep 2020 21:17:06 +0200 Subject: [PATCH] Add ConfChangeAddLearnerNode to the list of config changes --- etcdserver/raft.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/etcdserver/raft.go b/etcdserver/raft.go index df08e3de3fe..a09d51d08c8 100644 --- a/etcdserver/raft.go +++ b/etcdserver/raft.go @@ -679,6 +679,7 @@ func restartAsStandaloneNode(cfg ServerConfig, snapshot *raftpb.Snapshot) (types // ID-related entry: // - ConfChangeAddNode, in which case the contained ID will be added into the set. // - ConfChangeRemoveNode, in which case the contained ID will be removed from the set. +// - ConfChangeAddLearnerNode, in which the contained ID will be added into the set. func getIDs(lg *zap.Logger, snap *raftpb.Snapshot, ents []raftpb.Entry) []uint64 { ids := make(map[uint64]bool) if snap != nil { @@ -693,6 +694,8 @@ func getIDs(lg *zap.Logger, snap *raftpb.Snapshot, ents []raftpb.Entry) []uint64 var cc raftpb.ConfChange pbutil.MustUnmarshal(&cc, e.Data) switch cc.Type { + case raftpb.ConfChangeAddLearnerNode: + ids[cc.NodeID] = true case raftpb.ConfChangeAddNode: ids[cc.NodeID] = true case raftpb.ConfChangeRemoveNode: