diff --git a/consensus/state.go b/consensus/state.go index 0f1d27ad0..22bc8c52a 100644 --- a/consensus/state.go +++ b/consensus/state.go @@ -319,7 +319,7 @@ func (cs *ConsensusState) startRoutines(maxSteps int) { func (cs *ConsensusState) OnStop() { cs.QuitService.OnStop() - if cs.wal != nil { + if cs.wal != nil && cs.IsRunning() { cs.wal.Wait() } } diff --git a/consensus/wal.go b/consensus/wal.go index 832368e6c..56bb294e4 100644 --- a/consensus/wal.go +++ b/consensus/wal.go @@ -80,7 +80,7 @@ func (wal *WAL) Save(msg ConsensusLogMessageInterface) { } } -// Must not be called concurrently. +// Must not be called concurrently with a write. func (wal *WAL) Close() { if wal != nil { wal.fp.Close()