risingwave_hummock_trace/
error.rsuse bincode::error::{DecodeError, EncodeError};
use thiserror::Error;
use crate::RecordId;
pub type Result<T> = std::result::Result<T, TraceError>;
#[derive(Error, Debug)]
pub enum TraceError {
#[error("failed to encode, {0}")]
Encode(#[from] EncodeError),
#[error("failed to decode, {0}")]
Decode(#[from] DecodeError),
#[error("failed to read or write {0}")]
Io(#[from] std::io::Error),
#[error("invalid magic bytes, expected {expected}, found {found}")]
MagicBytes { expected: u32, found: u32 },
#[error("try to close a non-existing record {0}")]
FinRecord(RecordId),
#[error("failed to create a iter {0}")]
IterFailed(String),
#[error("failed to get key {0}")]
GetFailed(String),
#[error("failed to ingest {0}")]
IngestFailed(String),
#[error("failed to sync {0}")]
SyncFailed(String),
#[error("{0}")]
Other(&'static str),
#[error("failed to try wait epoch")]
TryWaitEpochFailed,
#[error("failed to clear shared buffer")]
ClearSharedBufferFailed,
#[error("failed to flush")]
FlushFailed,
#[error("failed to try_flush")]
TryFlushFailed,
}