From de68818f03f41de02d7939de133bab18bdaed8ab Mon Sep 17 00:00:00 2001 From: Anthony Romano Date: Tue, 21 Jun 2016 13:03:26 -0700 Subject: [PATCH] etcdserver: add some failpoints --- etcdserver/raft.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/etcdserver/raft.go b/etcdserver/raft.go index f4b8ab1cf..95e95fd22 100644 --- a/etcdserver/raft.go +++ b/etcdserver/raft.go @@ -213,27 +213,34 @@ func (r *raftNode) start(s *EtcdServer) { // writing to their disks. // For more details, check raft thesis 10.2.1 if islead { + // gofail: var raftBeforeLeaderSend struct{} r.s.send(rd.Messages) } + // gofail: var raftBeforeSave struct{} 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)) } + // gofail: var raftAfterSave struct{} if !raft.IsEmptySnap(rd.Snapshot) { + // gofail: var raftBeforeSaveSnap struct{} if err := r.storage.SaveSnap(rd.Snapshot); err != nil { plog.Fatalf("raft save snapshot error: %v", err) } + // gofail: var raftAfterSaveSnap struct{} r.raftStorage.ApplySnapshot(rd.Snapshot) plog.Infof("raft applied incoming snapshot at index %d", rd.Snapshot.Metadata.Index) + // gofail: var raftAfterApplySnap struct{} } r.raftStorage.Append(rd.Entries) if !islead { + // gofail: var raftBeforeFollowerSend struct{} r.s.send(rd.Messages) } raftDone <- struct{}{}