{"record":{"id":"4af581d5415bc9de","repo":"risingwavelabs/risingwave","slug":"unsupported-meta-backend-for-iceberg-engine-table","errorCode":null,"errorMessage":"Unsupported meta backend for iceberg engine table: {}","messagePattern":"Unsupported meta backend for iceberg engine table: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/frontend/src/handler/create_table.rs","lineNumber":2001,"sourceCode":"                    let Ok(meta_backend) = MetaBackend::from_str(&meta_store_backend, true) else {\n                        bail!(\"failed to parse meta backend: {}\", meta_store_backend);\n                    };\n\n                    let catalog_uri = match meta_backend {\n                        MetaBackend::Postgres => {\n                            format!(\n                                \"jdbc:postgresql://{}:{}/{}\",\n                                meta_store_host, meta_store_port, meta_store_database\n                            )\n                        }\n                        MetaBackend::Mysql => {\n                            format!(\n                                \"jdbc:mysql://{}:{}/{}\",\n                                meta_store_host, meta_store_port, meta_store_database\n                            )\n                        }\n                        MetaBackend::Sqlite | MetaBackend::Sql | MetaBackend::Mem => {\n                            bail!(\n                                \"Unsupported meta backend for iceberg engine table: {}\",\n                                meta_store_backend\n                            );\n                        }\n                    };\n\n                    with_common.insert(\"catalog.type\".to_owned(), \"jdbc\".to_owned());\n                    with_common.insert(\"catalog.uri\".to_owned(), catalog_uri);\n                    with_common.insert(\"catalog.jdbc.user\".to_owned(), meta_store_user);\n                    with_common.insert(\"catalog.jdbc.password\".to_owned(), meta_store_password);\n                    with_common.insert(\"catalog.name\".to_owned(), iceberg_catalog_name);\n                }\n\n                with_common\n            } else {\n                return Err(RwError::from(ErrorCode::InvalidParameterValue(\n                    \"Only iceberg connection could be used in iceberg engine\".to_owned(),\n                )));","sourceCodeStart":1983,"sourceCodeEnd":2019,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/frontend/src/handler/create_table.rs#L1983-L2019","documentation":"Iceberg engine tables in RisingWave only support JDBC-backed catalogs using Postgres or MySQL as the meta store. SQLite, generic SQL, and in-memory backends (accepted by the parser for other uses) are explicitly rejected here.","triggerScenarios":"`CREATE TABLE ... WITH (engine='iceberg')` where the referenced connection's meta_store_backend parses to Sqlite, Sql, or Mem.","commonSituations":"Pointing the Iceberg connection at an embedded/H2-style or in-memory metastore for local testing; reusing a connection definition built for a different feature; misreading supported metastore docs.","solutions":["Switch the connection's meta_store_backend to 'postgres' or 'mysql' and host a real metastore database","Create a dedicated connection for the Iceberg catalog backed by Postgres/MySQL","Verify the value casing/format matches what `MetaBackend::from_str` accepts"],"exampleFix":"// before\nCREATE CONNECTION c WITH (type='iceberg', meta_store_backend='sqlite', ...);\n// after\nCREATE CONNECTION c WITH (type='iceberg', meta_store_backend='postgres', jdbc_url='jdbc:postgresql://host:5432/iceberg', ...);","handlingStrategy":"validation","validationCode":"-- only 'postgres' or 'mysql' are valid for iceberg engine meta stores\nSHOW CONNECTIONS;","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Host the Iceberg JDBC metastore on Postgres or MySQL","Do not reuse sqlite/in-memory-backed connections for Iceberg engine tables","Keep connection definitions in reviewed IaC to avoid ad-hoc edits"],"tags":["iceberg","unsupported","configuration"],"backgroundTag":"unsupported-config-value","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"}