#[non_exhaustive]pub enum AppendError {
Show 23 variants
Protocol {
source: TableProtocolError,
backtrace: Backtrace,
},
ArrowInput {
source: ArrowError,
backtrace: Backtrace,
},
ArrowToLogicalSchema {
source: ArrowToLogicalSchemaError,
backtrace: Backtrace,
},
EmptyInput,
InvalidMaxRowsPerRowGroup {
max_rows_per_row_group: usize,
},
InvalidMaxBytesPerRowGroup {
max_bytes_per_row_group: usize,
},
SchemaValidation {
source: Box<SchemaCompatibilityError>,
},
GeneratedSegmentSchemaCompatibility {
segment_path: String,
source: Box<SchemaCompatibilityError>,
},
MissingCanonicalTableSchema {
version: u64,
},
SegmentMetadata {
source: Box<SegmentError>,
},
ParquetWrite {
source: ParquetError,
backtrace: Backtrace,
},
GeneratedSegmentCoverage {
source: Box<SegmentCoverageError>,
},
IndexIntervalMapping {
source: IndexIntervalMappingError,
backtrace: Backtrace,
},
CoverageSidecar {
source: Box<CoverageSidecarError>,
},
PersistedIndexIntervalOverlap {
segment_path: String,
overlap_count: u128,
example_identity: Option<EntityIdentity>,
example_index_interval_id: IndexIntervalId,
example_index_interval: Box<IndexInterval>,
},
EmptySegmentEntityCoverage {
segment_path: String,
},
EntityWithoutIndexCoverage {
segment_path: String,
identity: EntityIdentity,
},
ExistingSegmentMissingCoverageMetadata {
segment_path: String,
},
ExistingSegmentCoverageSidecarRead {
segment_path: String,
coverage_path: String,
source: Box<CoverageSidecarError>,
},
Storage {
source: StorageError,
},
Commit {
source: CommitError,
},
CommitAmbiguous {
segment_path: String,
source: Box<CommitError>,
},
Rollback {
source: Box<AppendError>,
cleanup_errors: Vec<StorageError>,
},
}Expand description
Errors owned by an append operation.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Protocol
The table protocol does not permit this client to append.
Fields
source: TableProtocolErrorComplete table protocol failure.
ArrowInput
An Arrow input reader or batch normalization failed.
Fields
source: ArrowErrorArrow error returned while reading or normalizing a batch.
ArrowToLogicalSchema
An Arrow schema could not be represented by the table logical schema.
Fields
source: ArrowToLogicalSchemaErrorArrow-to-logical schema conversion failure.
EmptyInput
An append input contained no rows.
InvalidMaxRowsPerRowGroup
A configured Parquet row group cannot contain zero rows.
InvalidMaxBytesPerRowGroup
A configured Parquet row group cannot contain zero estimated bytes.
SchemaValidation
Validating the incoming and registered table schemas failed.
Fields
source: Box<SchemaCompatibilityError>Complete schema compatibility failure.
GeneratedSegmentSchemaCompatibility
A generated segment is incompatible with the table schema.
Fields
source: Box<SchemaCompatibilityError>Complete schema compatibility failure.
MissingCanonicalTableSchema
Table state lacks the canonical schema required by append.
SegmentMetadata
Reading metadata from the generated segment failed.
Fields
source: Box<SegmentError>Complete segment metadata failure.
ParquetWrite
Streaming the append input into Parquet failed.
Fields
source: ParquetErrorParquet writer failure.
GeneratedSegmentCoverage
Deriving ordered-index coverage from the generated segment failed.
Fields
source: Box<SegmentCoverageError>Complete segment coverage derivation failure.
IndexIntervalMapping
An ordered-index interval could not be reconstructed for a diagnostic.
Fields
source: IndexIntervalMappingErrorComplete interval mapping failure.
CoverageSidecar
A coverage sidecar could not be prepared or written.
Fields
source: Box<CoverageSidecarError>Complete coverage sidecar failure.
PersistedIndexIntervalOverlap
The generated segment overlaps coverage already persisted by the table.
Fields
example_identity: Option<EntityIdentity>First overlapping identity, or None for a table-wide index.
example_index_interval_id: IndexIntervalIdInternal ID of the example interval.
example_index_interval: Box<IndexInterval>Logical ordered-index interval represented by the example ID.
EmptySegmentEntityCoverage
An entity-aware generated segment produced no entity coverage.
EntityWithoutIndexCoverage
One entity has rows but no usable ordered-index coverage.
Fields
identity: EntityIdentityComplete identity whose rows all have null ordered-index values.
ExistingSegmentMissingCoverageMetadata
An existing segment lacks coverage metadata required by append.
ExistingSegmentCoverageSidecarRead
Reading one existing segment’s coverage sidecar during recovery failed.
Fields
source: Box<CoverageSidecarError>Complete coverage sidecar failure.
Storage
Direct storage access for an append artifact failed.
Fields
source: StorageErrorComplete storage failure.
Commit
Publishing the append transaction failed with a definite outcome.
Fields
source: CommitErrorComplete transaction-log failure.
CommitAmbiguous
The append transaction may have committed, so its artifacts were preserved.
Fields
source: Box<CommitError>Ambiguous transaction-log failure.
Rollback
Append failed and one or more attempt-owned artifacts could not be removed.
Fields
source: Box<AppendError>Original append failure that triggered rollback.
cleanup_errors: Vec<StorageError>Typed cleanup failure for every artifact that could not be removed.
Trait Implementations§
Source§impl Debug for AppendError
impl Debug for AppendError
Source§impl Display for AppendError
impl Display for AppendError
Source§impl Error for AppendError
impl Error for AppendError
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 AppendError
impl ErrorCompat for AppendError
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<CoverageSidecarError> for AppendError
impl From<CoverageSidecarError> for AppendError
Source§fn from(error: CoverageSidecarError) -> Self
fn from(error: CoverageSidecarError) -> Self
Source§impl From<IndexIntervalMappingError> for AppendError
impl From<IndexIntervalMappingError> for AppendError
Source§fn from(error: IndexIntervalMappingError) -> Self
fn from(error: IndexIntervalMappingError) -> Self
Source§impl From<SchemaCompatibilityError> for AppendError
impl From<SchemaCompatibilityError> for AppendError
Source§fn from(error: SchemaCompatibilityError) -> Self
fn from(error: SchemaCompatibilityError) -> Self
Source§impl From<SegmentCoverageError> for AppendError
impl From<SegmentCoverageError> for AppendError
Source§fn from(error: SegmentCoverageError) -> Self
fn from(error: SegmentCoverageError) -> Self
Source§impl From<SegmentError> for AppendError
impl From<SegmentError> for AppendError
Source§fn from(error: SegmentError) -> Self
fn from(error: SegmentError) -> Self
Source§impl From<StorageError> for AppendError
impl From<StorageError> for AppendError
Source§fn from(error: StorageError) -> Self
fn from(error: StorageError) -> Self
Source§impl From<TableProtocolError> for AppendError
impl From<TableProtocolError> for AppendError
Source§fn from(error: TableProtocolError) -> Self
fn from(error: TableProtocolError) -> Self
Auto Trait Implementations§
impl !Freeze for AppendError
impl !RefUnwindSafe for AppendError
impl !UnwindSafe for AppendError
impl Send for AppendError
impl Sync for AppendError
impl Unpin for AppendError
impl UnsafeUnpin for AppendError
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