#[non_exhaustive]pub enum Error {
Storage(Error),
Io(Error),
JournalRecovery(RecoveryError),
InvalidVersion(Option<FormatVersion>),
Decompress(CompressionType),
InvalidTrailer,
InvalidTag((&'static str, u8)),
Poisoned,
KeyspaceDeleted,
Locked,
Unrecoverable,
}Expand description
Errors that may occur in the storage engine
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Storage(Error)
Error inside LSM-tree
Io(Error)
I/O error
JournalRecovery(RecoveryError)
Error during journal recovery
InvalidVersion(Option<FormatVersion>)
Invalid or unparsable data format version
Decompress(CompressionType)
Decompression failed
InvalidTrailer
Invalid journal trailer detected
InvalidTag((&'static str, u8))
Invalid tag detected during decoding
Poisoned
A previous flush / commit operation failed, indicating a hardware-related failure
Future writes will not be accepted as consistency cannot be guaranteed.
At this point, it’s best to let the application crash and try to recover.
More info: https://www.usenix.org/system/files/atc20-rebello.pdf
KeyspaceDeleted
Keyspace is deleted
Locked
Database is locked.
Unrecoverable
Database is unrecoverable, see logs for details
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
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
Mutably borrows from an owned value. Read more