mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-25 06:42:16 +00:00
Merge pull request #1899 from tendermint/1839-shutdown-wal-properly
Properly shutdown consensus WAL
This commit is contained in:
commit
5cfd8ebaa2
@ -80,6 +80,7 @@ func (conR *ConsensusReactor) OnStop() {
|
|||||||
conR.BaseReactor.OnStop()
|
conR.BaseReactor.OnStop()
|
||||||
conR.unsubscribeFromBroadcastEvents()
|
conR.unsubscribeFromBroadcastEvents()
|
||||||
conR.conS.Stop()
|
conR.conS.Stop()
|
||||||
|
conR.conS.Wait()
|
||||||
}
|
}
|
||||||
|
|
||||||
// SwitchToConsensus switches from fast_sync mode to consensus mode.
|
// SwitchToConsensus switches from fast_sync mode to consensus mode.
|
||||||
|
@ -314,13 +314,8 @@ func (cs *ConsensusState) startRoutines(maxSteps int) {
|
|||||||
|
|
||||||
// OnStop implements cmn.Service. It stops all routines and waits for the WAL to finish.
|
// OnStop implements cmn.Service. It stops all routines and waits for the WAL to finish.
|
||||||
func (cs *ConsensusState) OnStop() {
|
func (cs *ConsensusState) OnStop() {
|
||||||
cs.BaseService.OnStop()
|
|
||||||
|
|
||||||
cs.evsw.Stop()
|
cs.evsw.Stop()
|
||||||
|
|
||||||
cs.timeoutTicker.Stop()
|
cs.timeoutTicker.Stop()
|
||||||
|
|
||||||
cs.wal.Stop()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wait waits for the the main routine to return.
|
// Wait waits for the the main routine to return.
|
||||||
@ -600,6 +595,7 @@ func (cs *ConsensusState) receiveRoutine(maxSteps int) {
|
|||||||
|
|
||||||
// close wal now that we're done writing to it
|
// close wal now that we're done writing to it
|
||||||
cs.wal.Stop()
|
cs.wal.Stop()
|
||||||
|
cs.wal.Wait()
|
||||||
|
|
||||||
close(cs.done)
|
close(cs.done)
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user