pub enum StorageError {
Show 14 variants
IoError(Error),
PathError {
path: PathBuf,
source: Error,
},
BincodeError(Box<ErrorKind>),
StateMachineError(String),
LogStorage(String),
DataCorruption {
location: String,
},
ConfigStorage(String),
DbError(String),
Convert(ConvertError),
File(FileError),
SerializationError(String),
IdAllocation(IdAllocationError),
FeatureNotEnabled(String),
NotServing(String),
}Expand description
Storage-specific error type
Variants§
IoError(Error)
Disk I/O failures during log/snapshot operations
PathError
Custom error with a path as a string slice (&str)
BincodeError(Box<ErrorKind>)
Serialization failures for persisted data
StateMachineError(String)
State machine application errors
LogStorage(String)
Log storage subsystem failures
DataCorruption
Checksum validation failures
ConfigStorage(String)
Configuration storage failures
DbError(String)
Embedded database errors
Convert(ConvertError)
Error type for value conversion operations
File(FileError)
File errors
SerializationError(String)
Serialization error
IdAllocation(IdAllocationError)
ID allocation errors
FeatureNotEnabled(String)
Feature not enabled in configuration
Returned when client requests a feature (e.g., TTL) that is not enabled in the server configuration. This prevents silent failures and ensures explicit feature activation.
NotServing(String)
State machine not serving requests
Returned when read operations are attempted during critical operations such as snapshot restoration. This ensures reads never access inconsistent or temporary state during database transitions.
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
impl Error for StorageError
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
Source§impl From<ConvertError> for StorageError
impl From<ConvertError> for StorageError
Source§fn from(source: ConvertError) -> StorageError
fn from(source: ConvertError) -> StorageError
Source§impl From<Error> for StorageError
impl From<Error> for StorageError
Source§fn from(source: Error) -> StorageError
fn from(source: Error) -> StorageError
Source§impl From<FileError> for StorageError
impl From<FileError> for StorageError
Source§fn from(source: FileError) -> StorageError
fn from(source: FileError) -> StorageError
Source§impl From<IdAllocationError> for StorageError
impl From<IdAllocationError> for StorageError
Source§fn from(source: IdAllocationError) -> StorageError
fn from(source: IdAllocationError) -> StorageError
Source§impl From<StorageError> for Error
impl From<StorageError> for Error
Source§fn from(e: StorageError) -> Error
fn from(e: StorageError) -> Error
Auto Trait Implementations§
impl Freeze for StorageError
impl !RefUnwindSafe for StorageError
impl Send for StorageError
impl Sync for StorageError
impl Unpin for StorageError
impl !UnwindSafe for StorageError
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request