-
Notifications
You must be signed in to change notification settings - Fork 54
Open
Description
Currently, Sled Agent tries to read from and write to both M.2 slots:
- sometimes scanning both disks and looking at the highest generation across them (
Ledgerable
trait) - sometimes considering the boot slot as authoritative (e.g. mupdate override data)
That is incorrect in some pretty important ways:
- if one of the disks disappears temporarily, implementations of the
Ledgerable
trait might read old data - if the disks couldn't be synced and the boot disk slot changes, we'll suddenly be making decisions based on outdated information
If we had an odd number of disks we could potentially address this through majority consensus. But we have two disks, and it's not really feasible to keep them in sync at all times. For this kind of data we should just always pick a specific slot -- between the A and the B slots, the natural one to pick is A.
Metadata
Metadata
Assignees
Labels
No labels