Skip to main content

AppendError

Enum AppendError 

Source
#[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
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Protocol

The table protocol does not permit this client to append.

Fields

§source: TableProtocolError

Complete table protocol failure.

§backtrace: Backtrace

Backtrace captured at the append boundary.

§

ArrowInput

An Arrow input reader or batch normalization failed.

Fields

§source: ArrowError

Arrow error returned while reading or normalizing a batch.

§backtrace: Backtrace

Backtrace captured at the append input boundary.

§

ArrowToLogicalSchema

An Arrow schema could not be represented by the table logical schema.

Fields

§source: ArrowToLogicalSchemaError

Arrow-to-logical schema conversion failure.

§backtrace: Backtrace

Backtrace captured at the append schema boundary.

§

EmptyInput

An append input contained no rows.

§

InvalidMaxRowsPerRowGroup

A configured Parquet row group cannot contain zero rows.

Fields

§max_rows_per_row_group: usize

Rejected per-append row-group limit.

§

InvalidMaxBytesPerRowGroup

A configured Parquet row group cannot contain zero estimated bytes.

Fields

§max_bytes_per_row_group: usize

Rejected per-append row-group byte limit.

§

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

§segment_path: String

Generated table-relative segment path.

§source: Box<SchemaCompatibilityError>

Complete schema compatibility failure.

§

MissingCanonicalTableSchema

Table state lacks the canonical schema required by append.

Fields

§version: u64

Transaction log version missing a canonical logical schema.

§

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: ParquetError

Parquet writer failure.

§backtrace: Backtrace

Backtrace captured at the append writer boundary.

§

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: IndexIntervalMappingError

Complete interval mapping failure.

§backtrace: Backtrace

Backtrace captured at the append boundary.

§

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

§segment_path: String

Relative path of the generated segment.

§overlap_count: u128

Number of overlapping identity/index interval pairs.

§example_identity: Option<EntityIdentity>

First overlapping identity, or None for a table-wide index.

§example_index_interval_id: IndexIntervalId

Internal 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.

Fields

§segment_path: String

Relative path of the generated segment.

§

EntityWithoutIndexCoverage

One entity has rows but no usable ordered-index coverage.

Fields

§segment_path: String

Relative path of the generated segment.

§identity: EntityIdentity

Complete identity whose rows all have null ordered-index values.

§

ExistingSegmentMissingCoverageMetadata

An existing segment lacks coverage metadata required by append.

Fields

§segment_path: String

Canonical segment path missing coverage metadata.

§

ExistingSegmentCoverageSidecarRead

Reading one existing segment’s coverage sidecar during recovery failed.

Fields

§segment_path: String

Canonical path of the segment whose sidecar could not be read.

§coverage_path: String

Path of the failed coverage sidecar.

§source: Box<CoverageSidecarError>

Complete coverage sidecar failure.

§

Storage

Direct storage access for an append artifact failed.

Fields

§source: StorageError

Complete storage failure.

§

Commit

Publishing the append transaction failed with a definite outcome.

Fields

§source: CommitError

Complete transaction-log failure.

§

CommitAmbiguous

The append transaction may have committed, so its artifacts were preserved.

Fields

§segment_path: String

Generated table-relative Parquet path that was preserved.

§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

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for AppendError

Source§

fn fmt(&self, __snafu_display_formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for AppendError
where Self: Debug + Display,

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl ErrorCompat for AppendError

Source§

fn backtrace(&self) -> Option<&Backtrace>

Returns a Backtrace that may be printed.
Source§

fn iter_chain(&self) -> ChainCompat<'_, '_>
where Self: AsErrorSource,

Returns an iterator for traversing the chain of errors, starting with the current error and continuing with recursive calls to Error::source. Read more
Source§

impl From<CommitError> for AppendError

Source§

fn from(error: CommitError) -> Self

Converts to this type from the input type.
Source§

impl From<CoverageSidecarError> for AppendError

Source§

fn from(error: CoverageSidecarError) -> Self

Converts to this type from the input type.
Source§

impl From<IndexIntervalMappingError> for AppendError

Source§

fn from(error: IndexIntervalMappingError) -> Self

Converts to this type from the input type.
Source§

impl From<SchemaCompatibilityError> for AppendError

Source§

fn from(error: SchemaCompatibilityError) -> Self

Converts to this type from the input type.
Source§

impl From<SegmentCoverageError> for AppendError

Source§

fn from(error: SegmentCoverageError) -> Self

Converts to this type from the input type.
Source§

impl From<SegmentError> for AppendError

Source§

fn from(error: SegmentError) -> Self

Converts to this type from the input type.
Source§

impl From<StorageError> for AppendError

Source§

fn from(error: StorageError) -> Self

Converts to this type from the input type.
Source§

impl From<TableProtocolError> for AppendError

Source§

fn from(error: TableProtocolError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsErrorSource for T
where T: Error + 'static,

Source§

fn as_error_source(&self) -> &(dyn Error + 'static)

For maximum effectiveness, this needs to be called as a method to benefit from Rust’s automatic dereferencing of method receivers.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more