You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's not actually an error to receive a `CommitAdvance` while
coordinating for the same epoch. The `GetShare` from the coordinator
could have been delayed in the network` and the node that received it
already committed before the coordinator knew it was done preparing. In
essence, the following would happen:
1. The coordinator would send GetShare requests for the prior epoch
2. Enough nodes would reply so that the coordinator would start sending
prepares.
3. Enough nodes would ack prepares to commit
4. Nexus would poll and send commits. Other nodes would get those
commits, but not the coordinator
5. A node that hadn't yet received the `GetShare` would get
a `CommitAdvance` or see the `Commit` from nexus and get it's
configuration and recompute it's own share and commit. It may have been
a prior coordinator with delayed deliveries to other nodes of `GetShare`
messages.
6. The node that just committed finally receives the `GetShare` and
sends back a `CommitAdvance` to the coordinator
This is all valid, and was similar to a proptest counterexample
0 commit comments