{"record":{"id":"6e423611b070ea40","repo":"influxdata/influxdb","slug":"cannot-parse-object-store-config-0","errorCode":null,"errorMessage":"Cannot parse object store config: {0}","messagePattern":"Cannot parse object store config: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"influxdb3/src/commands/serve.rs","lineNumber":117,"sourceCode":"pub const DEFAULT_DATA_DIRECTORY_NAME: &str = \".influxdb3\";\n\n/// The default bind address for the HTTP API.\npub const DEFAULT_HTTP_BIND_ADDR: &str = \"0.0.0.0:8181\";\n\n/// The default bind address for admin token recovery HTTP API.\npub const DEFAULT_ADMIN_TOKEN_RECOVERY_BIND_ADDR: &str = \"127.0.0.1:8182\";\n\npub const DEFAULT_TELEMETRY_ENDPOINT: &str = \"https://telemetry.v3.influxdata.com\";\n\nconst MIN_SNAPSHOTS_TO_LOAD_ON_START: u64 = 100;\n\nmod cli_params;\n#[cfg(test)]\nmod tests;\n\n#[derive(Debug, Error)]\npub enum Error {\n    #[error(\"Cannot parse object store config: {0}\")]\n    ObjectStoreParsing(#[from] influxdb3_clap_blocks::object_store::ParseError),\n\n    #[error(\"Tracing config error: {0}\")]\n    TracingConfig(#[from] trace_exporters::Error),\n\n    #[error(\"Error initializing tokio runtime: {0}\")]\n    TokioRuntime(#[source] std::io::Error),\n\n    #[error(\"Failed to bind address\")]\n    BindAddress(#[source] std::io::Error),\n\n    #[error(\"Server error: {0}\")]\n    Server(#[source] influxdb3_server::Error),\n\n    #[error(\"Token error: {0}\")]\n    TokenError(CatalogError),\n\n    #[error(\"Write buffer error: {0}\")]","sourceCodeStart":99,"sourceCodeEnd":135,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/influxdb3/src/commands/serve.rs#L99-L135","documentation":"An `Error` variant of the `influxdb3 serve` command (`ObjectStoreParsing`) created via `#[from] influxdb3_clap_blocks::object_store::ParseError`. It means the object-store configuration derived from CLI arguments/env could not be parsed into a valid object store config (e.g. malformed URL, unknown store type, invalid bucket settings). The serve process aborts before starting the server.","triggerScenarios":"Running `influxdb3 serve` with `--object-store` values or accompanying params (bucket, endpoint, URL) that fail `ParseError` validation in influxdb3_clap_blocks.","commonSituations":"Typo in store type (e.g. `--object-store=s3` with a malformed endpoint URL), missing/malformed connection string, invalid file path for the `file` store, incompatible flag combinations for the chosen store type.","solutions":["Inspect the inner ParseError message for the offending field and correct the flag/env value.","Validate the object store URL/bucket/endpoint syntax before launching.","Check `influxdb3 serve --help` for required params per store type and provide all of them."],"exampleFix":"// before\ninfluxdb3 serve --object-store s3 --bucket my_bucket --aws-endpoint \"not a url\"\n// after\ninfluxdb3 serve --object-store s3 --bucket my_bucket \\\n  --aws-endpoint http://127.0.0.1:9000 --aws-access-key-id ... --aws-secret-key ...","handlingStrategy":"validation","validationCode":"let url = url::Url::parse(&endpoint).expect(\"object store endpoint must be a valid URL\");\nassert!(!bucket.is_empty(), \"--bucket is required for s3/gcs object stores\");","typeGuard":null,"tryCatchPattern":"match serve(config) {\n    Err(serve::Error::ObjectStoreParsing(e)) => eprintln!(\"fix object store flags: {}\", e),\n    Err(e) => eprintln!(\"serve failed: {}\", e),\n    Ok(_) => {}\n}","preventionTips":["Validate object-store URL, bucket and credentials before launching serve","Copy flag values from docs for the chosen --object-store type","Test the store config with a minimal serve invocation first"],"tags":["rust","cli","object-store","configuration"],"backgroundTag":"invalid-config-value","analyzedSha":"06200ef96ba82c5f6727e5038a83af8e722c6875","analyzedAt":"2026-09-19T12:55:30.003Z","contentChangedAt":"2026-09-19T12:55:30.003Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}