Skip to main content

Module cluster

Module cluster 

Source
Expand description

Shared cluster identity and membership model.

Re-exports§

pub use bootstrap_authority::authorize as authorize_cluster_bootstrap;
pub use bootstrap_authority::authorize_vault_bootstrap;
pub use bootstrap_authority::is_cluster_shaped;
pub use bootstrap_authority::plan_vault_bootstrap;
pub use bootstrap_authority::AuthBootstrapInput;
pub use bootstrap_authority::BootstrapDisposition;
pub use bootstrap_authority::VaultBootstrapPlan;
pub use commit_resolution::is_local_ack;
pub use commit_resolution::resolve_commit_policy;
pub use commit_resolution::CollectionDataModel;
pub use commit_resolution::CommitPolicyResolution;
pub use commit_resolution::CommitPolicyViolation;
pub use commit_resolution::FailoverEligibility;
pub use commit_resolution::GuardrailDisposition;
pub use commit_resolution::HaIntent;
pub use commit_resolution::ResolutionSource;
pub use control_plane::ControlPlaneConsensus;
pub use control_plane::ControlPlaneEntry;
pub use control_plane::ControlPlaneError;
pub use control_plane::ControlPlaneIndex;
pub use control_plane::ControlPlaneTerm;
pub use control_plane::DurableVoteState;
pub use control_plane::MembershipChange;
pub use control_plane::OwnershipTransition;
pub use control_plane::SingleNodeControlPlane;
pub use cross_range::ConsistentReadLeg;
pub use cross_range::ConsistentReadPlan;
pub use cross_range::ConsistentReadReject;
pub use cross_range::GlobalReadWatermark;
pub use cross_range::KeyTarget;
pub use cross_range::PinnedTarget;
pub use cross_range::RangeParticipant;
pub use cross_range::ReadFanout;
pub use cross_range::ReadFanoutReject;
pub use cross_range::ReadLeg;
pub use cross_range::ResolvedTarget;
pub use cross_range::WriteTransactionPlan;
pub use cross_range::WriteTransactionReject;
pub use cross_range::WriterParticipation;
pub use drain::drain_status;
pub use drain::plan_drain;
pub use drain::plan_force_remove;
pub use drain::run_drain;
pub use drain::run_force_remove;
pub use drain::DrainBlock;
pub use drain::DrainBlockReason;
pub use drain::DrainOutcome;
pub use drain::DrainPlan;
pub use drain::DrainStatus;
pub use drain::DrainStep;
pub use drain::ForceCapability;
pub use drain::ForceRemoveAudit;
pub use drain::ForceRemoveOrder;
pub use drain::ForceRemoveOrderError;
pub use drain::ForceRemovePlan;
pub use drain::ForceRemoveResult;
pub use drain::ForcedBlock;
pub use drain::ForcedPromotion;
pub use drain::OwnedHandoff;
pub use drain::RemovalRejection;
pub use drain::ReplicaEvacuation;
pub use identity::ClusterVoterIdentity;
pub use identity::NodeIdentity;
pub use identity::NodeIdentityError;
pub use identity::ReplicationPeerIdentity;
pub use join::ControlPlaneSnapshot;
pub use join::JoinGrant;
pub use join::JoinRejection;
pub use join::JoinRequest;
pub use join::SeedAuthority;
pub use membership::AdmissionOutcome;
pub use membership::BaselineAssessment;
pub use membership::ClusterId;
pub use membership::ClusterIdError;
pub use membership::ClusterMember;
pub use membership::MemberKind;
pub use membership::MemberState;
pub use membership::MembershipCatalog;
pub use membership::RESILIENT_DATA_MEMBER_BASELINE;
pub use move_range::classify_move;
pub use move_range::recover_interrupted_move;
pub use move_range::split_range;
pub use move_range::MoveError;
pub use move_range::MoveKind;
pub use move_range::MovePhase;
pub use move_range::MoveRange;
pub use move_range::MoveRecovery;
pub use move_range::RangeSplit;
pub use move_range::SplitError;
pub use move_range::SplitPolicy;
pub use move_range::SplitSide;
pub use ownership::CatalogError;
pub use ownership::CatalogVersion;
pub use ownership::CollectionId;
pub use ownership::CollectionIdError;
pub use ownership::OwnershipEpoch;
pub use ownership::PlacementMetadata;
pub use ownership::RangeBound;
pub use ownership::RangeBounds;
pub use ownership::RangeBoundsError;
pub use ownership::RangeId;
pub use ownership::RangeOwnership;
pub use ownership::RangeRole;
pub use ownership::RangeWriteReject;
pub use ownership::ShardKeyMode;
pub use ownership::ShardOwnershipCatalog;
pub use ownership::UpdateOutcome;
pub use ownership_force::force_transition;
pub use ownership_force::EmptyOperatorReason;
pub use ownership_force::ForceDenial;
pub use ownership_force::ForceFailure;
pub use ownership_force::ForceTransitionCapability;
pub use ownership_force::ForcedTransitionAudit;
pub use ownership_force::ForcedTransitionDisposition;
pub use ownership_force::ForcedTransitionRequest;
pub use ownership_force::OperatorReason;
pub use ownership_lease::admit_durable_write;
pub use ownership_lease::DurableWriteReject;
pub use ownership_lease::FenceReason;
pub use ownership_lease::LeaseFenceRejection;
pub use ownership_lease::LeasedOwner;
pub use ownership_lease::OwnerWriteMode;
pub use ownership_lease::OwnershipLease;
pub use ownership_lease::RangeRequest;
pub use ownership_lease::SupervisorTerm;
pub use ownership_transition::prepare;
pub use ownership_transition::run_transition;
pub use ownership_transition::CatchUpEvidence;
pub use ownership_transition::CommitWatermark;
pub use ownership_transition::InvalidCandidateReason;
pub use ownership_transition::PreparedTransition;
pub use ownership_transition::TransitionError;
pub use ownership_transition::TransitionKind;
pub use ownership_transition::TransitionOutcome;
pub use ownership_transition::TransitionRejection;
pub use ownership_transition::TransitionRequest;
pub use placement::HotspotRange;
pub use placement::MemberCapacity;
pub use placement::MoveReason;
pub use placement::PlacementPolicy;
pub use placement::PlacementSignals;
pub use placement::PlannedMove;
pub use placement::RangeLoad;
pub use placement::RebalancePlan;
pub use placement::WeightedPlacementPlanner;
pub use placement::NEUTRAL_OPERATOR_WEIGHT;
pub use routing::RedirectReason;
pub use routing::RequestOperation;
pub use routing::RouteDecision;
pub use routing::RoutedRequest;
pub use routing::RoutingHint;
pub use routing::RoutingPolicy;
pub use routing::DEFAULT_MAX_FORWARD_PAYLOAD;
pub use slot::hash_shard_key_to_range_key;
pub use slot::hash_shard_key_to_slot;
pub use slot::HashSlot;
pub use slot::HashSlotError;
pub use slot::PRODUCTION_HASH_SLOT_COUNT;
pub use supervisor::BlockedFailover;
pub use supervisor::BlockedReason;
pub use supervisor::ClusterSignals;
pub use supervisor::ClusterSupervisor;
pub use supervisor::FailoverPlan;
pub use supervisor::HealthClass;
pub use supervisor::HealthPolicy;
pub use supervisor::HealthScore;
pub use supervisor::MemberSignals;
pub use supervisor::PlannedPromotion;
pub use topology::ClientTopology;
pub use topology::HintOutcome;
pub use topology::RefreshOutcome;
pub use topology::TopologyRange;
pub use topology::TopologySnapshot;
pub use topology::TopologyUpdate;

Modules§

bootstrap_authority
Cluster bootstrap authority — fail-closed seam (ADR 0058).
commit_resolution
Commit policy resolution for multi-writer clusters (issue #1001, PRD #987).
control_plane
The Cluster Supervisor control-plane consensus boundary (issue #996, PRD #987, ADR 0052).
cross_range
First-cut cross-range transaction and read behaviour (issue #1002, PRD #987).
drain
Cluster drain and force-remove flows (issue #1000, PRD #987, ADR 0037).
identity
Per-node cluster identities shared by replication and voting.
join
Authenticated cluster join through seed members (issue #988, ADR 0030).
membership
Cluster member identity, the authorized-member catalog, and the resilient three-data-member baseline (issue #988, PRD #987, ADR 0030).
move_range
Split-and-move planning and the move-range cutover state machine (issue #1004, PRD #987, ADR 0037).
ownership
The global shard ownership catalog (issue #989, PRD #987, ADR 0037).
ownership_force
Forced ownership transitions for disaster recovery (issue #999, PRD #987, ADR 0037).
ownership_lease
Ownership leases and owner self-fence behavior (issue #997, PRD #987, ADR 0037).
ownership_transition
Ownership transition state machine for promote and fenced handoff (issue #995, PRD #987, ADR 0037).
placement
Weighted placement and the multi-signal rebalancer planner (issue #1003, PRD #987, ADR 0037).
routing
Any-node routing and stale-ownership responses (issue #993, PRD #987, ADR 0037).
slot
Hash-slot routing primitives for cluster shard keys.
supervisor
Member health scoring and automatic range failover (issue #998, PRD #987, ADR 0037).
topology
Topology refresh and routing-hint client contract (issue #994, PRD #987, ADR 0037).