pub enum ShuffleRoutingError {
EmptyKey,
EmptyVnodeSpace,
KeyColumnOutOfRange {
index: usize,
columns: usize,
},
UnsupportedKeyType {
index: usize,
data_type: DataType,
},
Arrow(ArrowError),
RowVnodeCardinality {
rows: usize,
vnodes: usize,
},
TooManyRows {
rows: usize,
},
VnodeOutOfRange {
vnode: u32,
vnode_count: usize,
},
UnassignedVnode {
vnode: u32,
},
OversizedRow {
vnode: u32,
bytes: usize,
limit: usize,
},
}Expand description
A routing failure. No plan is returned, so callers cannot partially send or silently drop rows.
Variants§
EmptyKey
Keyed routing requires at least one key column.
EmptyVnodeSpace
Modulo routing is undefined for an empty vnode space.
KeyColumnOutOfRange
A resolved key index no longer exists in the batch schema.
UnsupportedKeyType
ABI v1 admits only scalar, non-floating key types.
Arrow(ArrowError)
Arrow row encoding or slicing failed.
RowVnodeCardinality
Routing metadata must cover every input row exactly once.
TooManyRows
UInt32 take indices cannot represent this input cardinality.
VnodeOutOfRange
The route references a vnode outside the pinned assignment.
UnassignedVnode
Formation/rebalance has not assigned this vnode yet.
OversizedRow
A single row cannot be split further and would always fail receiver admission.
Implementations§
Source§impl ShuffleRoutingError
impl ShuffleRoutingError
Sourcepub const fn is_not_ready(&self) -> bool
pub const fn is_not_ready(&self) -> bool
Whether retrying after assignment convergence can succeed without changing the input.
Trait Implementations§
Source§impl Debug for ShuffleRoutingError
impl Debug for ShuffleRoutingError
Source§impl Display for ShuffleRoutingError
impl Display for ShuffleRoutingError
Source§impl Error for ShuffleRoutingError
impl Error for ShuffleRoutingError
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()
Auto Trait Implementations§
impl !RefUnwindSafe for ShuffleRoutingError
impl !UnwindSafe for ShuffleRoutingError
impl Freeze for ShuffleRoutingError
impl Send for ShuffleRoutingError
impl Sync for ShuffleRoutingError
impl Unpin for ShuffleRoutingError
impl UnsafeUnpin for ShuffleRoutingError
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
§impl<T> Pointee for T
impl<T> Pointee for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.