#[non_exhaustive]pub enum OperatorRejection {
OptimisticConflict {
current: ExecutionVersion,
},
InvalidState {
status: BatchStatus,
},
InstanceCompleted,
InstanceAbandoned,
ExecutionAlreadyActive {
execution_id: JobExecutionId,
status: BatchStatus,
},
IncompatibleDefinition,
RestartWithoutPriorAttempt,
StartLimitExceeded,
UnresolvedRecoveryRequired,
ExecutionNotFound,
InstanceNotFound,
UnsupportedAction,
}Expand description
The typed reason one guard rejected an operator action.
A rejection is durable and audited. It carries no user error text, SQL, or credential.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
OptimisticConflict
The supplied expected version lost its compare-and-swap.
Fields
current: ExecutionVersionThe version observed under lock.
InvalidState
The action is not legal from the observed status.
Fields
status: BatchStatusThe status observed under lock.
InstanceCompleted
The logical instance already completed.
InstanceAbandoned
The logical instance is permanently abandoned.
ExecutionAlreadyActive
Another attempt is active or requires explicit recovery.
Fields
execution_id: JobExecutionIdThe attempt preventing the action.
status: BatchStatusIts status observed under lock.
IncompatibleDefinition
The proposed definition cannot interpret the committed checkpoint.
RestartWithoutPriorAttempt
A restart was requested for an instance with no prior attempt.
StartLimitExceeded
The instance-wide start limit for a logical step is exhausted.
UnresolvedRecoveryRequired
Abandoning an ambiguous execution requires an applied recovery decision.
ExecutionNotFound
The targeted execution does not exist.
InstanceNotFound
The targeted logical instance does not exist.
UnsupportedAction
This build cannot apply the requested action.
OperatorAction is #[non_exhaustive], so a caller compiled against
a newer definition of it can name an action this build has no effect
for. Rejecting is the conservative arm: the request is audited and
nothing is applied.
Implementations§
Trait Implementations§
Source§impl Clone for OperatorRejection
impl Clone for OperatorRejection
Source§fn clone(&self) -> OperatorRejection
fn clone(&self) -> OperatorRejection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for OperatorRejection
Source§impl Debug for OperatorRejection
impl Debug for OperatorRejection
Source§impl Display for OperatorRejection
impl Display for OperatorRejection
impl Eq for OperatorRejection
Source§impl PartialEq for OperatorRejection
impl PartialEq for OperatorRejection
impl StructuralPartialEq for OperatorRejection
Auto Trait Implementations§
impl Freeze for OperatorRejection
impl RefUnwindSafe for OperatorRejection
impl Send for OperatorRejection
impl Sync for OperatorRejection
impl Unpin for OperatorRejection
impl UnsafeUnpin for OperatorRejection
impl UnwindSafe for OperatorRejection
Blanket Implementations§
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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