influxdata/influxdb · critical

S3 support not enabled, recompile with the aws feature…

Error message

S3 support not enabled, recompile with the aws feature enabled

What it means

A runtime panic in `influxdb3_clap_blocks::object_store`. When the `aws` cargo feature is not compiled in, the stub `new_s3` constructor unconditionally panics with this message. Selecting Amazon S3 (or S3-compatible) as the object store in a binary built without that feature triggers the panic at store construction time.

Solutions

  1. Rebuild/reinstall influxdb3 with the aws feature enabled (e.g. `cargo build --features aws` or use an S3-enabled distribution).
  2. Switch the configured object store to a type supported by the current build (e.g. file) if S3 is not required.
  3. Audit build scripts/CI so release binaries always include the storage features the deployment target needs.

Example fix

// before
cargo build --release

// after
cargo build --release --features aws
Defensive patterns

Strategy: validation

Validate before calling

# Verify S3 support before deploying:
cargo tree -e features -p influxdb3_clap_blocks | grep -q 'feature "aws"' && echo aws-enabled || echo aws-MISSING

Prevention

When it happens

Trigger: Building influxdb3 without `--features aws` and then configuring the object store as S3 (e.g. `object-store = s3 ...`), so `new_s3` is invoked during config parsing/store setup.

Common situations: Running a locally built binary (default features) against an AWS deployment, or a slim Docker image stripped of the aws feature while the environment's config points at S3.

Related errors


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

Appendix: source

Thrown at influxdb3_clap_blocks/src/object_store.rs:960

                        r
                    };

                    Ok(r)
                }

                #[cfg(feature = "aws")]
                pub fn build_s3_signer(&self) -> Result<object_store::aws::AmazonS3, ParseError> {
                    let builder = self.s3_builder()?;

                    builder.build().context(InvalidS3ConfigSnafu)
                }

                #[cfg(not(feature = "aws"))]
                fn new_s3(
                    &self,
                    _semaphore_metrics: &Arc<tracker::AsyncSemaphoreMetrics>,
                ) -> Result<object_store_limit::LimitObjectStore, ParseError> {
                    panic!("S3 support not enabled, recompile with the aws feature enabled")
                }

                #[cfg(feature = "azure")]
                fn new_azure(
                    &self,
                    semaphore_metrics: &Arc<tracker::AsyncSemaphoreMetrics>,
                ) -> Result<object_store_limit::LimitObjectStore, ParseError> {
                    use object_store::azure::MicrosoftAzureBuilder;

                    info!(bucket=?self.bucket, account=?self.azure_storage_account,
                          endpoint=?self.azure_endpoint, object_store_type="Azure", "Object Store");

                    let mut builder = MicrosoftAzureBuilder::from_env().with_client_options(self.client_options()?);

                    if let Some(bucket) = &self.bucket {
                        builder = builder.with_container_name(bucket);
                    }
                    if let Some(account) = &self.azure_storage_account {

View on GitHub (pinned to 06200ef96b)