Skip to content
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

Short-cut timeout in PREAPRE, COMMIT when justified by received messages #242

Closed
1 of 2 tasks
Tracked by #246
anorth opened this issue May 16, 2024 · 2 comments · Fixed by #315
Closed
1 of 2 tasks
Tracked by #246

Short-cut timeout in PREAPRE, COMMIT when justified by received messages #242

anorth opened this issue May 16, 2024 · 2 comments · Fixed by #315
Assignees
Labels
gossipbft Relates to core GossipPBFT protocol

Comments

@anorth
Copy link
Member

anorth commented May 16, 2024

Tasks

Preview Give feedback

See filecoin-project/FIPs#998

@anorth anorth added the gossipbft Relates to core GossipPBFT protocol label May 16, 2024
@anorth anorth added this to F3 May 16, 2024
@anorth anorth moved this to Todo in F3 May 17, 2024
@masih masih moved this from Todo to In progress in F3 May 28, 2024
masih added a commit that referenced this issue May 29, 2024
When sufficient justification is received do not wait for timeouts to
expire in PREPARE and COMMIT phase.

Fixes #242
@anorth anorth moved this from In progress to In review in F3 May 30, 2024
masih added a commit that referenced this issue Jun 4, 2024
When sufficient justification is received do not wait for timeouts to
expire in PREPARE and COMMIT phase.

Fixes #242
masih added a commit that referenced this issue Jun 4, 2024
When sufficient justification is received do not wait for timeouts to
expire in PREPARE and COMMIT phase.

Fixes #242
masih added a commit that referenced this issue Jun 5, 2024
When sufficient justification is received do not wait for timeouts to
expire in PREPARE and COMMIT phase.

Fixes #242
anorth pushed a commit that referenced this issue Jun 7, 2024
When sufficient justification is received do not wait for timeouts to
expire in PREPARE and COMMIT phase.

Fixes #242
masih added a commit that referenced this issue Jun 7, 2024
When sufficient justification is received do not wait for timeouts to
expire in PREPARE phase.

Part of #242
github-merge-queue bot pushed a commit that referenced this issue Jun 7, 2024
When sufficient justification is received do not wait for timeouts to
expire in PREPARE phase.

Part of #242
@masih
Copy link
Member

masih commented Jun 7, 2024

Capturing discussion from Slack on the second task in this issue, i.e. shortening timeout for commit.

The protocol assumes that when it sends a message, it is going to receive that message before it receives anything else, so it can rely on the state updates (it used to do so internally, synchronously). However, the simulation is delivering an alarm before delivering the converge message that the participant sent to itself.

But with the introduction of async message reception this assumption no longer holds.

We can probably fix this in simulation fairly easily, but it's a subtle but important requirement on the production host too. This came about because the participant can no longer sign its own messages (doesn't even know its ID).

...it will be a bit harder to fix outside of the simulation. There is no guarantee that anyone will sign the message we requested broadcast for, and even if there is someone that will sign it, it would require us to block everything until the do.
This is also a requirement for the passive node (there is nobody to sign the messages, and we are just processing ones coming from the network.

masih added a commit that referenced this issue Jun 7, 2024
When justified by a strong quorum, shorten the timeout at `COMMIT`
phase.

Fixes #242
@masih
Copy link
Member

masih commented Jun 7, 2024

Captured #316 to update docs and fix ordering in sim.

masih added a commit that referenced this issue Jun 7, 2024
When justified by a strong quorum, shorten the timeout at `COMMIT`
phase.

Fixes #242
masih added a commit that referenced this issue Jun 7, 2024
When justified by a strong quorum, shorten the timeout at `COMMIT`
phase.

Fixes #242
masih added a commit that referenced this issue Jun 10, 2024
When justified by a strong quorum, shorten the timeout at `COMMIT`
phase.

Fixes #242
masih added a commit that referenced this issue Jun 12, 2024
When justified by a strong quorum, shorten the timeout at `COMMIT`
phase.

Fixes #242
masih added a commit that referenced this issue Jun 12, 2024
When justified by a strong quorum, shorten the timeout at `COMMIT`
phase.

Fixes #242
github-merge-queue bot pushed a commit that referenced this issue Jun 12, 2024
When justified by a strong quorum, shorten the timeout at `COMMIT`
phase.

Fixes #242
@github-project-automation github-project-automation bot moved this from In review to Done in F3 Jun 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gossipbft Relates to core GossipPBFT protocol
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants