pub enum PartitionStrategy {
Random,
UniformSize,
IsolateSingle,
}Expand description
Network partition strategy for chaos testing.
Controls how nodes are selected for partitioning during chaos testing. TigerBeetle ref: packet_simulator.zig:12-488
§Real-World Scenario
Different partition strategies test different failure modes:
- Random: General chaos, unpredictable failures
- UniformSize: Tests various quorum sizes and split scenarios
- IsolateSingle: Tests single-node isolation (common in production)
Variants§
Random
Random IP pairs selected for partitioning. Current behavior - randomly selects which connections to partition.
UniformSize
Uniform size partitions - randomly choose partition size from 1 to n-1 nodes. TigerBeetle pattern: creates partitions of varying sizes to test different quorum scenarios.
IsolateSingle
Isolate single node - always partition exactly one node from the rest. Tests the common production scenario where a single node becomes unreachable.
Trait Implementations§
Source§impl Clone for PartitionStrategy
impl Clone for PartitionStrategy
Source§fn clone(&self) -> PartitionStrategy
fn clone(&self) -> PartitionStrategy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PartitionStrategy
impl Debug for PartitionStrategy
Source§impl Default for PartitionStrategy
impl Default for PartitionStrategy
Source§fn default() -> PartitionStrategy
fn default() -> PartitionStrategy
Returns the “default value” for a type. Read more
Source§impl PartialEq for PartitionStrategy
impl PartialEq for PartitionStrategy
impl Copy for PartitionStrategy
impl Eq for PartitionStrategy
impl StructuralPartialEq for PartitionStrategy
Auto Trait Implementations§
impl Freeze for PartitionStrategy
impl RefUnwindSafe for PartitionStrategy
impl Send for PartitionStrategy
impl Sync for PartitionStrategy
impl Unpin for PartitionStrategy
impl UnsafeUnpin for PartitionStrategy
impl UnwindSafe for PartitionStrategy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more