proxy: improve ABCI app connection handling (#5078)

Closes #5074 

Old code does not work when --consensus.create_empty_blocks=false
(because it only calls tmos.Kill when ApplyBlock fails). New code is
listening ABCI clients for Quit and kills TM process if there were any
errors.
This commit is contained in:
Anton Kaliaev
2020-07-08 16:07:11 +04:00
committed by GitHub
parent ea946fabe0
commit 16216028a1
7 changed files with 980 additions and 54 deletions

View File

@@ -1529,11 +1529,7 @@ func (cs *State) finalizeCommit(height int64) {
types.BlockID{Hash: block.Hash(), PartSetHeader: blockParts.Header()},
block)
if err != nil {
cs.Logger.Error("Error on ApplyBlock. Did the application crash? Please restart tendermint", "err", err)
err := tmos.Kill()
if err != nil {
cs.Logger.Error("Failed to kill this process - please do so manually", "err", err)
}
cs.Logger.Error("Error on ApplyBlock", "err", err)
return
}