-
Notifications
You must be signed in to change notification settings - Fork 30
feat(code): Implement Solution 1 for the RoundSync #1033
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
Conversation
Co-authored-by: nenadmilosevic95 <50905385+nenadmilosevic95@users.noreply.github.com> Signed-off-by: Anca Zamfir <ancazamfir@users.noreply.github.com>
Co-authored-by: nenadmilosevic95 <50905385+nenadmilosevic95@users.noreply.github.com> Signed-off-by: Anca Zamfir <ancazamfir@users.noreply.github.com>
* Send rebroadcasted votes over the gossip topic * Send rebroadcast vote event * Rename `GossipMessage` proto to `LivenessMessage` --------- Co-authored-by: Romain Ruetschi <romain@informal.systems>
This reverts commit 6f2c5a5.
Codecov ReportAll modified and coverable lines are covered by tests ✅
✅ All tests successful. No failed tests found. Additional details and impacted files@@ Coverage Diff @@
## main #1033 +/- ##
============================
============================
|
round on (re)broadcast
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, I left some comments!
I guess we can close this now, right? |
@romac is that because of the recently-merged networking code, or something else? Just interested in what makes this pr closable. |
Closes: #XXX
From the Round sync spec:
Solution 1 (similar to what we have now and what StarkWare implements)
timeoutRebroadcastPrevote(r) = timeoutPrevote(r)
andtimeoutRebroadcastPrecommit(r) = timeoutPrecommit(r)
REBROADCAST() - broadcasts the current non-nil values of EnterRoundCertificate, lastPrevote and lastPrecommit
Summary of the changes compared with parent branch:
TimeoutKind::PrevoteRebroadcast, TimeoutKind::PrecommitRebroadcast
PrevoteRebroadcast
timer when a precommit is sentPrevoteRebroadcast
timer when thePrevote
timer is startedPrecommitRebroadcast
timer when thePrecommit
timer is startedPrecommitAny
orSkipRound
type (with correct voting power) and not cancel timers if not (cc @nenadmilosevic95)The rest of the points in Solution 1 are included in parent branch.
PR author checklist
For all contributors
RELEASE_NOTES.md
if the change warrants itBREAKING_CHANGES.md
if the change warrants itFor external contributors