#[non_exhaustive]pub enum CommitFailure {
Rejected(String),
Deadline(Duration),
NoThread,
}Expand description
Why an offset commit at shutdown was not confirmed; the kind of
ShoveError::Commit.
#[non_exhaustive]: match with a wildcard arm.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Rejected(String)
The commit returned an error, carried as text: the coordinator’s answer, or a librdkafka local error, such as a timeout of its own or an unknown partition. An answer from the coordinator says this commit did not land. A local error raised after the request was sent, such as a timeout, does not prove that: librdkafka reports it after its own retries, and the broker may have accepted the commit by then. The next member resumes from whatever position the broker holds.
The text is librdkafka’s rendering of that error: the error code and its description, and nothing else. It never carries a record’s payload, key or headers, nor a personal or account identifier taken from one, so it is safe to log and to return as is.
Deadline(Duration)
The commit had no answer within the time it carries: the shutdown
deadline for a final commit, its share of that deadline for a
CommitPolicy::PerRecord commit found in flight at the stop, or the
time waited when the commit thread ended without reporting. The
result is unknown: the detached commit thread may still land it after
the consumer has returned.
NoThread
No thread could be spawned to run the commit, so this commit was never made and the consumer’s close moved off the runtime by itself.
Trait Implementations§
Source§impl Clone for CommitFailure
impl Clone for CommitFailure
Source§impl Debug for CommitFailure
impl Debug for CommitFailure
Source§impl Display for CommitFailure
impl Display for CommitFailure
impl Eq for CommitFailure
Source§impl Error for CommitFailure
impl Error for CommitFailure
1.30.0 · 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()
Source§impl PartialEq for CommitFailure
impl PartialEq for CommitFailure
impl StructuralPartialEq for CommitFailure
Auto Trait Implementations§
impl Freeze for CommitFailure
impl RefUnwindSafe for CommitFailure
impl Send for CommitFailure
impl Sync for CommitFailure
impl Unpin for CommitFailure
impl UnsafeUnpin for CommitFailure
impl UnwindSafe for CommitFailure
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§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
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> ⓘ
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