-
Notifications
You must be signed in to change notification settings - Fork 677
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
Process coordinator messages to duplicate state between multiple coor… #4186
Conversation
1c3e577
to
de2844f
Compare
de2844f
to
d4b55ac
Compare
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## next #4186 +/- ##
==========================================
+ Coverage 76.40% 82.97% +6.56%
==========================================
Files 430 430
Lines 306130 306140 +10
==========================================
+ Hits 233911 254007 +20096
+ Misses 72219 52133 -20086 ☔ View full report in Codecov by Sentry. |
cc7fbd3
to
5b7a772
Compare
5b7a772
to
4a9c565
Compare
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.
This LGTM, just a question about the error handling of process_inbound_messages
…dinators Signed-off-by: Jacinta Ferrant <[email protected]>
Signed-off-by: Jacinta Ferrant <[email protected]>
cfda130
to
3910d02
Compare
…db_dkg Signed-off-by: Jacinta Ferrant <[email protected]>
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, just one question about inbound processing but this PR isn't responsible for the behavior in question so it's not a blocker.
let (messages, results) = self | ||
.coordinator | ||
.process_inbound_messages(&inbound_messages) | ||
.unwrap_or_else(|e| { |
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.
Is this the best behavior? I.e. when processing inbound fails, should we log and continue?
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.
I think its the currently best behaviour. For now we don't want messages received out of order for example to crash the system. I.e. if a rogue signer starts sending valid but inappropriate responses, the coordinator state could error. I think we might need to introduce some sort of recovery. But for now, I think its better than crashing outright.
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
Coordinator state should be replicated between signers so that every signer can submit its aggregate key and also so it can pick up where other coordinators leave off if said coordinators go down.
Applicable issues