{"record":{"id":"df4a65219387d3ac","repo":"risingwavelabs/risingwave","slug":"notimplemented","errorCode":null,"errorMessage":"NotImplemented","messagePattern":"NotImplemented","errorType":"error_code","errorClass":"StreamExecutorError","httpStatus":null,"severity":"warning","filePath":"src/stream/src/executor/error.rs","lineNumber":112,"sourceCode":"\n    #[error(\"Failed to align barrier: expected `{0:?}` but got `{1:?}`\")]\n    AlignBarrier(Box<Barrier>, Box<Barrier>),\n\n    #[error(\"Connector error: {0}\")]\n    ConnectorError(\n        #[source]\n        #[backtrace]\n        BoxedError,\n    ),\n\n    #[error(transparent)]\n    DmlError(\n        #[from]\n        #[backtrace]\n        DmlError,\n    ),\n\n    #[error(transparent)]\n    NotImplemented(#[from] NotImplemented),\n\n    #[error(transparent)]\n    Uncategorized(\n        #[from]\n        #[backtrace]\n        anyhow::Error,\n    ),\n}\n\n/// Serialize/deserialize error.\nimpl From<memcomparable::Error> for StreamExecutorError {\n    fn from(m: memcomparable::Error) -> Self {\n        Self::serde_error(m)\n    }\n}\nimpl From<ValueEncodingError> for StreamExecutorError {\n    fn from(e: ValueEncodingError) -> Self {","sourceCodeStart":94,"sourceCodeEnd":130,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/stream/src/executor/error.rs#L94-L130","documentation":"The NotImplemented variant transparently wraps risingwave_common::error::NotImplemented. It is thrown when a code path in a stream executor is intentionally unimplemented — a feature or expression variant has a stub that reports it is not yet supported.","triggerScenarios":"Raised wherever a NotImplemented error is propagated via `?`/From — e.g. an executor encountering an expression type, join algorithm, or protocol feature it does not support.","commonSituations":"Users running SQL that lowers to an unimplemented streaming feature; partially rolled-out features guarded by a TODO; version mismatch between frontend planning and stream engine capabilities.","solutions":["Check the wrapped NotImplemented message for which feature is unimplemented.","Rewrite the query/feature usage to avoid the unsupported construct.","Upgrade RisingWave to a version where the feature is implemented.","File or search a GitHub issue to track the missing feature."],"exampleFix":"// before\nSELECT ... USING unsupported_feature; -- hits NotImplemented\n// after\nRewrite query with supported constructs, or upgrade to a release implementing the feature.","handlingStrategy":"fallback","validationCode":"// detect unsupported constructs before planning/streaming\nif query_uses_unsupported_feature(sql) {\n    return Err(anyhow::anyhow!(\"query uses a not-yet-implemented streaming feature\"));\n}","typeGuard":"fn is_not_implemented(e: &StreamExecutorError) -> bool {\n    e.variant_name() == \"NotImplemented\"\n}","tryCatchPattern":"if let Err(e) = result {\n    if e.variant_name() == \"NotImplemented\" {\n        // surface a clear 'feature not supported' message to the user\n        return Err(e);\n    }\n    return Err(e);\n}","preventionTips":["Check release notes for supported features before using new SQL constructs.","Rewrite queries with supported alternatives.","Track GitHub issues for features you depend on.","Keep cluster versions aligned so planner and executor capabilities match."],"tags":["not-implemented","feature-gap","stream-executor"],"backgroundTag":"method-not-implemented","analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}