tendermint-rs icon indicating copy to clipboard operation
tendermint-rs copied to clipboard

Introduce sync fall back not hang on current height

Open g302ge opened this issue 2 years ago • 1 comments

Version(s) of tendermint-rs:

Description

I found a phenomenon in current consensus processing, that when a node fall behind with its neighbor nodes, it will panic right now which make this node no progress aka lose liveness. I think the second below maybe a enhancement for Tendermint:

  1. node first time startup, it will use the sync mode to sync blocks from its nighbors, all thing done, this node recover from sync to consensus mode.
  2. when a node fall behind with its nighbors, it will fall back to sync mode not hang on consensus mode to sync blocks from its nighbor after this action the node recover from sync to consensus.

But in current implementation not only rust but go, there is only first approach, not second, I am confused why can't we support the second approach. Thx for reply

Definition of "done"

The correct behavior imaged as before second approach

g302ge avatar Mar 12 '22 17:03 g302ge