influxdata/influxdb · error · Error

Cannot parse object store config

Error message

Cannot parse object store config: {0}

What it means

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.

Solutions

  1. Inspect the inner ParseError message for the offending field and correct the flag/env value.
  2. Validate the object store URL/bucket/endpoint syntax before launching.
  3. Check `influxdb3 serve --help` for required params per store type and provide all of them.

Example fix

// before
influxdb3 serve --object-store s3 --bucket my_bucket --aws-endpoint "not a url"
// after
influxdb3 serve --object-store s3 --bucket my_bucket \
  --aws-endpoint http://127.0.0.1:9000 --aws-access-key-id ... --aws-secret-key ...
Defensive patterns

Strategy: validation

Validate before calling

let url = url::Url::parse(&endpoint).expect("object store endpoint must be a valid URL");
assert!(!bucket.is_empty(), "--bucket is required for s3/gcs object stores");

Try / catch

match serve(config) {
    Err(serve::Error::ObjectStoreParsing(e)) => eprintln!("fix object store flags: {}", e),
    Err(e) => eprintln!("serve failed: {}", e),
    Ok(_) => {}
}

Prevention

When it happens

Trigger: Running `influxdb3 serve` with `--object-store` values or accompanying params (bucket, endpoint, URL) that fail `ParseError` validation in influxdb3_clap_blocks.

Common situations: 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.

Understand the failure class

Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.

Related errors


AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19). Data as JSON: /api/errors/6e423611b070ea40. Report an issue: GitHub.

Appendix: source

Thrown at influxdb3/src/commands/serve.rs:117

pub const DEFAULT_DATA_DIRECTORY_NAME: &str = ".influxdb3";

/// The default bind address for the HTTP API.
pub const DEFAULT_HTTP_BIND_ADDR: &str = "0.0.0.0:8181";

/// The default bind address for admin token recovery HTTP API.
pub const DEFAULT_ADMIN_TOKEN_RECOVERY_BIND_ADDR: &str = "127.0.0.1:8182";

pub const DEFAULT_TELEMETRY_ENDPOINT: &str = "https://telemetry.v3.influxdata.com";

const MIN_SNAPSHOTS_TO_LOAD_ON_START: u64 = 100;

mod cli_params;
#[cfg(test)]
mod tests;

#[derive(Debug, Error)]
pub enum Error {
    #[error("Cannot parse object store config: {0}")]
    ObjectStoreParsing(#[from] influxdb3_clap_blocks::object_store::ParseError),

    #[error("Tracing config error: {0}")]
    TracingConfig(#[from] trace_exporters::Error),

    #[error("Error initializing tokio runtime: {0}")]
    TokioRuntime(#[source] std::io::Error),

    #[error("Failed to bind address")]
    BindAddress(#[source] std::io::Error),

    #[error("Server error: {0}")]
    Server(#[source] influxdb3_server::Error),

    #[error("Token error: {0}")]
    TokenError(CatalogError),

    #[error("Write buffer error: {0}")]

View on GitHub (pinned to 06200ef96b)