risingwavelabs/risingwave · error · BatchError
Streaming vnode mapping not found for fragment {0}
Error message
Streaming vnode mapping not found for fragment {0} What it means
A generic lookup guard: the batch scheduler queried the streaming vnode mapping table for a specific FragmentId and no entry existed. Unlike StreamingVnodeMappingNotInitialized (table empty entirely), this fires when the table exists but the particular fragment's mapping is absent — the fragment was never registered, was dropped/hidden mid-flight (e.g., its streaming job was cancelled or being rescheduled), or the scheduler holds a stale fragment id.
Source
Thrown at src/batch/src/error.rs:140
// Make the ref-counted type to be a variant for easier code structuring.
// TODO(error-handling): replace with `thiserror_ext::Arc`
#[error(transparent)]
Shared(
#[from]
#[backtrace]
Arc<Self>,
),
#[error("Empty workers found")]
EmptyWorkerNodes,
#[error("Serving vnode mapping not found for fragment {0}")]
ServingVnodeMappingNotFound(FragmentId),
#[error("Streaming vnode mapping has not been initialized")]
StreamingVnodeMappingNotInitialized,
#[error("Streaming vnode mapping not found for fragment {0}")]
StreamingVnodeMappingNotFound(FragmentId),
#[error("Not enough memory to run this query, batch memory limit is {0} bytes")]
OutOfMemory(u64),
#[error("Failed to spill out to disk")]
Spill(
#[from]
#[backtrace]
opendal::Error,
),
#[error("Failed to execute time travel query")]
TimeTravel(
#[source]
#[backtrace]
anyhow::Error,
),View on GitHub (pinned to 6469eb736d)
Solutions
- Retry the query; if the fragment's streaming job was being created or rescheduled the mapping may appear shortly after
- Confirm the streaming job that owns the fragment is running and was not cancelled or dropped
- Refresh the fragment/metadata view from the meta service in case the scheduler cached stale fragment ids
- If reproducible, check for races between barrier completion (mapping publication) and batch scheduling and report the fragment id
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/batch/src/error.rs:140 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/e113a3a31b503f7c.
Report an issue: GitHub.