pub struct ClusterRecoveryCapsule {Show 14 fields
pub version: u32,
pub attempt: CheckpointAttempt,
pub deployment_id: String,
pub pipeline_identity: PipelineIdentity,
pub assignment_fence: CheckpointAssignmentFence,
pub seal_inventory_sha256: String,
pub participants: Vec<ParticipantRecoveryRef>,
pub source_offsets: BTreeMap<String, BTreeMap<String, String>>,
pub source_metadata: BTreeMap<String, BTreeMap<String, String>>,
pub source_assignment_versions: BTreeMap<String, NonZeroU64>,
pub source_watermarks: BTreeMap<String, i64>,
pub cluster_watermark: CheckpointWatermark,
pub recovery_watermark_frontier: Option<i64>,
pub portable_state_sha256: String,
}Expand description
Canonical global recovery image selected by one cluster Commit outcome.
Fields§
§version: u32Capsule payload format.
attempt: CheckpointAttemptExact checkpoint attempt represented by this image.
deployment_id: StringDurable deployment incarnation that owns the image.
pipeline_identity: PipelineIdentityExact logical pipeline and recovery-state ABI.
assignment_fence: CheckpointAssignmentFenceExact vnode assignment and process roster covered by the image.
seal_inventory_sha256: StringSHA-256 of the canonical state-backend seal inventory.
participants: Vec<ParticipantRecoveryRef>Participant artifacts, sorted by participant ID and exactly covering the fence.
source_offsets: BTreeMap<String, BTreeMap<String, String>>Complete per-source connector offsets in canonical map order.
source_metadata: BTreeMap<String, BTreeMap<String, String>>Complete per-source connector metadata in canonical map order.
source_assignment_versions: BTreeMap<String, NonZeroU64>Assignment version captured by each partitioned source, in canonical source-name order.
The map may be sparse because runtime topology determines which sources require an
assignment cut. Every populated version must match assignment_fence.
source_watermarks: BTreeMap<String, i64>Per-source event-time watermarks in canonical map order.
cluster_watermark: CheckpointWatermarkCluster-wide event-time state at this exact cut.
recovery_watermark_frontier: Option<i64>Durable numeric event-time frontier restored with this cut.
This equals the active watermark for an active cut, is absent for an uninitialized cut, and may retain the last active value for an idle cut.
portable_state_sha256: StringSHA-256 of the canonical portable non-vnode state image.
Implementations§
Trait Implementations§
Source§impl Clone for ClusterRecoveryCapsule
impl Clone for ClusterRecoveryCapsule
Source§fn clone(&self) -> ClusterRecoveryCapsule
fn clone(&self) -> ClusterRecoveryCapsule
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 ClusterRecoveryCapsule
impl Debug for ClusterRecoveryCapsule
Source§impl<'de> Deserialize<'de> for ClusterRecoveryCapsule
impl<'de> Deserialize<'de> for ClusterRecoveryCapsule
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 ClusterRecoveryCapsule
Source§impl PartialEq for ClusterRecoveryCapsule
impl PartialEq for ClusterRecoveryCapsule
Source§impl Serialize for ClusterRecoveryCapsule
impl Serialize for ClusterRecoveryCapsule
impl StructuralPartialEq for ClusterRecoveryCapsule
Auto Trait Implementations§
impl Freeze for ClusterRecoveryCapsule
impl RefUnwindSafe for ClusterRecoveryCapsule
impl Send for ClusterRecoveryCapsule
impl Sync for ClusterRecoveryCapsule
impl Unpin for ClusterRecoveryCapsule
impl UnsafeUnpin for ClusterRecoveryCapsule
impl UnwindSafe for ClusterRecoveryCapsule
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
key and return true if they are equal.§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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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].