influxdata/influxdb · critical

GCS support not enabled, recompile with the gcp feature…

Error message

GCS support not enabled, recompile with the gcp feature enabled

What it means

A runtime panic in `influxdb3_clap_blocks::object_store`. When the `gcp` cargo feature is not compiled in, the stub `new_gcs` constructor unconditionally panics with this message. It exists so the code compiles without the feature, but any configuration that selects Google Cloud Storage as the object store hits the panic at store construction time.

Solutions

  1. Rebuild/reinstall influxdb3 with the gcp feature enabled (e.g. `cargo build --features gcp` or use a GCS-enabled distribution).
  2. Switch the configured object store to a supported type for the current build (e.g. file, s3) if GCS is not actually needed.
  3. Verify the deployed binary's feature set matches the environment's storage backend before rollout.

Example fix

// before
cargo build --release

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

Strategy: validation

Validate before calling

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

Prevention

When it happens

Trigger: Building influxdb3 without `--features gcp` (or with default features excluding gcp) and then configuring the object store type as Google Cloud Storage (`object-store = google ...`), causing `new_gcs` to be called during config parsing/store setup.

Common situations: Deploying a default-built binary to a GCP environment, or a Docker image built without the gcp feature while configs copied from a GCP deployment specify a GCS bucket.

Related errors


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

Appendix: source

Thrown at influxdb3_clap_blocks/src/object_store.rs:850

                        builder = builder.with_bucket_name(bucket);
                    }
                    if let Some(account) = &self.google_service_account {
                        builder = builder.with_service_account_path(account);
                    }

                    Ok(object_store_limit::LimitObjectStore::new(
                        Arc::new(builder.build().context(InvalidGCSConfigSnafu)?),
                        self.object_store_connection_limit.get(),
                        semaphore_metrics,
                    ))
                }

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

                #[cfg(feature = "aws")]
                fn new_s3(
                    &self,
                    semaphore_metrics: &Arc<tracker::AsyncSemaphoreMetrics>,
                ) -> Result<object_store_limit::LimitObjectStore, ParseError> {
                    info!(
                        bucket=?self.bucket,
                        endpoint=?self.aws_endpoint,
                        object_store_type="S3",
                        "Object Store"
                    );

                    Ok(object_store_limit::LimitObjectStore::new(
                        Arc::new(self.build_s3()?),
                        self.object_store_connection_limit.get(),
                        semaphore_metrics,

View on GitHub (pinned to 06200ef96b)