Skip to main content

reddb_server/cluster/
mod.rs

1//! Shared cluster identity and membership model.
2
3pub mod commit_resolution;
4pub mod cross_range;
5pub mod drain;
6pub mod identity;
7pub mod join;
8pub mod membership;
9pub mod move_range;
10pub mod ownership;
11pub mod ownership_force;
12pub mod ownership_lease;
13pub mod ownership_transition;
14pub mod placement;
15pub mod routing;
16pub mod supervisor;
17pub mod topology;
18
19pub use commit_resolution::{
20    is_local_ack, resolve_commit_policy, CollectionDataModel, CommitPolicyResolution,
21    CommitPolicyViolation, FailoverEligibility, GuardrailDisposition, HaIntent, ResolutionSource,
22};
23pub use cross_range::{
24    ConsistentReadLeg, ConsistentReadPlan, ConsistentReadReject, GlobalReadWatermark, KeyTarget,
25    PinnedTarget, RangeParticipant, ReadFanout, ReadFanoutReject, ReadLeg, ResolvedTarget,
26    WriteTransactionPlan, WriteTransactionReject, WriterParticipation,
27};
28pub use drain::{
29    drain_status, plan_drain, plan_force_remove, run_drain, run_force_remove, DrainBlock,
30    DrainBlockReason, DrainOutcome, DrainPlan, DrainStatus, DrainStep, ForceCapability,
31    ForceRemoveAudit, ForceRemoveOrder, ForceRemoveOrderError, ForceRemovePlan, ForceRemoveResult,
32    ForcedBlock, ForcedPromotion, OwnedHandoff, RemovalRejection, ReplicaEvacuation,
33};
34pub use identity::{
35    ClusterVoterIdentity, NodeIdentity, NodeIdentityError, ReplicationPeerIdentity,
36};
37pub use join::{ControlPlaneSnapshot, JoinGrant, JoinRejection, JoinRequest, SeedAuthority};
38pub use membership::{
39    AdmissionOutcome, BaselineAssessment, ClusterId, ClusterIdError, ClusterMember, MemberKind,
40    MemberState, MembershipCatalog, RESILIENT_DATA_MEMBER_BASELINE,
41};
42pub use move_range::{
43    classify_move, recover_interrupted_move, split_range, MoveError, MoveKind, MovePhase,
44    MoveRange, MoveRecovery, RangeSplit, SplitError, SplitPolicy, SplitSide,
45};
46pub use ownership::{
47    CatalogError, CatalogVersion, CollectionId, CollectionIdError, OwnershipEpoch,
48    PlacementMetadata, RangeBound, RangeBounds, RangeBoundsError, RangeId, RangeOwnership,
49    RangeRole, RangeWriteReject, ShardKeyMode, ShardOwnershipCatalog, UpdateOutcome,
50};
51pub use ownership_force::{
52    force_transition, EmptyOperatorReason, ForceDenial, ForceFailure, ForceTransitionCapability,
53    ForcedTransitionAudit, ForcedTransitionDisposition, ForcedTransitionRequest, OperatorReason,
54};
55pub use ownership_lease::{
56    admit_durable_write, DurableWriteReject, FenceReason, LeaseFenceRejection, LeasedOwner,
57    OwnerWriteMode, OwnershipLease, RangeRequest, SupervisorTerm,
58};
59pub use ownership_transition::{
60    prepare, run_transition, CatchUpEvidence, CommitWatermark, InvalidCandidateReason,
61    PreparedTransition, TransitionError, TransitionKind, TransitionOutcome, TransitionRejection,
62    TransitionRequest,
63};
64pub use placement::{
65    HotspotRange, MemberCapacity, MoveReason, PlacementPolicy, PlacementSignals, PlannedMove,
66    RangeLoad, RebalancePlan, WeightedPlacementPlanner, NEUTRAL_OPERATOR_WEIGHT,
67};
68pub use routing::{
69    RedirectReason, RequestOperation, RouteDecision, RoutedRequest, RoutingHint, RoutingPolicy,
70    DEFAULT_MAX_FORWARD_PAYLOAD,
71};
72pub use supervisor::{
73    BlockedFailover, BlockedReason, ClusterSignals, ClusterSupervisor, FailoverPlan, HealthClass,
74    HealthPolicy, HealthScore, MemberSignals, PlannedPromotion,
75};
76pub use topology::{
77    ClientTopology, HintOutcome, RefreshOutcome, TopologyRange, TopologySnapshot, TopologyUpdate,
78};