diff --git a/etcdserver/raft.go b/etcdserver/raft.go index c7d0cb700..f4b8ab1cf 100644 --- a/etcdserver/raft.go +++ b/etcdserver/raft.go @@ -216,6 +216,13 @@ func (r *raftNode) start(s *EtcdServer) { r.s.send(rd.Messages) } + if err := r.storage.Save(rd.HardState, rd.Entries); err != nil { + plog.Fatalf("raft save state and entries error: %v", err) + } + if !raft.IsEmptyHardState(rd.HardState) { + proposalsCommitted.Set(float64(rd.HardState.Commit)) + } + if !raft.IsEmptySnap(rd.Snapshot) { if err := r.storage.SaveSnap(rd.Snapshot); err != nil { plog.Fatalf("raft save snapshot error: %v", err) @@ -223,12 +230,6 @@ func (r *raftNode) start(s *EtcdServer) { r.raftStorage.ApplySnapshot(rd.Snapshot) plog.Infof("raft applied incoming snapshot at index %d", rd.Snapshot.Metadata.Index) } - if err := r.storage.Save(rd.HardState, rd.Entries); err != nil { - plog.Fatalf("raft save state and entries error: %v", err) - } - if !raft.IsEmptyHardState(rd.HardState) { - proposalsCommitted.Set(float64(rd.HardState.Commit)) - } r.raftStorage.Append(rd.Entries)