From 453133977de542af702e608b2fa894d34720c561 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Mon, 24 Nov 2014 14:28:13 -0800 Subject: [PATCH] etcdserver: save snapshot only if the index is greater than previous snap index --- etcdserver/server.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/etcdserver/server.go b/etcdserver/server.go index 9a7919702..3f731555a 100644 --- a/etcdserver/server.go +++ b/etcdserver/server.go @@ -395,10 +395,11 @@ func (s *EtcdServer) run() { if err := s.storage.Save(rd.HardState, rd.Entries); err != nil { log.Fatalf("etcdserver: save state and entries error: %v", err) } - if !raft.IsEmptySnap(rd.Snapshot) { + if !raft.IsEmptySnap(rd.Snapshot) && rd.Snapshot.Metadata.Index > snapi { if err := s.storage.SaveSnap(rd.Snapshot); err != nil { log.Fatalf("etcdserver: create snapshot error: %v", err) } + snapi = rd.Snapshot.Metadata.Index } s.sendhub.Send(rd.Messages)