pub enum CommitConflictError {
ConcurrentAppend,
ConcurrentDeleteRead,
ConcurrentDeleteDelete,
MetadataChanged,
ConcurrentTransaction,
ProtocolChanged(String),
UnsupportedWriterVersion(i32),
UnsupportedReaderVersion(i32),
CorruptedState {
source: Box<dyn Error + Send + Sync + 'static>,
},
Predicate {
source: Box<dyn Error + Send + Sync + 'static>,
},
NoMetadata,
}
Expand description
Exceptions raised during commit conflict resolution
Variants§
ConcurrentAppend
This exception occurs when a concurrent operation adds files in the same partition (or anywhere in an un-partitioned table) that your operation reads. The file additions can be caused by INSERT, DELETE, UPDATE, or MERGE operations.
ConcurrentDeleteRead
This exception occurs when a concurrent operation deleted a file that your operation read. Common causes are a DELETE, UPDATE, or MERGE operation that rewrites files.
ConcurrentDeleteDelete
This exception occurs when a concurrent operation deleted a file that your operation also deletes. This could be caused by two concurrent compaction operations rewriting the same files.
MetadataChanged
This exception occurs when a concurrent transaction updates the metadata of a Delta table. Common causes are ALTER TABLE operations or writes to your Delta table that update the schema of the table.
ConcurrentTransaction
If a streaming query using the same checkpoint location is started multiple times concurrently and tries to write to the Delta table at the same time. You should never have two streaming queries use the same checkpoint location and run at the same time.
ProtocolChanged(String)
This exception can occur in the following cases:
- When your Delta table is upgraded to a new version. For future operations to succeed you may need to upgrade your Delta Lake version.
- When multiple writers are creating or replacing a table at the same time.
- When multiple writers are writing to an empty path at the same time.
UnsupportedWriterVersion(i32)
Error returned when the table requires an unsupported writer version
UnsupportedReaderVersion(i32)
Error returned when the table requires an unsupported writer version
CorruptedState
Error returned when the snapshot has missing or corrupted data
Predicate
Error returned when evaluating predicate
NoMetadata
Error returned when no metadata was found in the DeltaTable.
Trait Implementations§
Source§impl Debug for CommitConflictError
impl Debug for CommitConflictError
Source§impl Display for CommitConflictError
impl Display for CommitConflictError
Source§impl Error for CommitConflictError
impl Error for CommitConflictError
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
Source§impl From<CommitConflictError> for TransactionError
impl From<CommitConflictError> for TransactionError
Source§fn from(source: CommitConflictError) -> Self
fn from(source: CommitConflictError) -> Self
Auto Trait Implementations§
impl Freeze for CommitConflictError
impl !RefUnwindSafe for CommitConflictError
impl Send for CommitConflictError
impl Sync for CommitConflictError
impl Unpin for CommitConflictError
impl !UnwindSafe for CommitConflictError
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
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