{"record":{"id":"3061797380f79794","repo":"risingwavelabs/risingwave","slug":"streaming-vnode-mapping-has-not-been-initialized","errorCode":null,"errorMessage":"Streaming vnode mapping has not been initialized","messagePattern":"Streaming vnode mapping has not been initialized","errorType":"error_code","errorClass":"BatchError","httpStatus":null,"severity":"error","filePath":"src/batch/src/error.rs","lineNumber":137,"sourceCode":"        BatchExternalSystemError,\n    ),\n\n    // Make the ref-counted type to be a variant for easier code structuring.\n    // TODO(error-handling): replace with `thiserror_ext::Arc`\n    #[error(transparent)]\n    Shared(\n        #[from]\n        #[backtrace]\n        Arc<Self>,\n    ),\n\n    #[error(\"Empty workers found\")]\n    EmptyWorkerNodes,\n\n    #[error(\"Serving vnode mapping not found for fragment {0}\")]\n    ServingVnodeMappingNotFound(FragmentId),\n\n    #[error(\"Streaming vnode mapping has not been initialized\")]\n    StreamingVnodeMappingNotInitialized,\n\n    #[error(\"Streaming vnode mapping not found for fragment {0}\")]\n    StreamingVnodeMappingNotFound(FragmentId),\n\n    #[error(\"Not enough memory to run this query, batch memory limit is {0} bytes\")]\n    OutOfMemory(u64),\n\n    #[error(\"Failed to spill out to disk\")]\n    Spill(\n        #[from]\n        #[backtrace]\n        opendal::Error,\n    ),\n\n    #[error(\"Failed to execute time travel query\")]\n    TimeTravel(\n        #[source]","sourceCodeStart":119,"sourceCodeEnd":155,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/batch/src/error.rs#L119-L155","documentation":"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.","triggerScenarios":"Thrown at src/batch/src/error.rs:137 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry scheduling after a short delay to allow the meta service to finish publishing the streaming vnode mapping","Check cluster health: confirm the meta node and compute nodes are fully started before submitting batch queries","Verify the target fragment exists and the streaming job owning it is running, not still initializing","If it persists, inspect meta-node logs for vnode mapping registration failures and restart the affected component"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}