pub enum StoreError {
Pipeline(PipelineError),
Log(LogError),
CorruptTail {
offset: u64,
source: DecodeError,
},
CorruptCommittedLog {
source: DecodeError,
},
DagReplay {
source: DagError,
},
InvalidEpisodeMetadata {
reason: &'static str,
},
}Expand description
Errors produced by Store.
Variants§
Pipeline(PipelineError)
A pipeline stage (parse / bind / semantic / emit) rejected the batch. In-memory state and log are both untouched.
Log(LogError)
A filesystem / I/O failure during append, sync, or truncate. On commit-time failures the pipeline and log are rolled back to their pre-batch state before this error is returned.
CorruptTail
Non-recoverable bytes were found after the last durable
CHECKPOINT during Store::open. Unlike crash-shaped orphan
tails (Truncated / LengthMismatch) or valid uncommitted
records, these bytes are preserved for inspection or restore
rather than silently truncated.
Fields
source: DecodeErrorThe underlying DecodeError from canonical::decode_record.
CorruptCommittedLog
The committed portion of the log (bytes before the last
CHECKPOINT fsync) failed to decode during Store::open. This
is distinct from tail recovery and indicates genuine
corruption in the durable store.
Fields
source: DecodeErrorThe underlying DecodeError from canonical::decode_all.
DagReplay
A supersession edge replayed from the committed log failed its
acyclicity check. The on-disk edges are expected to satisfy
temporal-model.md § 6.2 invariant #1; surfacing as a typed
error on open keeps silent invariant violations out of the
reopened store.
InvalidEpisodeMetadata
Supplied EpisodeMetadata violates a
episode-semantics.md constraint — e.g. a label exceeding
the 256-byte cap (§ 4.3).
Trait Implementations§
Source§impl Debug for StoreError
impl Debug for StoreError
Source§impl Display for StoreError
impl Display for StoreError
Source§impl Error for StoreError
impl Error for StoreError
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()