Skip to content

Trust Quorum: Handle prepare messages + Alarms #8062

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

Open
wants to merge 6 commits into
base: ajs/realtq-4
Choose a base branch
from

Conversation

andrewjstone
Copy link
Contributor

@andrewjstone andrewjstone commented Apr 29, 2025

This builds on #8052.

Nodes now handle PrepareMsgs from coordinators. The coordinator proptest was updated to generate prepares from non-existent test only nodes and send them to the coordinator.

Additionally, protocol invariant violations are now detected in a few cases and recorded to the PersistentState. This is for debugging and support purposes. The goal is to test the code well enough that we never actually see an alarm in production.

This builds on #8052.

Node's now handle `PrepareMsg`s from coordinators. The coordinator
proptest was updated to generate prepares from non-existent test only
nodes and send them to the coordinator.

Additionally, protocol invariant violations are now detected in a few
cases and recorded to the `PersistentState`. This is for debugging and
support purposes. The goal is to test the code well enough that we never
actually see an alarm in production.
Instead we return them wherever they can arise. This has a couple
of benefits.

* Higher level code can stop accepting requests when it sees an alarm to
prevent endless logging and raise an alert to Nexus.
* After support resolves the issue there is not necessarily any reason
to manually mutate persistent state, unless that was the cause of the
alarm.

This also allows more straightforward/rusty error handling. Persistent
state is now only returned in success cases.
@andrewjstone andrewjstone marked this pull request as ready for review May 1, 2025 20:44
@andrewjstone andrewjstone requested a review from sunshowers May 1, 2025 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant