oxidecomputer / oxidecomputer/crucible
How many downstairs have to return OK for snapshots?
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 260
- Forks
- 34
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 8
Description
In https://github.com/oxidecomputer/crucible/pull/407, I said:
Whether or not a Flush has SnapshotDetails set, It looks like the Upstairs will be ok with two out of three flushes returning OK. I think this has to change: if SnapshotDetails is set, then all three downstairs have to report OK for that Flush for it to be considered OK and acked.
Then Alan said:
To throw some more gas on this fire, If we require all three downstairs to answer before we can take a snapshot, it will essentially prevent taking a snapshot where one downstairs is broken. I think there are other situations (like deactivate) where this issue is already present.
This issue tracks the work of answering the title question: how many downstairs have to return OK for a snapshot to be considered OK?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing pull request 407 and the discussion about Flush, SnapshotDetails, Upstairs, and downstairs responses. Trace how snapshot success and acknowledgement are currently determined, then resolve the two-versus-three-OK policy, including the case where one downstairs is broken. Done means the chosen behavior is documented and covered for the relevant success and failure cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100