Expand description
Control plane: leader election, assignment snapshots, barrier coordination. Cluster control plane: leader election, assignment snapshots, and barrier coordination.
Re-exports§
pub use crate::checkpoint::CheckpointAssignmentAdoption;pub use crate::checkpoint::CheckpointAssignmentFence;pub use crate::checkpoint::CheckpointParticipant;pub use crate::checkpoint::LeaderProof;pub use crate::checkpoint::LeaderProofOwner;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::CheckpointPrepareObservation;pub use controller::ClusterController;pub use controller::RecoverPhase;pub use controller::RecoveryAdmissionSnapshot;pub use controller::RecoveryAnnouncement;pub use controller::RecoveryControlError;pub use controller::RecoveryFault;pub use controller::RecoveryFaultReportOutcome;pub use controller::RecoveryFaultRequest;pub use controller::RecoveryRound;pub use controller::RecoveryRoundId;pub use controller::RecoveryStoppedReport;pub use controller::ReleaseCommitStatus;pub use crate::checkpoint_decision::CheckpointDecisionStore;pub use crate::checkpoint_decision::DecisionError;pub use catalog_manifest::CatalogManifest;pub use catalog_manifest::CatalogManifestEntry;pub use catalog_manifest::CatalogManifestError;pub use catalog_manifest::CatalogManifestRef;pub use catalog_manifest::CatalogManifestStore;pub use catalog_manifest::CatalogObjectKind;pub use catalog_manifest::CatalogSealOutcome;pub use leader::leader_of;pub use leader_lease::lease_grants_leadership;pub use leader_lease::lease_grants_proof;pub use leader_lease::AssignmentDrainDecision;pub use leader_lease::AssignmentDrainVerdict;pub use leader_lease::AssignmentRecoveryDecision;pub use leader_lease::ClusterCheckpointAuthorityError;pub use leader_lease::ClusterOutcomeInventory;pub use leader_lease::ClusterOutcomeRetentionBoundary;pub use leader_lease::LeaderCandidacy;pub use leader_lease::LeaderLease;pub use leader_lease::LeaderLeaseConfig;pub use leader_lease::LeaderLeaseManager;pub use leader_lease::LeaderLeaseObservation;pub use leader_lease::LeaderLeaseOwner;pub use leader_lease::LeaderLeaseStore;pub use leader_lease::LeaseError;pub use leader_lease::LeaseOutcome;pub use leader_lease::RecordAssignmentDrainDecisionResult;pub use leader_lease::RecordAssignmentRecoveryDecisionResult;pub use process_lease::ProcessLease;pub use process_lease::ProcessLeaseAuthority;pub use process_lease::ProcessLeaseConfig;pub use process_lease::ProcessLeaseError;pub use process_lease::ProcessLeaseFence;pub use process_lease::ProcessLeaseManager;pub use process_lease::ProcessLeaseObservation;pub use process_lease::ProcessLeaseOutcome;pub use process_lease::ProcessLeaseStore;pub use snapshot::AssignmentSnapshot;pub use snapshot::AssignmentSnapshotRef;pub use snapshot::AssignmentSnapshotStore;pub use snapshot::RotateOutcome;pub use snapshot::SnapshotError;pub use chitchat_kv::ChitchatKv;pub use tls::claim_cluster_plaintext;pub use tls::set_cluster_tls;pub use tls::ClusterTls;
Modules§
- barrier
- Cross-instance barrier protocol. Direct gRPC leader-to-follower calls
under
cluster, falling back to gossip-KV announce/ack/poll. - catalog_
manifest - Catalog inventory sealed in the append-only leader authority.
- chitchat_
kv - Chitchat-backed
ClusterKv. Reads filter bylive_nodes()so suspected peers don’t count toward quorum. - controller
- Facade over
ClusterKv+BarrierCoordinator+ membership watch.NoneonCheckpointCoordinatormeans single-instance mode. - leader
- Weak leader election: lowest-ID live instance wins. Split-brain is
tolerated because
epoch=N/_COMMITis CAS-guarded. - leader_
lease - Durable, append-only leader fencing.
- process_
lease - Durable ownership of one stable cluster node identity.
- snapshot
- Durable vnode→instance assignment snapshots. One object per
version at
control/assignment-snapshots/v{N:020}.json. Chitchat carries the ephemeral copy; these files survive full-cluster restart. - tls
- Process-wide transport mode for the cluster control plane (barrier and shuffle), resolved once at startup with at most one TLS identity.
Structs§
- Lease
Deadline - Process-local monotonic deadline for a renewable durable lease.
- Namespace
Proof Error - Failure to establish one checkpoint/state namespace across the startup roster.
- Verified
Cluster Namespaces - Exact object-store handles admitted by a successful cluster namespace proof.
Constants§
- MAX_
SHARED_ NAMESPACE_ PROOF_ TIMEOUT - Maximum time allowed for shared checkpoint/state namespace verification.
Functions§
- prove_
shared_ object_ store_ namespaces - Prove that the local process can read every startup participant’s retained checkpoint and state sentinel through its candidate object-store handles.