diff --git a/etcdserver/server.go b/etcdserver/server.go index 13ceb5e39..03d99ca7d 100644 --- a/etcdserver/server.go +++ b/etcdserver/server.go @@ -394,7 +394,6 @@ func (s *EtcdServer) run() { if err := s.storage.SaveSnap(rd.Snapshot); err != nil { log.Fatalf("etcdserver: create snapshot error: %v", err) } - s.raftStorage.ApplySnapshot(rd.Snapshot) snapi = rd.Snapshot.Metadata.Index } diff --git a/raft/log.go b/raft/log.go index 87f7bb6dd..a3bf9a3d3 100644 --- a/raft/log.go +++ b/raft/log.go @@ -245,6 +245,8 @@ func (l *raftLog) maybeCommit(maxIndex, term uint64) bool { } func (l *raftLog) restore(s pb.Snapshot) { + // TODO: rethink restore logic. + // This breaks the rule that raft never modifies storage. err := l.storage.ApplySnapshot(s) if err != nil { panic(err) // TODO(bdarnell)