feat(consensus): confirm votes on vote bit set receipt #779
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue being fixed or feature implemented
Nodes mark votes as delivered directly after sending them to their peers, what is not always the case.
In case of high load, some votes might not be processed successfully and dropped (due to too long queue).
In this case, node will never these votes again, what can lead to chain halt on that node due to "starvation".
What was done?
Votes are not marked as delivered directly after sending. Instead, VoteSetBits message is sent after accepting a vote, and the peer marks vote as delivered after it received VoteSetBits.
How Has This Been Tested?
Breaking Changes
Checklist:
For repository code-owners and collaborators only