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.
This makes a few adjustments to the way active elections are handled that I believe should be changed.
First, it activates accounts whenever a block is cemented, either directly via election or indirectly via confirmation height. Previously activations were performed only for blocks that were part of an active election, which I believe can lead to some accounts not being prioritized properly (missed activation = long confirmation time for legit blocks).
Second, it adjusts how cemented blocks are handled in active election container. The handling is modified, so that it all happens under exclusive lock (prevents new election insertions while cemented blocks are processed), which is a step towards making interaction of
cementing_set
<->active_elections
components simpler to reason about.