pub enum MarkerFinding {
ManifestCountMismatch {
kind: MarkerCountKind,
manifest_count: u64,
scanned_count: u64,
},
MarkerSeqGap {
from_marker_seq: u64,
to_marker_seq: u64,
},
MarkerSeqOverlap {
from_marker_seq: u64,
to_marker_seq: u64,
},
InvalidMarkerGap {
from_marker_seq: u64,
to_marker_seq: u64,
},
EventSeqRegressed {
marker_seq: u64,
previous_event_seq_before: u64,
event_seq_before: u64,
},
EventSeqExceedsHighWatermark {
marker_seq: u64,
event_seq_before: u64,
high_watermark: u64,
},
CursorCountRegressed {
marker_seq: u64,
slot: StreamSlot,
previous_count: u64,
count: u64,
},
CursorTsInitRegressed {
marker_seq: u64,
slot: StreamSlot,
previous_ts_init_hi: UnixNanos,
ts_init_hi: UnixNanos,
},
HashMismatch {
record: MarkerRecordKind,
marker_seq: Option<u64>,
slot: Option<StreamSlot>,
},
}Expand description
One non-fatal integrity finding from a marker verification scan.
Variants§
ManifestCountMismatch
A marker manifest count disagrees with the scanned table row count.
Fields
kind: MarkerCountKindWhich manifest count diverged.
MarkerSeqGap
One or more marker sequence values were neither present nor covered by a gap.
Fields
MarkerSeqOverlap
A marker sequence value was covered more than once.
Fields
InvalidMarkerGap
A stored gap has an invalid inclusive range.
Fields
EventSeqRegressed
event_seq_before decreased as marker_seq advanced.
Fields
EventSeqExceedsHighWatermark
event_seq_before exceeded the sibling entry run high-watermark.
Fields
CursorCountRegressed
A per-slot cursor count decreased between snapshots.
Fields
slot: StreamSlotThe stream slot whose cursor regressed.
CursorTsInitRegressed
A per-slot highest ts_init decreased between snapshots.
Fields
slot: StreamSlotThe stream slot whose cursor regressed.
previous_ts_init_hi: UnixNanosThe previous highest ts_init for this slot.
ts_init_hi: UnixNanosThe current highest ts_init for this slot.
HashMismatch
A stored durable record hash did not match the recomputed canonical hash.
Fields
record: MarkerRecordKindThe table kind whose stored hash diverged.
slot: Option<StreamSlot>The stream slot when the record kind carries one.
Trait Implementations§
Source§impl Clone for MarkerFinding
impl Clone for MarkerFinding
Source§fn clone(&self) -> MarkerFinding
fn clone(&self) -> MarkerFinding
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 MarkerFinding
impl Debug for MarkerFinding
impl Eq for MarkerFinding
Source§impl PartialEq for MarkerFinding
impl PartialEq for MarkerFinding
Source§fn eq(&self, other: &MarkerFinding) -> bool
fn eq(&self, other: &MarkerFinding) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for MarkerFinding
Auto Trait Implementations§
impl Freeze for MarkerFinding
impl RefUnwindSafe for MarkerFinding
impl Send for MarkerFinding
impl Sync for MarkerFinding
impl Unpin for MarkerFinding
impl UnsafeUnpin for MarkerFinding
impl UnwindSafe for MarkerFinding
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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<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