From bc5acd3c42149b92cc4e17a1dd6dae0eeaf26f95 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Sat, 29 Nov 2014 23:17:57 -0800 Subject: [PATCH] etcdserver: log snapshot event --- etcdserver/server.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/etcdserver/server.go b/etcdserver/server.go index a36ae47ee..5ab06406b 100644 --- a/etcdserver/server.go +++ b/etcdserver/server.go @@ -392,10 +392,11 @@ func (s *EtcdServer) run() { // apply snapshot to storage if it is more updated than current snapi 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) + log.Fatalf("etcdserver: save snapshot error: %v", err) } s.raftStorage.ApplySnapshot(rd.Snapshot) snapi = rd.Snapshot.Metadata.Index + log.Printf("etcdserver: saved incoming snapshot at index %d", snapi) } if err := s.storage.Save(rd.HardState, rd.Entries); err != nil { @@ -413,6 +414,7 @@ func (s *EtcdServer) run() { } s.Cluster.Recover() appliedi = rd.Snapshot.Metadata.Index + log.Printf("etcdserver: recovered from incoming snapshot at index %d", snapi) } } // TODO(bmizerany): do this in the background, but take @@ -439,6 +441,7 @@ func (s *EtcdServer) run() { s.node.Advance() if appliedi-snapi > s.snapCount { + log.Printf("etcdserver: start to snapshot (applied: %d, lastsnap: %d)", appliedi, snapi) s.snapshot(appliedi, nodes) snapi = appliedi } @@ -807,7 +810,7 @@ func (s *EtcdServer) snapshot(snapi uint64, snapnodes []uint64) { // TODO: current store will never fail to do a snapshot // what should we do if the store might fail? if err != nil { - log.Panicf("store save should never fail: %v", err) + log.Panicf("etcdserver: store save should never fail: %v", err) } err = s.raftStorage.Compact(snapi, &raftpb.ConfState{Nodes: snapnodes}, d) if err != nil { @@ -818,17 +821,19 @@ func (s *EtcdServer) snapshot(snapi uint64, snapnodes []uint64) { } log.Panicf("etcdserver: unexpected compaction error %v", err) } + log.Printf("etcdserver: compacted log at index %d", snapi) if err := s.storage.Cut(); err != nil { - log.Panicf("rotate wal file should never fail: %v", err) + log.Panicf("etcdserver: rotate wal file should never fail: %v", err) } snap, err := s.raftStorage.Snapshot() if err != nil { log.Panicf("etcdserver: snapshot error: %v", err) } if err := s.storage.SaveSnap(snap); err != nil { - log.Fatalf("etcdserver: create snapshot error: %v", err) + log.Fatalf("etcdserver: save snapshot error: %v", err) } + log.Printf("etcdserver: saved snapshot at index %d", snap.Metadata.Index) } // checkClientURLsEmptyFromPeers does its best to get the cluster from peers,