{"record":{"id":"7abc83d42ed08535","repo":"risingwavelabs/risingwave","slug":"failed-to-parse-meta-backend","errorCode":null,"errorMessage":"failed to parse meta backend: {}","messagePattern":"failed to parse meta backend: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/frontend/src/handler/create_table.rs","lineNumber":1984,"sourceCode":"                        .host_str()\n                        .ok_or_else(|| {\n                            ErrorCode::InternalError(\n                                \"failed to parse host from meta store endpoint\".to_owned(),\n                            )\n                        })?\n                        .to_owned();\n                    let meta_store_port = meta_store_endpoint.port().ok_or_else(|| {\n                        ErrorCode::InternalError(\n                            \"failed to parse port from meta store endpoint\".to_owned(),\n                        )\n                    })?;\n                    let meta_store_database = meta_store_endpoint\n                        .path()\n                        .trim_start_matches('/')\n                        .to_owned();\n\n                    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: {}\",","sourceCodeStart":1966,"sourceCodeEnd":2002,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/frontend/src/handler/create_table.rs#L1966-L2002","documentation":"When resolving the Iceberg connection's endpoint, RisingWave parses the meta store backend name from the connection parameters via `MetaBackend::from_str`. If the string is not a recognized backend (e.g. misspelled or unsupported), the parse fails and this error reports the offending value.","triggerScenarios":"`CREATE TABLE ... WITH (engine='iceberg')` where the connection's catalog parameters contain a `meta_store_backend` value that is not one of the accepted variants (e.g. 'pg', 'postgres.jdbc', 'MySQL' with wrong casing).","commonSituations":"Typo in connection definition (`metastore_backend` value like 'postgress'); copying a Trino/Spark config value that RisingWave doesn't accept; the JDBC endpoint string in the connection params is malformed.","solutions":["Check the connection definition and set meta_store_backend to an accepted value: 'postgres' or 'mysql'","Inspect the connection with `SHOW CONNECTIONS` / its parameters to confirm the backend string","Recreate the connection with corrected `CREATE CONNECTION ... WITH (type='iceberg', meta_store_backend='postgres', ...)`"],"exampleFix":"// before\nCREATE CONNECTION c WITH (type='iceberg', meta_store_backend='postgress', ...);\n// after\nCREATE CONNECTION c WITH (type='iceberg', meta_store_backend='postgres', ...);","handlingStrategy":"validation","validationCode":"-- inspect connection params before creating iceberg tables\nSHOW CONNECTIONS;\n-- confirm meta_store_backend is exactly 'postgres' or 'mysql'","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use only documented meta_store_backend values when defining Iceberg connections","Copy connection definitions from official examples, not other engines' configs","Validate connections with a small test CREATE TABLE before production DDL"],"tags":["iceberg","parsing","configuration"],"backgroundTag":"invalid-enum-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"}