mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
etcdserver: log snapshot event
This commit is contained in:
parent
fe0bc4ff36
commit
bc5acd3c42
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user