Skip to main content

Module control

Module control 

Source
Expand description

Control plane: leader election, assignment snapshots, barrier coordination. Cluster control plane: leader election, assignment snapshots, and barrier coordination.

Re-exports§

pub use barrier::BarrierAck;
pub use barrier::BarrierAnnouncement;
pub use barrier::BarrierCoordinator;
pub use barrier::ClusterKv;
pub use barrier::InMemoryKv;
pub use barrier::Phase;
pub use barrier::QuorumOutcome;
pub use barrier::ACK_KEY;
pub use barrier::ANNOUNCEMENT_KEY;
pub use controller::ClusterController;
pub use decision::CheckpointDecisionStore;
pub use decision::DecisionError;
pub use leader::leader_of;
pub use snapshot::AssignmentSnapshot;
pub use snapshot::AssignmentSnapshotStore;
pub use snapshot::RotateOutcome;
pub use snapshot::SnapshotError;
pub use chitchat_kv::ChitchatKv;

Modules§

barrier
Cross-instance barrier protocol over a gossip KV. Leader announces, followers ack, leader polls for quorum.
chitchat_kv
Chitchat-backed ClusterKv. Reads filter by live_nodes() so suspected peers don’t count toward quorum.
controller
Facade over ClusterKv + BarrierCoordinator + membership watch. None on CheckpointCoordinator means single-instance mode.
decision
Durable cluster-wide commit marker for checkpoint 2PC.
leader
Weak leader election: lowest-ID live instance wins. Split-brain is tolerated because epoch=N/_COMMIT is CAS-guarded.
snapshot
Durable vnode→instance assignment snapshots. One object per version at control/assignment-snapshots/v{N:016}.json. Chitchat carries the ephemeral copy; these files survive full-cluster restart.