#[non_exhaustive]pub enum CommitError {
Show 20 variants
Plan(CommitPlanError),
Binding {
reserved_transaction: TransactionId,
plan_transaction: TransactionId,
},
BaseSnapshotBinding,
DependencyLimit {
observed: usize,
maximum: usize,
},
PlanSize {
observed: usize,
maximum: usize,
},
TransactionWorkspaceExists {
transaction: TransactionId,
},
UnsafeBlobStore {
workspace_root: PathBuf,
blobs_directory: PathBuf,
},
Host(HostError),
Store(TransactionStoreError),
Blob(BlobStoreError),
DataDirectory(DataDirectoryError),
Journal(JournalError),
PlanDecode(PlanDecodeError),
InternalIo {
operation: &'static str,
source: Error,
},
Stale {
conflicts: Vec<RevalidationConflict>,
},
Verification(Box<VerificationFailure>),
FaultInjected {
point: FaultPoint,
},
RecoveryRequired {
transaction: TransactionId,
cause: String,
},
RecoveryConflict(RecoveryConflict),
InvalidRecoveryState {
transaction: TransactionId,
state: TransactionState,
},
}Expand description
Trusted-commit, revalidation, or recovery failure.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Plan(CommitPlanError)
The immutable commit artifact is internally inconsistent.
Binding
The single-use reservation covers another transaction.
Fields
reserved_transaction: TransactionIdTransaction consumed from the store.
plan_transaction: TransactionIdTransaction derived from the supplied artifact.
BaseSnapshotBinding
Reservation and artifact cover different base snapshots.
DependencyLimit
The combined dependency set exceeds its configured bound.
PlanSize
An encoded plan or recovery journal exceeds its configured bound.
TransactionWorkspaceExists
A durable workspace already exists and must be recovered first.
Fields
transaction: TransactionIdAffected transaction.
UnsafeBlobStore
A caller-supplied blob store overlaps the untrusted workspace namespace.
Fields
Host(HostError)
Capability-scoped host observation or mutation failed.
Store(TransactionStoreError)
Atomic transaction-state persistence failed.
Blob(BlobStoreError)
Immutable blob loading or verification failed.
DataDirectory(DataDirectoryError)
The protected workspace data capability could not be established.
Journal(JournalError)
Durable journal validation failed.
PlanDecode(PlanDecodeError)
Durable plan decoding failed.
InternalIo
Internal capability-directory I/O failed.
Stale
Revalidation detected stale dependencies before mutation.
Fields
conflicts: Vec<RevalidationConflict>Bounded set of exact conflicts.
Verification(Box<VerificationFailure>)
An operation or post-commit final-state check failed.
FaultInjected
Test-only simulated crash point fired.
Fields
point: FaultPointFired boundary.
RecoveryRequired
Mutation may have begun and the durable journal must be recovered.
Fields
transaction: TransactionIdAffected transaction.
RecoveryConflict(RecoveryConflict)
Recovery could not prove ownership and left host data untouched.
InvalidRecoveryState
Store state is incompatible with the durable recovery artifact.
Fields
transaction: TransactionIdAffected transaction.
state: TransactionStateUnexpected persisted state.
Trait Implementations§
Source§impl Debug for CommitError
impl Debug for CommitError
Source§impl Display for CommitError
impl Display for CommitError
Source§impl Error for CommitError
impl Error for CommitError
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()