{"record":{"id":"c5293ebda3c489bb","repo":"linera-io/linera-protocol","slug":"the-entry-part-is-not-matching","errorCode":null,"errorMessage":"the entry \"{part}\" is not matching","messagePattern":"the entry \"(.+?)\" is not matching","errorType":"validation","errorClass":"anyhow","httpStatus":null,"severity":"error","filePath":"linera-storage-runtime/src/storage_config.rs","lineNumber":210,"sourceCode":"                            })?;\n                            let port = NonZeroU16::from_str(port_str).map_err(|_| {\n                                anyhow!(\n                                    \"Failed to find parse port {port_str} for {s}. {parse_error}\",\n                                )\n                            })?;\n                            if uri.is_some() {\n                                bail!(\"The uri has already been assigned\");\n                            }\n                            uri = Some(format!(\"{address}:{port}\"));\n                        }\n                        _ if part.starts_with(\"table\") => {\n                            if namespace.is_some() {\n                                bail!(\"The namespace has already been assigned\");\n                            }\n                            namespace = Some(part.to_string());\n                        }\n                        _ => {\n                            bail!(\"the entry \\\"{part}\\\" is not matching\");\n                        }\n                    }\n                }\n            }\n            let uri = uri.unwrap_or_else(|| \"localhost:9042\".to_string());\n            let namespace = namespace.unwrap_or_else(|| DEFAULT_NAMESPACE.to_string());\n            let inner_storage_config = InnerStorageConfig::ScyllaDb { uri };\n            debug!(\"ScyllaDB connection info: {:?}\", inner_storage_config);\n            return Ok(StorageConfig {\n                inner_storage_config,\n                namespace,\n            });\n        }\n        #[cfg(all(feature = \"rocksdb\", feature = \"scylladb\"))]\n        if let Some(s) = input.strip_prefix(DUAL_ROCKS_DB_SCYLLA_DB) {\n            let parts = s.split(':').collect::<Vec<_>>();\n            if parts.len() != 5 && parts.len() != 6 {\n                bail!(","sourceCodeStart":192,"sourceCodeEnd":228,"githubUrl":"https://github.com/linera-io/linera-protocol/blob/6c226ddcb332ef55118dc8d0aafbd093d5420899/linera-storage-runtime/src/storage_config.rs#L192-L228","documentation":"Raised while parsing a `scylladb:` storage configuration in `StorageConfig::from_str` (linera-storage-runtime). Each segment after `scylladb:` must either be a `tcp` transport entry or start with `table` (the namespace). A segment matching neither shape hits this catch-all bail, with the offending segment echoed in the message.","triggerScenarios":"Passing `scylladb:hostname`, `scylladb:9042:table_ns`, or a bare host string; forgetting the `table` prefix on the namespace; splitting a URI incorrectly so a stray fragment becomes its own segment.","commonSituations":"Assuming a plain `scylladb:host:port` URL form works; renaming namespaces without the `table` prefix; leftover punctuation from manual string edits.","solutions":["Use the documented shapes: transport as `tcp:host:port` and namespace prefixed with `table`, e.g. `scylladb:tcp:host:9042:table_my_ns`","Prefix the namespace with `table` if it is missing","Remove stray segments that belong to neither the URI nor the namespace"],"exampleFix":"# before\n--storage scylladb:10.0.0.1:9042:my_ns\n\n# after\n--storage scylladb:tcp:10.0.0.1:9042:table_my_ns","handlingStrategy":"validation","validationCode":"// Rust: verify every scylladb segment matches a known shape before FromStr\nif let Some(rest) = storage_str.strip_prefix(\"scylladb:\") {\n    for part in rest.split(':') {\n        anyhow::ensure!(\n            part.starts_with(\"tcp\") || part.starts_with(\"table\"),\n            \"unrecognized scylladb segment '{part}' (expected tcp:... or table<namespace>)\"\n        );\n    }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Namespace segments must start with 'table'; hosts go inside tcp:host:port","Never pass a bare URL like scylladb:host:port — wrap the host in tcp:"],"tags":["config","parsing","scylladb","linera-storage"],"backgroundTag":"invalid-config-value","analyzedSha":"6c226ddcb332ef55118dc8d0aafbd093d5420899","analyzedAt":"2026-08-22T22:49:09.787Z","schemaVersion":2},"datasetVersion":"2026-08-23T01:17:44.959Z"}