influxdata / influxdata/influxdb
[v3] 501 Not Implemented when using Backblaze B2 S3 endpoint as object store
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 31.7k
- Forks
- 3.7k
- Avg merge
- 13h 37m
- Merged PRs (30d)
- 8
Description
__Steps to reproduce:__
List the minimal actions needed to reproduce the behaviour.
1. Install and run InfluxDB 3 Core (binary release, not custom build).
2. .Start the server using S3 object store pointing to a Backblaze B2 bucket:
influxdb3 serve \
--object-store s3 \
--bucket \
--aws-endpoint https://s3.us-east-005.backblazeb2.com \
--aws-default-region us-east-005 \
--aws-access-key-id \
--aws-secret-access-key \
--node-id node0
3. Watch logs.
__Expected behaviour:__
InfluxDB should successfully initialize the catalog and persist the snapshot file in the configured S3-compatible object store.
__Actual behaviour:__
InfluxDB fails to initialize the catalog due to repeated 501 Not Implemented responses when attempting to PUT the catalog snapshot file.
__Environment info:__
OS: Ubuntu Linux (VM)
Host: Virtual machine running on Linode
Architecture: x86_64
InfluxDB version: influxdb3-core 3.x (official prebuilt binary)
Not built from source (no custom RUSTFLAGS)
Running directly on host (not containerized)
Object store: Backblaze B2 S3-compatible endpoint (us-east-005)
Bucket exists and credentials are valid (verified via aws-cli)
The same configuration works when using AWS S3.
__Config:__
--object-store s3
Custom --aws-endpoint
Custom --aws-default-region
Access key + secret key provided explicitly
__Logs:__
```
influxdb3-core | 2026-03-02T15:48:23.493955Z INFO influxdb3_lib::commands::serve: InfluxDB 3 Core server starting node_id=node0 git_hash= version=3.8.3 uuid= num_cpus=1
influxdb3-core | 2026-03-02T15:48:23.495247Z INFO influxdb3_clap_blocks::object_store: Object Store bucket=Some("") endpoint=Some(Endpoint("https://s3.us-east-005.backblazeb2.com")) object_store_type="S3"
influxdb3-core | 2026-03-02T15:48:23.600939Z INFO influxdb3_lib::commands::serve: initialising parquet cache
influxdb3-core | 2026-03-02T15:48:23.601360Z INFO influxdb3_lib::commands::serve: Creating shared query executor num_threads=1
influxdb3-core | 2026-03-02T15:48:23.795037Z INFO influxdb3_catalog::object_store::versions::v2: catalog not found, creating a new one catalog_uuid=
influxdb3-core | 2026-03-02T15:48:23.828569Z INFO object_store::client::retry: Encountered server error with status 501 Not Implemented, backing off for 0.1 seconds, retry 1 of 10
(repeated tries...)
influxdb3-core | 2026-03-02T15:48:26.410539Z INFO object_store::client::retry: Encountered server error with status 501 Not Implemented, backing off for 0.35684943 seconds, retry 10 of 10
```
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the `influxdb_clap_blocks::object_store` entry point and the `influxdb_catalog::object_store::versions::v2` catalog initialization path; inspect the `object_store::client::retry` 501 response while reproducing with the Backblaze B2 endpoint. Compare the behavior with AWS S3. Done means InfluxDB initializes the catalog and persists its snapshot in the configured B2-compatible store.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cloud, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100