#[non_exhaustive]pub enum StorageError {
Show 27 variants
Corrupted(String),
Internal(String),
ValueTooLarge(usize),
BlobNotFound(u64),
BlobChecksumMismatch {
sequence: u64,
expected: u128,
actual: u128,
},
BlobWriterActive,
BlobWriterFinished,
BlobRangeOutOfBounds {
blob_length: u64,
requested_offset: u64,
requested_length: u64,
},
MemoryBudgetExceeded {
budget: usize,
used: usize,
},
HistorySnapshotNotFound(u64),
InvalidPageType {
page_region: u32,
page_index: u32,
page_order: u8,
found: u8,
},
InvalidChildRef {
page_region: u32,
page_index: u32,
page_order: u8,
child_index: usize,
is_checksum: bool,
},
InvalidEntryIndex {
page_region: u32,
page_index: u32,
page_order: u8,
entry_index: usize,
},
PageCorrupted {
page_region: u32,
page_index: u32,
page_order: u8,
detail: &'static str,
},
CdcCursorBehindRetention {
cursor_txn_id: u64,
oldest_retained_txn_id: u64,
},
InvalidConfiguration {
message: String,
},
IndexNotTrained {
index_name: String,
},
DimensionMismatch {
index_name: String,
expected: usize,
actual: usize,
},
InvalidIndexConfig {
detail: String,
},
FormatError {
detail: String,
},
RecoveryRequired,
OutOfSpace,
LockTimeout(String),
Io(BackendError),
PreviousIo,
DatabaseClosed,
LockPoisoned(&'static Location<'static>),
}Expand description
General errors directly from the storage layer
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Corrupted(String)
The Database is corrupted
Internal(String)
An internal invariant was violated, indicating a bug in the database engine. This is NOT caused by on-disk corruption – it means the code has a logic error. If you encounter this error, please file a bug report.
ValueTooLarge(usize)
The value being inserted exceeds the maximum of 3GiB
BlobNotFound(u64)
A blob with the given sequence ID was not found in the blob store
BlobChecksumMismatch
Blob data checksum does not match the stored checksum
Fields
BlobWriterActive
A streaming blob writer is already active on this transaction
BlobWriterFinished
The streaming blob writer has already been finished
BlobRangeOutOfBounds
The requested byte range exceeds the blob’s length
Fields
MemoryBudgetExceeded
The configured memory budget has been exceeded and the operation cannot proceed
HistorySnapshotNotFound(u64)
The requested history snapshot was not found for the given transaction ID
InvalidPageType
A B-tree page has an unexpected type byte
Fields
InvalidChildRef
A child pointer or checksum on a B-tree branch page is invalid
Fields
InvalidEntryIndex
An entry index on a B-tree page is invalid or out of range
Fields
PageCorrupted
A B-tree page has structural corruption
Fields
CdcCursorBehindRetention
A CDC cursor position falls behind the retention window, meaning entries have been pruned and the consumer may have missed changes.
Fields
InvalidConfiguration
A configuration parameter is invalid (e.g. page size, region size).
IndexNotTrained
The IVF-PQ index has not been trained yet
DimensionMismatch
Vector dimensionality does not match the index configuration
Fields
InvalidIndexConfig
IVF-PQ index configuration is invalid
FormatError
On-disk format validation failed (magic number, version, layout, record structure)
RecoveryRequired
Database requires recovery before this operation can proceed
OutOfSpace
Storage space exhausted; the allocator cannot grow further
LockTimeout(String)
Timed out waiting for a write transaction lock (no_std spin-lock).
This is transient contention, not corruption.
Io(BackendError)
PreviousIo
DatabaseClosed
LockPoisoned(&'static Location<'static>)
Trait Implementations§
Source§impl Debug for StorageError
impl Debug for StorageError
Source§impl Display for StorageError
impl Display for StorageError
Source§impl Error for StorageError
Available on crate feature std only.
impl Error for StorageError
std only.1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<BackendError> for StorageError
impl From<BackendError> for StorageError
Source§fn from(err: BackendError) -> StorageError
fn from(err: BackendError) -> StorageError
Source§impl From<Error> for StorageError
Available on crate feature std only.
impl From<Error> for StorageError
std only.Source§fn from(err: Error) -> StorageError
fn from(err: Error) -> StorageError
Source§impl<T> From<PoisonError<T>> for StorageError
Available on crate feature std only.
impl<T> From<PoisonError<T>> for StorageError
std only.