Skip to main content

Module locality

Module locality 

Source
Expand description

Failure-domain locality for correlated fault injection.

Locality models a FoundationDB-style Cluster → Datacenter → Zone → Machine → Process hierarchy so that collocated processes share fate. It is orthogonal to tags (super::tags): tags round-robin independent dimensions, while locality assigns contiguous hierarchical groups whose processes can be rebooted together (see AttritionScope).

§Example

// 3 datacenters × 3 zones × 3 machines × 1 process = 27 processes.
.cluster(LocalityConfig::new(3, 3, 3, 1), || Box::new(MyNode::new()))

Structs§

LocalityConfig
Configuration for laying processes out across a failure-domain topology.
LocalityInfo
Resolved failure-domain locality for a single process instance.
MachineRegistry
Registry mapping process IPs to their resolved locality.

Enums§

DomainLevel
The level of a failure domain in the locality hierarchy.