To simplify voter, we should send batcher view updates whenever we call enter_view rather than again at the end of the message loop.
This would prevent the "edge case" where we drop votes here (although wouldn't address the "not helping with finalizations when we otherwise would have"):
|
// Attempt to send any new view messages |
|
// |
|
// The batcher may drop votes we construct here if it has not yet been updated to the |
|
// message's view. This only happens when we skip ahead multiple views, which always |
|
// coincides with entering a new view (triggering a batcher update below before we send |
|
// any votes for the new current view). This has no impact on liveness, however, we may miss |
|
// building a finalization for an old view where we otherwise could have contributed. |
Related: #2351
To simplify voter, we should send batcher view updates whenever we call
enter_viewrather than again at the end of the message loop.This would prevent the "edge case" where we drop votes here (although wouldn't address the "not helping with finalizations when we otherwise would have"):
monorepo/consensus/src/simplex/actors/voter/actor.rs
Lines 899 to 905 in d145fdd
Related: #2351