pub enum VerifyFinding {
HashMismatch {
seq: u64,
},
Gap {
range: GapRange,
},
SeqMismatch {
table_key: u64,
embedded_seq: u64,
},
IndexDrift {
kind: IndexKind,
key: String,
drift: IndexDrift,
},
ManifestMismatch {
kind: ManifestField,
reason: String,
},
SnapshotAnchorInvalid {
reason: String,
},
}Expand description
One actionable integrity finding from a verifier run.
Variants§
HashMismatch
The recomputed canonical hash of seq did not match the stored value.
Gap
One or more contiguous seq slots inside the high-watermark are missing.
SeqMismatch
The entry stored at table key table_key carries an entry.seq that
disagrees with the key.
The canonical hash hashes entry.seq rather than the table key, so a row
whose bytes were moved or duplicated under a different key still passes the
hash check. The verifier surfaces the divergence so that class of
corruption never reads as clean.
Fields
IndexDrift
A stored sidecar index entry diverges from the projection rebuilt from the entry table.
Fields
drift: IndexDriftThe kind of drift observed.
ManifestMismatch
A manifest field disagrees with the entry table or violates a sealed-state invariant.
Fields
kind: ManifestFieldWhich manifest field the finding applies to.
SnapshotAnchorInvalid
The recorded snapshot anchor cannot support a restore: it fails to decode or points past the durable high-watermark.
Trait Implementations§
Source§impl Clone for VerifyFinding
impl Clone for VerifyFinding
Source§fn clone(&self) -> VerifyFinding
fn clone(&self) -> VerifyFinding
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 VerifyFinding
impl Debug for VerifyFinding
impl Eq for VerifyFinding
Source§impl PartialEq for VerifyFinding
impl PartialEq for VerifyFinding
Source§fn eq(&self, other: &VerifyFinding) -> bool
fn eq(&self, other: &VerifyFinding) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for VerifyFinding
Auto Trait Implementations§
impl Freeze for VerifyFinding
impl RefUnwindSafe for VerifyFinding
impl Send for VerifyFinding
impl Sync for VerifyFinding
impl Unpin for VerifyFinding
impl UnsafeUnpin for VerifyFinding
impl UnwindSafe for VerifyFinding
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