Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DBFT reinitialization after chain height change #673

Closed
roman-khimov opened this issue Feb 13, 2020 · 0 comments
Closed

DBFT reinitialization after chain height change #673

roman-khimov opened this issue Feb 13, 2020 · 0 comments
Assignees
Labels
consensus dBFT consensus

Comments

@roman-khimov
Copy link
Member

roman-khimov commented Feb 13, 2020

If there was a new block accepted and added to the chain of consensus node, the consensus process should restart on this new height regardless of its stage (it's obsolete anyway). #641 fixed a part of this problem in that eventually (on timer expiration) the process will be restarted, but it can take some unpredictable time (especially with timer extensions like in nspcc-dev/dbft#24) and node can easily miss the next consensus round.

At the same time it shouldn't lead to node restarting consensus on every block added during the initial sync, so probably we also need to redefine consensus readiness from "minimum number of peers connected" to "no known peer has better last block index" (which can be a definition of node being in sync with the network).

@roman-khimov roman-khimov added the consensus dBFT consensus label Feb 13, 2020
roman-khimov added a commit that referenced this issue Feb 17, 2020
Don't stall on some height if everyone else have moved up already. Fix #673.
@roman-khimov roman-khimov self-assigned this Feb 18, 2020
roman-khimov added a commit that referenced this issue Feb 18, 2020
Don't stall on some height if everyone else have moved up already. Fix #673.
roman-khimov added a commit that referenced this issue Feb 18, 2020
Don't stall on some height if everyone else have moved up already. Fix #673.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
consensus dBFT consensus
Projects
None yet
Development

No branches or pull requests

1 participant