DeltaErrors Utility¶
concurrentAppendException¶
concurrentAppendException(
conflictingCommit: Option[CommitInfo],
partition: String,
customRetryMsg: Option[String] = None): ConcurrentAppendException
concurrentAppendException
creates a ConcurrentAppendException with the following message:
Files were added to [partition] by a concurrent update. [customRetryMsg] | Please try the operation again.
Conflicting commit: [commitinfo]
Refer to [docs]/concurrency-control.html for more details.
concurrentAppendException
is used when:
OptimisticTransactionImpl
is requested to check logical conflicts with concurrent updates
concurrentDeleteDeleteException¶
concurrentDeleteDeleteException(
conflictingCommit: Option[CommitInfo],
file: String): ConcurrentDeleteDeleteException
concurrentDeleteDeleteException
creates a ConcurrentDeleteDeleteException with the following message:
This transaction attempted to delete one or more files that were deleted (for example [file]) by a concurrent update. Please try the operation again.
Conflicting commit: [commitinfo]
Refer to [docs]/concurrency-control.html for more details.
concurrentDeleteDeleteException
is used when:
OptimisticTransactionImpl
is requested to check for logical conflicts with concurrent updates
concurrentDeleteReadException¶
concurrentDeleteReadException(
conflictingCommit: Option[CommitInfo],
file: String): ConcurrentDeleteReadException
concurrentDeleteReadException
creates a ConcurrentDeleteReadException with the following message:
This transaction attempted to read one or more files that were deleted (for example [file]) by a concurrent update. Please try the operation again.
Conflicting commit: [commitinfo]
Refer to [docs]/concurrency-control.html for more details.
concurrentDeleteReadException
is used when:
OptimisticTransactionImpl
is requested to check for logical conflicts with concurrent updates
concurrentTransactionException¶
concurrentTransactionException(
conflictingCommit: Option[CommitInfo]): ConcurrentTransactionException
concurrentTransactionException
creates a ConcurrentTransactionException with the following message:
This error occurs when multiple streaming queries are using the same checkpoint to write into this table.
Did you run multiple instances of the same streaming query at the same time?
Conflicting commit: [commitinfo]
Refer to [docs]/concurrency-control.html for more details.
concurrentTransactionException
is used when:
OptimisticTransactionImpl
is requested to check for logical conflicts with concurrent updates
concurrentWriteException¶
concurrentWriteException(
conflictingCommit: Option[CommitInfo]): ConcurrentWriteException
concurrentWriteException
creates a ConcurrentWriteException with the following message:
A concurrent transaction has written new data since the current transaction read the table. Please try the operation again.
Conflicting commit: [commitinfo]
Refer to [docs]/concurrency-control.html for more details.
concurrentWriteException
is used when:
- Convert to Delta command is executed (and
DeltaCommand
is requested to commitLarge)
metadataChangedException¶
metadataChangedException(
conflictingCommit: Option[CommitInfo]): MetadataChangedException
metadataChangedException
creates a MetadataChangedException with the following message:
The metadata of the Delta table has been changed by a concurrent update. Please try the operation again.
Conflicting commit: [commitinfo]
Refer to [docs]/concurrency-control.html for more details.
metadataChangedException
is used when:
OptimisticTransactionImpl
is requested to check for logical conflicts with concurrent updates
protocolChangedException¶
protocolChangedException(
conflictingCommit: Option[CommitInfo]): ProtocolChangedException
protocolChangedException
creates a ProtocolChangedException with the following message:
The protocol version of the Delta table has been changed by a concurrent update.
[additionalInfo]
Please try the operation again.
Conflicting commit: [commitinfo]
Refer to [docs]/concurrency-control.html for more details.
protocolChangedException
is used when:
OptimisticTransactionImpl
is requested to check for logical conflicts with concurrent updates
modifyAppendOnlyTableException¶
modifyAppendOnlyTableException: Throwable
modifyAppendOnlyTableException
throws an UnsupportedOperationException
:
This table is configured to only allow appends. If you would like to permit updates or deletes, use 'ALTER TABLE <table_name> SET TBLPROPERTIES (appendOnly=false)'.
modifyAppendOnlyTableException
is used when:
DeltaLog
is requested to assertRemovable
notNullColumnMissingException¶
notNullColumnMissingException(
constraint: Constraints.NotNull): Throwable
notNullColumnMissingException
creates a InvariantViolationException with the following error message:
Column [name], which has a NOT NULL constraint, is missing from the data being written into the table.
notNullColumnMissingException
is used when:
DeltaInvariantCheckerExec
utility is used to buildInvariantChecks
Reporting Post-Commit Hook Failure¶
postCommitHookFailedException(
failedHook: PostCommitHook,
failedOnCommitVersion: Long,
extraErrorMessage: String,
error: Throwable): Throwable
postCommitHookFailedException
throws a RuntimeException
:
Committing to the Delta table version [failedOnCommitVersion] succeeded but error while executing post-commit hook [failedHook]: [extraErrorMessage]
postCommitHookFailedException
is used when:
GenerateSymlinkManifestImpl
is requested to handleError
changeColumnMappingModeOnOldProtocol¶
changeColumnMappingModeOnOldProtocol(
oldProtocol: Protocol): Throwable
changeColumnMappingModeOnOldProtocol
creates a DeltaColumnMappingUnsupportedException
with UNSUPPORTED_COLUMN_MAPPING_PROTOCOL
error class.
changeColumnMappingModeOnOldProtocol
is used when:
DeltaColumnMappingBase
is requested to verifyAndUpdateMetadataChange
convertToDeltaWithColumnMappingNotSupported¶
convertToDeltaWithColumnMappingNotSupported(
mode: DeltaColumnMappingMode): Throwable
convertToDeltaWithColumnMappingNotSupported
creates a DeltaColumnMappingUnsupportedException
with UNSUPPORTED_COLUMN_MAPPING_CONVERT_TO_DELTA
error class.
convertToDeltaWithColumnMappingNotSupported
is used when:
ConvertToDeltaCommandBase
is requested to checkColumnMapping