diff --git a/etcdserver/raft.go b/etcdserver/raft.go index 4528d7ba3..b87ceea54 100644 --- a/etcdserver/raft.go +++ b/etcdserver/raft.go @@ -260,7 +260,11 @@ func (r *raftNode) start(rh *raftReadyHandler) { // blocks until 'applyAll' calls 'applyWait.Trigger' // to be in sync with scheduled config-change job // (assume raftDone has cap of 1) - raftDone <- struct{}{} + select { + case raftDone <- struct{}{}: + case <-r.stopped: + return + } } // gofail: var raftBeforeFollowerSend struct{}