#[non_exhaustive]pub enum ErrorCode {
Show 44 variants
Cancelled,
SqlParse,
InvalidRequest,
InvalidConfiguration,
DataFusionPlanning,
PlanningTimeout,
ObjectNotFound,
SourceAccessDenied,
SourceUnauthenticated,
SourceObjectNotFound,
SourceTemporaryFailure,
SourceDependencyFailure,
FieldNotFound,
GraphInputInvalid,
RequiredGpuOperationUnsupported,
FinalPlanRequirementUnsatisfied,
UnsupportedOperator,
UnsupportedExpression,
UnsupportedType,
InvalidExecutionPlan,
InvalidChildCount,
CudfInvalidInput,
CudfUnsupported,
SizeOverflow,
HostMaterializationLimitExceeded,
HostStagingLimitExceeded,
HostMemoryExhausted,
CudfTemporaryFailure,
CudfPersistentFailure,
CudfDependencyFailure,
AlgorithmDidNotConverge,
CudfInvariantViolation,
MemoryReservationFailed,
ServiceOverloaded,
QueryBudgetUnavailable,
QueryMemoryLimitExceeded,
DeviceOutOfMemory,
DeviceAllocationFailed,
DeviceFault,
CleanupFailed,
InternalInvariantViolation,
FlightFrameTooLarge,
ServerTransportFailure,
Internal,
}Expand description
Stable, machine-readable adapter error codes.
Codes describe the closest adapter-level cause. ErrorKind and
ErrorStatus are derived from the code by ErrorCode::kind
and ErrorCode::status. Consumers should treat those methods as
the policy contract and should not infer behavior from variant
names.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Cancelled
Query execution was canceled by the caller.
SqlParse
SQL text could not be parsed.
InvalidRequest
The server request envelope or handle was invalid for the operation.
InvalidConfiguration
A server, backend, or device configuration value is invalid or inconsistent with the discovered hardware.
The same configuration fails again until it changes; the message names the setting, its value, and the largest accepted value when one exists.
DataFusionPlanning
DataFusion rejected the query during logical or physical planning.
PlanningTimeout
Adapter-owned planning exceeded its configured time budget.
This is classified as permanent for the same request and budget: retry with table maintenance, a narrower request, or a larger configured planning budget.
ObjectNotFound
A requested catalog, schema, table, table function, or similar named object was not found.
SourceAccessDenied
Source object storage denied access to the requested object or metadata.
SourceUnauthenticated
Source object storage lacked valid authentication credentials.
SourceObjectNotFound
Source object storage could not find the requested object.
SourceTemporaryFailure
Source object storage failed with a retryable transport or service error.
SourceDependencyFailure
A source reader or source dependency failed permanently while serving the request.
FieldNotFound
A named field was not present in a resolved schema.
GraphInputInvalid
Materialized graph edges or side inputs violate the graph operation’s declared input contract.
RequiredGpuOperationUnsupported
A completed-plan requirement needed a GPU operation that the exact final physical plan could not provide.
FinalPlanRequirementUnsatisfied
The exact completed physical plan did not satisfy a configured final plan requirement.
UnsupportedOperator
A physical operator is unsupported by the GPU/native adapter path.
UnsupportedExpression
A physical expression or expression form is unsupported.
UnsupportedType
A data type, physical representation, or type combination is unsupported.
InvalidExecutionPlan
A DataFusion physical plan is invalid for the adapter boundary.
Use this only for malformed or inconsistent plans. A well-formed plan outside the supported capability catalogue is reported as unsupported.
InvalidChildCount
An execution plan had an impossible child count for the adapter node.
CudfInvalidInput
cuDF rejected an input, including permanent NotFound conditions.
CudfUnsupported
cuDF reported a permanent unsupported capability.
SizeOverflow
A host materialization size computation overflowed the platform range.
HostMaterializationLimitExceeded
One unsplittable Arrow host row exceeds the configured deterministic materialization ceiling.
HostStagingLimitExceeded
A bounded host-staging boundary exceeded its configured cumulative byte ceiling before GPU admission or a device-to-host copy.
HostMemoryExhausted
DataFusion’s host memory pool rejected a reservation.
Represents a temporary resource exhaustion in the host-side pool.
Device memory is governed by the query domain allocator and reports
through Self::QueryMemoryLimitExceeded, Self::DeviceOutOfMemory,
and Self::DeviceAllocationFailed.
CudfTemporaryFailure
cuDF reported a temporary dependency/runtime failure.
CudfPersistentFailure
cuDF reported a persistent dependency/runtime failure.
The failure has been observed to recur or is known to continue. Stop automatic retries and escalate or wait for intervention.
CudfDependencyFailure
cuDF reported a permanent dependency failure.
AlgorithmDidNotConverge
An iterative native algorithm reached its configured iteration bound.
CudfInvariantViolation
cuDF reported an invariant or execution-context violation.
MemoryReservationFailed
The native admission controller could not reserve requested memory.
Represents a temporary resource condition propagated from native execution, separate from a cuDF allocator failure.
ServiceOverloaded
The native query service rejected work because admission capacity was exhausted.
The requested query cap cannot fit on any eligible device after subtracting resident ownership.
QueryMemoryLimitExceeded
The query domain rejected an actual or exact-required allocation over the query’s fixed memory cap.
DeviceOutOfMemory
A device allocation failed with confirmed physical-memory provenance.
DeviceAllocationFailed
A device allocation failed without confirmed physical-memory provenance.
DeviceFault
A persistent device or CUDA runtime fault made the affected device unavailable.
CleanupFailed
Cleanup or synchronization could not establish safe release of the attempt’s device resources.
InternalInvariantViolation
An owner, provenance, ledger, or stream-routing invariant was violated.
FlightFrameTooLarge
One logical Arrow row cannot be represented within the configured Flight/gRPC message limit.
This is permanent for the same row and transport limit: callers must project a smaller value or otherwise change the request. The server must not raise tonic’s message-size limit to hide this condition.
ServerTransportFailure
The Flight SQL server transport failed outside request handling.
Internal
An internal adapter bug or unreachable condition.
Implementations§
Source§impl ErrorCode
impl ErrorCode
Sourcepub const fn as_str(self) -> &'static str
pub const fn as_str(self) -> &'static str
Stable snake-case code label used in reports and error text.
Sourcepub const fn kind(self) -> ErrorKind
pub const fn kind(self) -> ErrorKind
Stable coarse category of this code.
kind is the broad bucket used for diagnostics and
aggregation. It is less specific than ErrorCode and stays
stable for consumers that group failures without depending on
every code variant.
Sourcepub const fn status(self) -> ErrorStatus
pub const fn status(self) -> ErrorStatus
Retry/remediation status of this code.
Attempt retry advice is derived only after terminal evidence is
sealed. ErrorStatus::Persistent means a repeated or
known-continuing dependency failure that requires escalation or
intervention, while ErrorStatus::Permanent means the
request, input, configuration, or code must change before the
same operation can succeed.
Trait Implementations§
impl Copy for ErrorCode
impl Eq for ErrorCode
impl StructuralPartialEq for ErrorCode
Auto Trait Implementations§
impl Freeze for ErrorCode
impl RefUnwindSafe for ErrorCode
impl Send for ErrorCode
impl Sync for ErrorCode
impl Unpin for ErrorCode
impl UnsafeUnpin for ErrorCode
impl UnwindSafe for ErrorCode
Blanket Implementations§
impl<T> Allocation for T
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
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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<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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request