pub enum SagaError {
CompensationFailed {
failed_step: usize,
forward_completed: usize,
compensate_failed_at: usize,
forward_responses: Vec<Vec<u8>>,
source: ClientError,
},
Journal(SagaJournalError),
NotFound,
CatalogVersionChanged {
pinned: u32,
current: u32,
},
}Expand description
Why a saga could not finish cleanly.
Variants§
CompensationFailed
A compensate command failed after partial forward progress.
Fields
§
source: ClientErrorClient error from the failed compensate RPC.
Journal(SagaJournalError)
Journal persistence failed (saga aborted before mutating client state further).
NotFound
resume_saga found no record for plan.saga_id.
CatalogVersionChanged
Catalog generation changed mid-saga (dynamic catalog expansion).
Trait Implementations§
Source§impl Error for SagaError
impl Error for SagaError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<SagaJournalError> for SagaError
impl From<SagaJournalError> for SagaError
Source§fn from(source: SagaJournalError) -> Self
fn from(source: SagaJournalError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for SagaError
impl RefUnwindSafe for SagaError
impl Send for SagaError
impl Sync for SagaError
impl Unpin for SagaError
impl UnsafeUnpin for SagaError
impl UnwindSafe for SagaError
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
Mutably borrows from an owned value. Read more