Skip to main content

UnsupportedVersionError

Struct UnsupportedVersionError 

Source
pub struct UnsupportedVersionError { /* private fields */ }
Expand description

Indicates that a request API or version needed by the client is not supported by the broker. This is typically a fatal error as Kafka clients will downgrade request versions as needed except in cases where a needed feature is not available in old versions. Fatal errors can generally only be handled by closing the client instance, although in some cases it may be possible to continue without relying on the underlying feature. For example, when the producer is used with idempotence enabled, this error is fatal since the producer does not support reverting to weaker semantics. On the other hand, if this error is raised from KafkaConsumer::offsets_for_times, it would be possible to revert to alternative logic to set the consumer’s position.

§Translation notes

Error code Errors::UnsupportedVersion. Java extends chain: UnsupportedVersionException -> InvalidConfigurationException -> ApiException -> KafkaException.

Java’s internal subclass UnsupportedProtocolFieldException is this same type with a different crate-private kind.

Implementations§

Source§

impl UnsupportedVersionError

Source

pub fn new(message: impl Into<String>) -> Self

Create the error with the given message and no cause, mirroring Java’s (String message) constructor.

This keeps the plain name under CLAUDE.md §2: the dominant Java shape among the classes this macro declares is (String message) + (String message, Throwable cause), whose parameter-name intersection is {message} — matched exactly by (String message).

Source

pub fn with_source(message: impl Into<String>, source: Error) -> Self

Create the error with the given message and an underlying cause, mirroring Java’s (String message, Throwable cause) constructor.

Suffixed with the one parameter beyond the {message} intersection (CLAUDE.md §2) — see new.

Source

pub fn with_default_message() -> Self

Create the error with the default message for its error code, mirroring Java’s Errors.exception().

Not a constructor overload, so CLAUDE.md §2’s suffixing does not apply: it translates the Errors static factory, which fills in Errors.message() and has no Java constructor counterpart.

Source

pub fn message(&self) -> &str

The error message.

Source

pub fn source(&self) -> Option<&Error>

The underlying cause, if any. Mirrors Java’s getCause().

Trait Implementations§

Source§

impl Clone for UnsupportedVersionError

Source§

fn clone(&self) -> UnsupportedVersionError

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for UnsupportedVersionError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for UnsupportedVersionError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for UnsupportedVersionError

Source§

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

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V