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.
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
[EFM] Recoverable Random Beacon State Machine #6771
[EFM] Recoverable Random Beacon State Machine #6771
Changes from 2 commits
100a92b
719b6a6
01bbdcf
1d3c6a4
6c34886
8aac526
064b651
6bcaf38
c13c7f6
489c871
10aab93
fb28249
fb161f7
650b8b8
2386623
bfe95b0
79aac04
1119c8c
c8dfca6
c9182c5
577712a
7e728aa
1fa11c6
a92d8b7
f0be4ba
62d399d
bea9c1a
89005a8
0b9f732
5a98f76
b639742
be18c57
d0df4fb
0f98cf7
6ea64d6
6f7017a
ea0f412
b9bc92e
8f15c29
43d6a63
9302497
550fd3f
7053c88
0687e30
8226642
66f67d4
56b1a63
c0c6b7e
00f952a
21ff3ef
12a633a
aa377c2
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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 am worried that this code might be concurrently running with for example the recovery (if the node rebooted at a really unfortunate time). I think we should in each step assume that some other process might have concurrently advanced the state. So in each step, it might be possible that the
flow.DKGState
could have changed compared to what we just read from the data base.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.
Intuitively it seems to be a too relaxed behavior. For failure states we allow self-transitions, for everything else where we deviate from happy path and get an unexpected error I would be inclined to return an error so we can figure out what was wrong. For your particular scenario I am not very worried, it means that operator has to try again.