#[non_exhaustive]pub struct BlockVerifyReport {
pub sst_files_scanned: usize,
pub blocks_scanned: usize,
pub errors: Vec<BlockVerifyError>,
pub warnings: Vec<BlockVerifyWarning>,
}Expand description
Aggregated result of a per-block scrub run.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.sst_files_scanned: usizeNumber of SST table files visited (one per scan).
blocks_scanned: usizeTotal blocks successfully header-read across all SSTs. Includes blocks where the data checksum subsequently failed.
errors: Vec<BlockVerifyError>Per-block errors collected during the scan. The scan always runs to completion across all SSTs even if individual blocks or whole files are corrupt.
warnings: Vec<BlockVerifyWarning>Non-fatal findings: data verified, but ECC could not be checked for
some tables (unrecognized scheme — recompaction recommended). Distinct
from errors: warnings do NOT make Self::is_ok false.
Implementations§
Source§impl BlockVerifyReport
impl BlockVerifyReport
Sourcepub fn is_ok(&self) -> bool
pub fn is_ok(&self) -> bool
true if every block in every SST verified clean. Warnings (e.g. an
unrecognized ECC scheme whose data still checksum-verified) do NOT
make this false — only real corruption (errors) does.
Sourcepub fn has_warnings(&self) -> bool
pub fn has_warnings(&self) -> bool
true if the scrub produced any non-fatal warning.
Trait Implementations§
Source§impl Debug for BlockVerifyReport
impl Debug for BlockVerifyReport
Source§impl Default for BlockVerifyReport
impl Default for BlockVerifyReport
Source§fn default() -> BlockVerifyReport
fn default() -> BlockVerifyReport
Auto Trait Implementations§
impl Freeze for BlockVerifyReport
impl RefUnwindSafe for BlockVerifyReport
impl Send for BlockVerifyReport
impl Sync for BlockVerifyReport
impl Unpin for BlockVerifyReport
impl UnsafeUnpin for BlockVerifyReport
impl UnwindSafe for BlockVerifyReport
Blanket Implementations§
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> 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