{"record":{"id":"3401dee27c1d9d42","repo":"risingwavelabs/risingwave","slug":"non-shared-source-has-no-fragments-to-describe","errorCode":null,"errorMessage":"non shared source has no fragments to describe","messagePattern":"non shared source has no fragments to describe","errorType":"error_code","errorClass":"ErrorCode::NotSupported","httpStatus":null,"severity":"error","filePath":"src/frontend/src/handler/describe.rs","lineNumber":290,"sourceCode":"\npub async fn handle_describe_fragments(\n    handler_args: HandlerArgs,\n    object_name: ObjectName,\n) -> Result<RwPgResponse> {\n    let session = handler_args.session.clone();\n    let job_id = {\n        let mut binder = Binder::new_for_system(&session);\n\n        Binder::validate_cross_db_reference(&session.database(), &object_name)?;\n        let not_found_err = CatalogError::not_found(\"stream job\", object_name.to_string());\n\n        if let Ok(relation) = binder.bind_catalog_relation_by_object_name(&object_name, true) {\n            match relation {\n                Relation::Source(s) => {\n                    if s.is_shared() {\n                        s.catalog.id.as_share_source_job_id()\n                    } else {\n                        bail!(ErrorCode::NotSupported(\n                            \"non shared source has no fragments to describe\".to_owned(),\n                            \"Use `DESCRIBE` instead of `DESCRIBE FRAGMENTS`\".to_owned(),\n                        ));\n                    }\n                }\n                Relation::BaseTable(t) => t.table_catalog.id.as_job_id(),\n                Relation::SystemTable(_t) => {\n                    bail!(ErrorCode::NotSupported(\n                        \"system table has no fragments to describe\".to_owned(),\n                        \"Use `DESCRIBE` instead of `DESCRIBE FRAGMENTS`\".to_owned(),\n                    ));\n                }\n                Relation::Share(_s) => {\n                    bail!(ErrorCode::NotSupported(\n                        \"view has no fragments to describe\".to_owned(),\n                        \"Use `DESCRIBE` instead of `DESCRIBE FRAGMENTS`\".to_owned(),\n                    ));\n                }","sourceCodeStart":272,"sourceCodeEnd":308,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/frontend/src/handler/describe.rs#L272-L308","documentation":"`DESCRIBE FRAGMENTS` shows the streaming fragments of a shared source or streaming job. Non-shared (single-node) sources have no independently managed fragments, so the handler rejects the command and points users to plain `DESCRIBE`.","triggerScenarios":"Running `DESCRIBE FRAGMENTS <source_name>` where `<source_name>` resolves to a source created without shared-source support (e.g. a non-shared Kafka source, or shared source disabled in config).","commonSituations":"Trying to inspect execution plans of a regular source; confusion between shared vs non-shared sources; older sources created before shared sources were enabled.","solutions":["Use `DESCRIBE <source_name>` instead to inspect schema","If fragment inspection is needed, recreate or configure the source as shared (`CREATE SHARED SOURCE ...` or enable shared source in config)","Use `EXPLAIN` / `SHOW FRAGMENTS` on the relevant MV or job instead"],"exampleFix":"// before\nDESCRIBE FRAGMENTS my_source;\n// after\nDESCRIBE my_source;","handlingStrategy":"validation","validationCode":"-- shared sources can be listed; only run DESCRIBE FRAGMENTS on those\nSELECT name FROM rw_catalog.rw_sources WHERE ...;","typeGuard":null,"tryCatchPattern":"catch NotSupported with hint 'Use DESCRIBE instead of DESCRIBE FRAGMENTS' and fall back to DESCRIBE","preventionTips":["Use DESCRIBE FRAGMENTS only on shared sources or streaming jobs","Default to plain DESCRIBE when unsure of relation type"],"tags":["sql","source","fragments"],"backgroundTag":"unsupported-operation","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"}