#[non_exhaustive]pub enum CommitError {
Show 21 variants
Conflict {
expected: u64,
found: u64,
backtrace: Backtrace,
},
Storage {
source: StorageError,
},
Protocol {
source: TableProtocolError,
backtrace: Backtrace,
},
CommitDeserialization {
version: u64,
source: Error,
backtrace: Backtrace,
},
CommitSerialization {
version: u64,
source: Error,
backtrace: Backtrace,
},
CurrentVersionParse {
contents: String,
source: ParseIntError,
backtrace: Backtrace,
},
InvalidPersistedPath {
description: String,
path: String,
source: Box<StorageError>,
},
InvalidIndexSpec {
source: IndexSpecError,
backtrace: Backtrace,
},
TableSchemaCompatibility {
source: Box<SchemaCompatibilityError>,
},
SegmentEntityIdentitySchema {
path: String,
source: Box<SchemaCompatibilityError>,
},
SegmentMetadata {
source: Box<SegmentMetaError>,
},
UninitializedTableState {
backtrace: Backtrace,
},
CommitVersionMismatch {
expected: u64,
found: u64,
backtrace: Backtrace,
},
DuplicateLiveSegmentPath {
path: String,
backtrace: Backtrace,
},
MissingTableMetadata {
current_version: u64,
backtrace: Backtrace,
},
CoverageIndexKindMismatch {
expected: IndexKind,
actual: IndexKind,
pointer_version: u64,
backtrace: Box<Backtrace>,
},
MissingLogicalSchemaForSegments {
backtrace: Backtrace,
},
InvalidSegmentEntityLayout {
path: String,
entity_column_count: usize,
layout: SegmentEntityLayout,
backtrace: Backtrace,
},
VersionOverflow {
current_version: u64,
backtrace: Backtrace,
},
EmptyCurrentPointer {
path: String,
backtrace: Backtrace,
},
AmbiguousOutcome {
commit_path: String,
operation_error: Box<StorageError>,
cleanup_error: Box<StorageError>,
},
}Expand description
Errors that can occur while reading or writing the commit log.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Conflict
The caller’s expected_version does not match the CURRENT pointer.
Fields
Storage
Underlying storage error while working with the log or CURRENT file.
Backtraces are delegated to the inner StorageError.
Fields
source: StorageErrorUnderlying storage error returned by the storage backend.
Protocol
The table protocol is incompatible with this operation.
Fields
source: TableProtocolErrorComplete table protocol failure.
CommitDeserialization
A commit payload could not be decoded from JSON.
Fields
CommitSerialization
A commit payload could not be encoded as JSON.
Fields
CurrentVersionParse
The CURRENT pointer is not an unsigned transaction-log version.
Fields
source: ParseIntErrorInteger parsing failure.
InvalidPersistedPath
A persisted table-relative path is invalid.
Fields
source: Box<StorageError>Structured path validation failure.
InvalidIndexSpec
A persisted ordered-index specification is invalid.
Fields
source: IndexSpecErrorOrdered-index validation failure.
TableSchemaCompatibility
Persisted table schema and ordered-index metadata are incompatible.
Fields
source: Box<SchemaCompatibilityError>Complete schema compatibility failure.
SegmentEntityIdentitySchema
A persisted single-entity segment identity is incompatible with the table schema.
Fields
source: Box<SchemaCompatibilityError>Complete entity identity compatibility failure.
SegmentMetadata
Persisted segment metadata violates its registered ordered-index domain.
Fields
source: Box<SegmentMetaError>Complete segment metadata validation failure.
UninitializedTableState
Rebuilding table state was requested before the first commit.
CommitVersionMismatch
A commit file name and its payload disagree on the version.
Fields
DuplicateLiveSegmentPath
More than one live AddSegment action uses the same path.
Fields
MissingTableMetadata
No table metadata was found while replaying the selected commits.
Fields
CoverageIndexKindMismatch
A persisted coverage pointer describes a different ordered index.
Fields
MissingLogicalSchemaForSegments
Persisted segments exist without the logical schema needed to validate them.
InvalidSegmentEntityLayout
A persisted segment entity layout is incompatible with the table metadata.
Fields
layout: SegmentEntityLayoutRejected persisted layout.
VersionOverflow
Incrementing the transaction-log version would overflow u64.
Fields
EmptyCurrentPointer
The CURRENT pointer contains no version.
Fields
AmbiguousOutcome
A commit operation failed and its newly-created commit file may remain.
Fields
operation_error: Box<StorageError>Write, sync, or publish failure that triggered cleanup.
cleanup_error: Box<StorageError>Failure encountered while removing the unpublished commit file.
Trait Implementations§
Source§impl Debug for CommitError
impl Debug for CommitError
Source§impl Display for CommitError
impl Display for CommitError
Source§impl Error for CommitError
impl Error for CommitError
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 ErrorCompat for CommitError
impl ErrorCompat for CommitError
Source§fn iter_chain(&self) -> ChainCompat<'_, '_> ⓘwhere
Self: AsErrorSource,
fn iter_chain(&self) -> ChainCompat<'_, '_> ⓘwhere
Self: AsErrorSource,
Error::source. Read moreSource§impl From<CommitError> for AppendError
impl From<CommitError> for AppendError
Source§fn from(error: CommitError) -> Self
fn from(error: CommitError) -> Self
Source§impl From<CommitError> for CreateTableError
impl From<CommitError> for CreateTableError
Source§fn from(error: CommitError) -> Self
fn from(error: CommitError) -> Self
Source§impl From<CommitError> for OpenTableError
impl From<CommitError> for OpenTableError
Source§fn from(error: CommitError) -> Self
fn from(error: CommitError) -> Self
Source§impl From<CommitError> for OptimizeError
impl From<CommitError> for OptimizeError
Source§fn from(error: CommitError) -> Self
fn from(error: CommitError) -> Self
Source§impl From<CommitError> for TableStateAccessError
impl From<CommitError> for TableStateAccessError
Source§fn from(error: CommitError) -> Self
fn from(error: CommitError) -> Self
Source§impl From<TableProtocolError> for CommitError
impl From<TableProtocolError> for CommitError
Source§fn from(error: TableProtocolError) -> Self
fn from(error: TableProtocolError) -> Self
Auto Trait Implementations§
impl !Freeze for CommitError
impl !RefUnwindSafe for CommitError
impl !UnwindSafe for CommitError
impl Send for CommitError
impl Sync for CommitError
impl Unpin for CommitError
impl UnsafeUnpin for CommitError
Blanket Implementations§
Source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
Source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
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