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 scenariosIsolateSingle: 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 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PartitionStrategy
Source§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
impl Eq for PartitionStrategy
Source§impl PartialEq for PartitionStrategy
impl PartialEq for PartitionStrategy
Source§fn eq(&self, other: &PartitionStrategy) -> bool
fn eq(&self, other: &PartitionStrategy) -> bool
Tests for
self and other values to be equal, and is used by ==.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