influxdata / influxdata/influxdb
Allow disabling conditional operations for S3
- Dominant language
- Rust
- Stars
- 31.7k
- Forks
- 3.7k
- Avg merge
- 13h 37m
- Merged PRs (30d)
- 8
Description
__Use case:__
InfluxDB 3 Core currently requires conditional PUT support when writing catalog files to an S3 object store. Otherwise, some S3-compatible providers, such as Backblaze B2, don’t fully support AWS conditional PUT semantics.
__Proposal:__
Introduce a flag to disable conditional operations.
__Current behaviour:__
InfluxDB 3 Core use conditional PUT requests to make sure that the catalog is made only once.
When using an S3-compatible backend that does not support this feature, such Backblaze B2, the server fails to initialize the catalog with repeated 501 Not Implemented errors during object store.
__Desired behaviour:__
Allow InfluxDB 3 Core to optionally use non-conditional operations. This would enable compatibility with S3-like providers that do not fully implement AWS conditional behavior.
__Alternatives considered:__
- Migrating to a fully AWS-compliant provider (increases cost)
- Avoiding S3 object store entirely and using local disk (not viable
for scalable or cloud-based setups)
Contributor guide
Research direction
Start by locating the catalog initialization and object-store code that issues conditional PUT requests. Trace how the S3 configuration is loaded and identify where a flag could disable conditional operations; done means the server can initialize against providers that return 501 for those requests, with coverage for both enabled and disabled behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cloud, databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100