influxdata / influxdata/influxdb

Allow disabling conditional operations for S3

Open
#27,261 1 comment 1 reaction 0 assignees View on GitHub
v3 v3/core
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.