Module mz_storage::server::reconciliation
source · [−]Expand description
Functionality to reconcile commands between a storage controller and a storage server.
The StorageCommandReconcile struct implements GenericClient, which
allows the controller to reconnect after restarts. It maintains enough state
to get a newly connected instance up-to-date and matches existing installed
objects with what the controller wants to provide.
StorageCommandReconcile is designed to live in a storaged process and
liberally uses assert to validate the correctness of commands.
The contract between this and the storage controller is that identifiers are not re-used and describe the same object after restarts. Failure to do so will result in undefined behavior.
The reconciliation presents to a restarted storage controller as if the storage process was restarted as well. It brings the controller up-to-date by notifying it about the current upper frontiers.
Structs
Reconcile commands targeted at a storage host.