pub struct CommittedCheckpointIndex {Show 16 fields
pub version: u32,
pub deployment_id: String,
pub pipeline_identity: PipelineIdentity,
pub epoch: u64,
pub checkpoint_id: u64,
pub scope: CheckpointScope,
pub vnode_count: u16,
pub assignment_fence: Option<CheckpointAssignmentFence>,
pub reassignment_portable: bool,
pub predecessor: Option<CommittedCheckpointRef>,
pub participants: Vec<CommittedParticipantRef>,
pub source_names: Vec<String>,
pub source_offsets: BTreeMap<String, ConnectorCheckpoint>,
pub channel_progress: Vec<ChannelProgress>,
pub source_watermarks: BTreeMap<String, i64>,
pub checkpoint_watermark: Option<i64>,
}Expand description
Canonical global recovery index selected by one Commit outcome.
Fields§
§version: u32Exact index format.
deployment_id: StringDurable deployment incarnation owning the cut.
pipeline_identity: PipelineIdentityLogical pipeline and state ABI identity.
epoch: u64Terminal epoch.
checkpoint_id: u64Exact checkpoint ID; equal to epoch.
scope: CheckpointScopeRecovery domain covered by the cut.
vnode_count: u16Exact vnode domain used by every participant manifest.
assignment_fence: Option<CheckpointAssignmentFence>Exact cluster assignment; absent in local mode.
reassignment_portable: boolWhether every participant captured a cut portable across vnode reassignment.
predecessor: Option<CommittedCheckpointRef>Direct prior committed index used for explicit, LIST-free retention traversal.
participants: Vec<CommittedParticipantRef>Canonically sorted exact participant objects.
source_names: Vec<String>Canonically sorted registered source names.
source_offsets: BTreeMap<String, ConnectorCheckpoint>Complete merged connector source cut.
channel_progress: Vec<ChannelProgress>Complete merged per-channel event-time progress.
source_watermarks: BTreeMap<String, i64>Monotonic decision frontier retained for every source, including sources whose current physical input-channel inventory is empty.
checkpoint_watermark: Option<i64>Safe event-time frontier at this cut.
Implementations§
Source§impl CommittedCheckpointIndex
impl CommittedCheckpointIndex
Sourcepub fn validate(&self) -> Result<(), String>
pub fn validate(&self) -> Result<(), String>
Validate canonical shape and cross-field invariants.
§Errors
Returns an error when the index is not a complete canonical checkpoint cut.
Sourcepub fn validate_predecessor_index(
&self,
predecessor: &CommittedCheckpointIndex,
) -> Result<(), String>
pub fn validate_predecessor_index( &self, predecessor: &CommittedCheckpointIndex, ) -> Result<(), String>
Validate metadata continuity for an explicitly loaded predecessor index.
§Errors
Returns an error when either index is invalid or continuity is broken.
Sourcepub fn effective_source_watermarks(
&self,
) -> Result<BTreeMap<String, i64>, String>
pub fn effective_source_watermarks( &self, ) -> Result<BTreeMap<String, i64>, String>
Return the source-keyed decision cuts represented by this index.
Version 3 encoded only physical channel progress, so its effective map is derived. Version 4 carries the cumulative map explicitly so an empty current inventory retains its cut.
§Errors
Returns an error when channel progress contains an invalid watermark sentinel.
Sourcepub fn validate_participant_manifests(
&self,
manifests: &[(&CheckpointManifest, &[u8])],
) -> Result<(), String>
pub fn validate_participant_manifests( &self, manifests: &[(&CheckpointManifest, &[u8])], ) -> Result<(), String>
Verify exact participant manifest bytes and complete, exclusive vnode ownership.
§Errors
Returns an error when the manifests do not exactly represent this committed cut.
Sourcepub fn encode_and_reference(
&self,
) -> Result<(Vec<u8>, CommittedCheckpointRef), String>
pub fn encode_and_reference( &self, ) -> Result<(Vec<u8>, CommittedCheckpointRef), String>
Encode the canonical index and derive its exact content reference.
§Errors
Returns an error when the index is invalid, cannot be encoded, or exceeds its bound.
Trait Implementations§
Source§impl Clone for CommittedCheckpointIndex
impl Clone for CommittedCheckpointIndex
Source§fn clone(&self) -> CommittedCheckpointIndex
fn clone(&self) -> CommittedCheckpointIndex
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CommittedCheckpointIndex
impl Debug for CommittedCheckpointIndex
Source§impl<'de> Deserialize<'de> for CommittedCheckpointIndex
impl<'de> Deserialize<'de> for CommittedCheckpointIndex
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for CommittedCheckpointIndex
Source§impl PartialEq for CommittedCheckpointIndex
impl PartialEq for CommittedCheckpointIndex
Source§impl Serialize for CommittedCheckpointIndex
impl Serialize for CommittedCheckpointIndex
impl StructuralPartialEq for CommittedCheckpointIndex
Auto Trait Implementations§
impl Freeze for CommittedCheckpointIndex
impl RefUnwindSafe for CommittedCheckpointIndex
impl Send for CommittedCheckpointIndex
impl Sync for CommittedCheckpointIndex
impl Unpin for CommittedCheckpointIndex
impl UnsafeUnpin for CommittedCheckpointIndex
impl UnwindSafe for CommittedCheckpointIndex
Blanket Implementations§
impl<T> Allocation for T
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].