{"record":{"id":"e04bd30af7ed3d73","repo":"influxdata/influxdb","slug":"azure-blob-storage-support-not-enabled-recompile-with-the","errorCode":null,"errorMessage":"Azure blob storage support not enabled, recompile with the azure feature enabled","messagePattern":"Azure blob storage support not enabled, recompile with the azure feature enabled","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"critical","filePath":"influxdb3_clap_blocks/src/object_store.rs","lineNumber":1003,"sourceCode":"                    builder = builder.with_allow_http(self.azure_allow_http);\n\n                    if let Some(endpoint) = &self.azure_endpoint {\n                        builder = builder.with_endpoint(endpoint.to_string());\n                    }\n\n                    Ok(object_store_limit::LimitObjectStore::new(\n                        Arc::new(builder.build().context(InvalidAzureConfigSnafu)?),\n                        self.object_store_connection_limit.get(),\n                        semaphore_metrics,\n                    ))\n                }\n\n                #[cfg(not(feature = \"azure\"))]\n                fn new_azure(\n                    &self,\n                    _semaphore_metrics: &Arc<tracker::AsyncSemaphoreMetrics>,\n                ) -> Result<object_store_limit::LimitObjectStore, ParseError> {\n                    panic!(\"Azure blob storage support not enabled, recompile with the azure feature enabled\")\n                }\n\n                /// Create config-dependant object store.\n                ///\n                /// Semaphore metrics are not registered with any metric registry.\n                /// Use [`Self::make_object_store_with_metrics`] to register them.\n                pub fn make_object_store(&self) -> Result<Arc<DynObjectStore>, ParseError> {\n                    let metrics = Arc::new(tracker::AsyncSemaphoreMetrics::new_unregistered());\n                    self.make_object_store_inner(&metrics)\n                }\n\n                /// Create the object store with semaphore metrics registered in the\n                /// provided [`metric::Registry`] under the `\"object_store_limit\"`\n                /// semaphore attribute.\n                pub fn make_object_store_with_metrics(\n                    &self,\n                    registry: &metric::Registry,\n                ) -> Result<Arc<DynObjectStore>, ParseError> {","sourceCodeStart":985,"sourceCodeEnd":1021,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/influxdb3_clap_blocks/src/object_store.rs#L985-L1021","documentation":"This panic is raised by influxdb3_clap_blocks when an Azure Blob Storage object store is requested but the crate was compiled without the 'azure' cargo feature. The `new_azure` constructor is compiled only as a stub under `#[cfg(not(feature = \"azure\"))]` and deliberately panics on any call, since Azure support code does not exist in the binary.","triggerScenarios":"Starting InfluxDB 3 with `--object-store azure` (or equivalent azure blob config) against a binary built without `--features azure`. The panic fires when the object store factory tries to construct the Azure-backed LimitObjectStore.","commonSituations":"Deploying a default `cargo build` / prebuilt release binary that lacks the azure feature, then pointing object store config at Azure; CI builds azure-related configs without enabling the feature; upgrading and forgetting that azure is an opt-in compile-time feature.","solutions":["Rebuild the binary with the azure feature: `cargo build --features azure` (or the crate's documented azure feature combination).","Use a release artifact that was built with azure support enabled.","Switch the object store configuration to a supported backend (e.g. s3, gcs, file) that is enabled in the current build.","Add a startup config check that rejects azure object store config before the factory panics."],"exampleFix":"// before (build command)\ncargo build --release\n// after\ncargo build --release --features influxdb3_clap_blocks/azure","handlingStrategy":"fallback","validationCode":"// compile-time guard: only reference azure when the feature exists\n#[cfg(feature = \"azure\")]\nfn use_azure(cfg: &ObjectStoreConfig) { /* build azure store */ }\n#[cfg(not(feature = \"azure\"))]\nfn use_azure(_cfg: &ObjectStoreConfig) -> Result<(), String> {\n    Err(\"azure support not compiled in; use s3/gcs/file\".into())\n}","typeGuard":"fn azure_supported() -> bool { cfg!(feature = \"azure\") }","tryCatchPattern":null,"preventionTips":["Match build features to deployment object store backend (CI matrix for azure builds).","Validate object store config against compiled features at startup before constructing stores.","Use a supported backend in default images."],"tags":["azure","object-store","compile-time-feature","panic"],"backgroundTag":"feature-not-enabled","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"}