Block persist time is not updated for blocks received from the network #8

Closed
opened 2025-12-28 17:07:39 +00:00 by sami · 0 comments
Owner

Originally created by @roman-khimov on GitHub (Jun 16, 2020).

Originally assigned to: @fyrchik on GitHub.

The only place where d.blockPersistTime is updated is in checkCommit, so for blocks that we're approving it works as expected, but if we're to receive an already signed block from the network this blockPersistTime is not updated which for the case when we're a Primary for the next block leads to wrong (zero) timer setting in InitializeConsensus and subsequent PrepareRequest send before expected (15s) timer expiration.

This is what happened on the testnet with block 4408186.

Originally created by @roman-khimov on GitHub (Jun 16, 2020). Originally assigned to: @fyrchik on GitHub. The only place where `d.blockPersistTime` is updated is in `checkCommit`, so for blocks that we're approving it works as expected, but if we're to receive an already signed block from the network this `blockPersistTime` is not updated which for the case when we're a Primary for the next block leads to wrong (zero) timer setting in `InitializeConsensus` and subsequent PrepareRequest send before expected (15s) timer expiration. This is what happened on the testnet with block 4408186.
sami 2025-12-28 17:07:39 +00:00
  • closed this issue
  • added the
    bug
    label
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/dbft#8
No description provided.