Expand description
The boundary between the controller and its environment.
ClusterControllerCtx is the single, strategy-agnostic boundary through which
the controller pulls the signals a tick examines and applies the catalog
mutations it derives. It carries primitive signals in and primitive catalog
mutations out; it has no per-strategy state or vocabulary. The controller
crate knows nothing about the Coordinator. The Coordinator implements this
trait, which is what makes the controller testable against a fake
implementation and extractable later without touching controller code.
The interface is pull-based: a tick fetches only the signals it actually examines (no eager all-clusters-all-replicas snapshot is pushed in), and the controller drives what is fetched. Read methods are batched so a separate-task deployment can bound its round-trips to the Coordinator.
Structs§
- Availability
Zones - The availability zones a managed cluster’s replicas are provisioned across, in configured provisioning order.
- Burst
Record - An active hydration-burst record, mirrored from durable state.
- Burst
Write - A write to the
burstrecord, bundled with its audit intent. SeeReconfigurationWrite. A bookkeeping rewrite of an existing record (the linger stamp and its reset) declaresaudit: None. - Cluster
State - The durable state of a single managed cluster plus its observed replicas, as pulled through the ctx for one reconcile tick.
- Expected
Cluster State - Compare-and-append witness over a managed cluster’s durable config: the fields a conditional write is conditioned on. The applier applies the write only if the cluster’s current config still projects to an equal witness.
- Observed
Replica - A replica that actually exists on a cluster, as observed through the ctx.
- Reconfiguration
Record - The latest graceful reconfiguration record, mirrored from durable state.
- Reconfiguration
Target - The full config shape a reconfiguration is moving the cluster to. Distinct
from a replica shape because it additionally carries
replication_factor, a cluster-level rather than replica-level dimension. - Reconfiguration
Write - A write to the
reconfigurationrecord, bundled with the audit intent declaring which lifecycle transition the write represents. - Replica
Shape - The config dimensions that distinguish one replica from another. Two replicas
with equal shape are interchangeable. An
AVAILABILITY ZONESdifference is a shape difference, but only as an unordered pool: reordering the same zones does not change a replica’s shape (seeReplicaShape::matches). - State
Write - A durable state mutation a strategy’s
update_stateasks for: cut over the realized config to a target and/or write or clear the reconfiguration/burst records. The reconcile kernel pairs it with theExpectedClusterStateit was derived from for the compare-and-append guard.
Enums§
- Apply
Outcome - The outcome of applying one tick’s batch of
Decisions. - Burst
Audit - The lifecycle transition a write to the
burstrecord represents, declared by the writer likeReconfigurationAudit. A burst record is also rewritten in place for bookkeeping (stamping or resetting the linger clock), which is not a lifecycle transition and declares no audit. - Burst
Finish Cause - Why a hydration burst finished, known only to the strategy arm that decided the teardown.
- Decision
- A single command the controller emits for the environment to transact. The apply path interprets these and turns them into catalog operations.
- OnTimeout
- The action a graceful reconfiguration applies once its
deadlinepasses with the target replicas not yet hydrated. Success always takes precedence: a hydrated target cuts over regardless of this. A plain-data mirror ofmz_sql::plan::OnTimeoutAction, free of a dependency on the SQL layer. - Reconfiguration
Audit - The lifecycle transition a write to the
reconfigurationrecord represents, declared by the writer at the decision point and carried alongside the state so the audit event is emitted in the same catalog transaction as the write. A plain-data mirror of the audit-log lifecycle vocabulary, free of a dependency onmz-audit-log. - Reconfiguration
Status - The status of the latest graceful reconfiguration record.
Traits§
- Cluster
Controller Ctx - The strategy-agnostic pull/apply interface between the controller and its environment.