Module garage_rpc::layout
source · Re-exports§
pub use manager::WriteLock;
Modules§
Structs§
- The history of cluster layouts, with trackers to keep a record of which nodes are up-to-date to current cluster data
- This struct is used to set the parameters to be used in the assignment computation algorithm. It is stored as a Crdt.
- The staged changes for the next layout version
- A version of the layout of the cluster, i.e. the list of roles which are assigned to each cluster node
- The user-assigned roles of cluster nodes
- Generic update tracker struct
- The tracker of acknowlegments and data syncs around the cluster
Enums§
- Zone redundancy: if set to AtLeast(x), the layout calculation will aim to store copies of each partition on at least that number of different zones. Otherwise, copies will be stored on the maximum possible number of zones.
Constants§
- Number of old (non-live) versions to keep, see LayoutHistory::old_versions
- How many bits from the hash are used to make partitions. Higher numbers means more fairness in presence of numerous nodes, but exponentially bigger ring. Max 16
Type Aliases§
- A partition id, which is stored on 16 bits i.e. we have up to 216 partitions. (in practice we have exactly 2PARTITION_BITS partitions)