pub enum CommitHeadPublishError {
Show 15 variants
EmptyExpectedHeadEtag,
NamespaceMismatch {
head: NamespaceId,
plan: NamespaceId,
},
WalSegmentNamespaceMismatch {
head: NamespaceId,
wal: NamespaceId,
},
WalSegmentWriterEpochMismatch {
expected: WriterEpoch,
actual: WriterEpoch,
},
WalSegmentBaseHeadSeqMismatch {
expected: ChangeSeq,
actual: ChangeSeq,
},
WalSegmentStartSeqMismatch {
expected: ChangeSeq,
actual: ChangeSeq,
},
WalSegmentEndSeqMismatch {
expected: ChangeSeq,
actual: ChangeSeq,
},
EmptyWalSegment,
HeadIdentityDrift(HeadIdentityDrift),
SeqOverflow,
StaleHead,
PublishBudgetExceeded {
elapsed_ms: u64,
budget_ms: u64,
},
OutcomeUnknown(String),
Codec {
object_key: String,
message: String,
},
Store {
object_key: String,
message: String,
},
}Variants§
EmptyExpectedHeadEtag
NamespaceMismatch
WalSegmentNamespaceMismatch
WalSegmentWriterEpochMismatch
WalSegmentBaseHeadSeqMismatch
WalSegmentStartSeqMismatch
WalSegmentEndSeqMismatch
EmptyWalSegment
HeadIdentityDrift(HeadIdentityDrift)
The successor head this publish built does not carry the namespace’s immutable identity forward. A construction bug, caught before the compare-and-swap so it can never become durable.
SeqOverflow
StaleHead
PublishBudgetExceeded
The self-enforced publish budget elapsed between starting the WAL
segment PUT and reaching the head CAS. The segment is abandoned as an
orphan for GC and the commit must be rebuilt as a fresh segment, so
callers retry exactly as they do for StaleHead.
OutcomeUnknown(String)
The head compare-and-swap was sent but its outcome was never observed (for example, a transport failure waiting for the response). The commit may or may not be visible.
Codec
Store
Trait Implementations§
Source§impl Clone for CommitHeadPublishError
impl Clone for CommitHeadPublishError
Source§fn clone(&self) -> CommitHeadPublishError
fn clone(&self) -> CommitHeadPublishError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CommitHeadPublishError
impl Debug for CommitHeadPublishError
Source§impl<'de> Deserialize<'de> for CommitHeadPublishError
impl<'de> Deserialize<'de> for CommitHeadPublishError
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for CommitHeadPublishError
impl Display for CommitHeadPublishError
impl Eq for CommitHeadPublishError
Source§impl Error for CommitHeadPublishError
impl Error for CommitHeadPublishError
1.30.0 · 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<CommitHeadPublishError> for CoreError
impl From<CommitHeadPublishError> for CoreError
Source§fn from(source: CommitHeadPublishError) -> Self
fn from(source: CommitHeadPublishError) -> Self
Converts to this type from the input type.
Source§impl PartialEq for CommitHeadPublishError
impl PartialEq for CommitHeadPublishError
Source§impl Serialize for CommitHeadPublishError
impl Serialize for CommitHeadPublishError
impl StructuralPartialEq for CommitHeadPublishError
Auto Trait Implementations§
impl Freeze for CommitHeadPublishError
impl RefUnwindSafe for CommitHeadPublishError
impl Send for CommitHeadPublishError
impl Sync for CommitHeadPublishError
impl Unpin for CommitHeadPublishError
impl UnsafeUnpin for CommitHeadPublishError
impl UnwindSafe for CommitHeadPublishError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
Compare self to
key and return true if they are equal.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>
Converts
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>
Converts
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