-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Since v0.26.0, the consensus has been changed to no longer enter into a state with Step == RoundStepPrecommitWait because we may need to start waiting the TimeoutPrecommit even before we have entered into the Precommit step.
Instead of using the RoundStepPrecommitWait as a step, we now track a bool, triggeredTimeoutPrecommit, to ensure we only trigger that timeout once per round.
However, this bool is a private field and is not exposed in any events or over RPC. Thus when debugging with /dump_consensus_state, it can be difficult to know the exact state of the consensus (ie. have we triggered this timeout or not?).
This field should be moved from the ConsensusState into the RoundState and marshalled with the rest of the RoundState fields into JSON.
We should also consider adding it to the other structs in consensus/types.