risingwavelabs/risingwave · error · BatchError

Streaming vnode mapping has not been initialized

Error message

Streaming vnode mapping has not been initialized

What it means

Batch task scheduling needs the streaming-side fragment-to-vnode mapping table to route work to the right parallel units. This variant fires in the batch engine when that lookup happens before the mapping has ever been populated — typically during cluster startup, before the meta service has registered/announced the streaming fragments, or when a component connects before initialization completes. It is a sentinel guard signaling premature access to an uninitialized cluster resource, not a data or query problem.

Source

Thrown at src/batch/src/error.rs:137

        BatchExternalSystemError,
    ),

    // 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]

View on GitHub (pinned to 6469eb736d)

Solutions

  1. Retry scheduling after a short delay to allow the meta service to finish publishing the streaming vnode mapping
  2. Check cluster health: confirm the meta node and compute nodes are fully started before submitting batch queries
  3. Verify the target fragment exists and the streaming job owning it is running, not still initializing
  4. If it persists, inspect meta-node logs for vnode mapping registration failures and restart the affected component
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/batch/src/error.rs:137 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/3061797380f79794. Report an issue: GitHub.