pub enum MemtableError {
Frozen,
CapacityExceeded {
current: usize,
limit: usize,
},
Schema(SchemaError),
ShardOutOfRange {
timestamp: i64,
earliest: i64,
latest: i64,
tolerance: i64,
shard_secs: u64,
},
NoSuchShard(i64),
Io(Error),
Segment(SegmentError),
Flush(String),
NoFrozenMemtable,
Wal(WalError),
}Expand description
Errors that can occur during memtable operations.
Variants§
Frozen
The memtable is frozen and cannot accept new writes.
CapacityExceeded
Memory capacity exceeded — the memtable has reached its size limit.
Schema(SchemaError)
A schema violation was detected during insert.
ShardOutOfRange
The timestamp is outside the allowed out-of-order tolerance.
The message names timestamps, because shard identifiers are an
internal quotient nobody can act on: a Telegraf agent that buffered for
an hour was told write to shard 496833 rejected: outside tolerance window [496836..=496840], which says neither how late the point was
nor what to do about it. It also names the way out, because there is
one — importing history is backfill, and every network write path
exposes it.
Fields
NoSuchShard(i64)
A flush was asked for a shard the router does not hold.
Its own variant: this was reported as ShardOutOfRange with a target
shard and a [0..=0] window, which is a different fact stated with
made-up numbers.
Io(Error)
An I/O error occurred during flush.
Segment(SegmentError)
A segment write error occurred during flush.
Flush(String)
Registering a flushed segment failed; the memtable stays frozen.
NoFrozenMemtable
No frozen memtable is available for flushing.
Wal(WalError)
A WAL error occurred during truncation.
Trait Implementations§
Source§impl Debug for MemtableError
impl Debug for MemtableError
Source§impl Display for MemtableError
impl Display for MemtableError
Source§impl Error for MemtableError
impl Error for MemtableError
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<Error> for MemtableError
impl From<Error> for MemtableError
Source§impl From<SchemaError> for MemtableError
impl From<SchemaError> for MemtableError
Source§fn from(source: SchemaError) -> Self
fn from(source: SchemaError) -> Self
Source§impl From<SegmentError> for MemtableError
impl From<SegmentError> for MemtableError
Source§fn from(source: SegmentError) -> Self
fn from(source: SegmentError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for MemtableError
impl !UnwindSafe for MemtableError
impl Freeze for MemtableError
impl Send for MemtableError
impl Sync for MemtableError
impl Unpin for MemtableError
impl UnsafeUnpin for MemtableError
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> 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> 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