risingwavelabs/risingwave · error · BatchError
Task aborted
Error message
Task aborted: {0} What it means
BatchError::Aborted: a running batch task was cancelled before completion. The string payload records the cancellation reason (e.g. user-issued pg_cancel_backend, statement timeout, or shutdown). It fires when the executor observes its cancel token or receives a stop signal mid-scan/join/aggregate and unwinds with this diagnostic rather than a generic panic.
Solutions
- Surface the abort reason to the client as QueryCancelled rather than an internal error
- Ensure executors check cancellation tokens periodically so they stop promptly
- If aborts stem from timeouts, tune statement_timeout or the query plan to finish faster
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at src/batch/src/error.rs:81 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11).
Data as JSON: /api/errors/c5979e4ec8ed7d6b.
Report an issue: GitHub.
Appendix: source
Thrown at src/batch/src/error.rs:81
#[error("Serialize/deserialize error: {0}")]
Serde(
#[source]
#[backtrace]
BoxedError,
),
#[error("Failed to send result to channel")]
SenderError,
#[error(transparent)]
Internal(
#[from]
#[backtrace]
anyhow::Error,
),
#[error("Task aborted: {0}")]
Aborted(String),
#[error(transparent)]
PbFieldNotFound(#[from] PbFieldNotFound),
#[error(transparent)]
RpcError(
#[from]
#[backtrace]
RpcError,
),
#[error("Connector error: {0}")]
Connector(
#[source]
#[backtrace]
BoxedError,
),View on GitHub (pinned to 6469eb736d)