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> AsAny for T
impl<T> AsAny for T
Source§fn any_ref(&self) -> &(dyn Any + Sync + Send + 'static)
fn any_ref(&self) -> &(dyn Any + Sync + Send + 'static)
dyn Any reference to the object: Read moreSource§fn as_any(self: Arc<T>) -> Arc<dyn Any + Sync + Send>
fn as_any(self: Arc<T>) -> Arc<dyn Any + Sync + Send>
Arc<dyn Any> reference to the object: Read moreSource§fn into_any(self: Box<T>) -> Box<dyn Any + Sync + Send>
fn into_any(self: Box<T>) -> Box<dyn Any + Sync + Send>
Box<dyn Any>: Read moreSource§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
std::any::type_name, since Any does not provide it and
Any::type_id is useless as a debugging aid (its Debug is just a mess of hex digits).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 moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.