infiniflow / infiniflow/infinity

[Bug]: AWS S3 fails with `HTTP status code 0` when using HTTPS

Open
#2,573 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C++
Stars
4.7k
Forks
445
Avg merge
2d 2h
Merged PRs (30d)
7

Description

### Is there an existing issue for the same bug?

- [x] I have checked the existing issues.

### Version or Commit ID

nightly-0-f2431b6

### Other environment information

```Markdown
│ infinity Release: 0.6.0 build on 2025-04-28 13:18.55 with RelWithDebInfo mode from branch: main, commit-id: nightly-0-f2431b6 │
│ infinity Currently enabled SIMD support: f16c, sse2, avx, avx2 │
│ infinity [info] Config file: /etc/infinity/infinity_conf.toml │
│ infinity Infinity system configs: │
│ infinity - version: 0.6.0 │
│ infinity - timezone: UTC-8 │
│ infinity - cpu_limit: 8 │
│ infinity - server mode: admin │
│ infinity - server address: 0.0.0.0 │
│ infinity - peer server ip: 0.0.0.0 │
│ infinity - peer server port: 23850 │
│ infinity - postgres port: 5432 │
│ infinity - http port: 23820 │
│ infinity - rpc client port: 23817 │
│ infinity - connection pool size: 128 │
│ infinity - peer server connection pool size: 128 │
│ infinity - log_filename: infinity.log │
│ infinity - log_dir: /var/infinity/log │
│ infinity - log_file_path: /var/infinity/log/infinity.log │
│ infinity - log_to_stdout: true │
│ infinity - log_file_max_size: 10.00GB │
│ infinity - log_file_rotate_count: 10 │
│ infinity - log_level: Trace │
│ infinity - persistence_dir: /var/infinity/persistence │
│ infinity - persistence_file_size: 134217728 │
│ infinity - data_dir: /var/infinity/data │
│ infinity - cleanup_interval: 1m │
│ infinity - compact_interval: 2m │
│ infinity - optimize_index_interval: 10s │
│ infinity - memindex_capacity: 65536 │
│ infinity - dense_index_building_worker: 2 │
│ infinity - sparse_index_building_worker: 2 │
│ infinity - fulltext_index_building_worker: 2 │
│ infinity - storage_type: minio │
│ infinity - object_storage_url: s3.us-east-1.amazonaws.com │
│ infinity - object_storage_bucket: XXX │
│ infinity - object_storage_access_key: XXX │
│ infinity - object_storage_secret_key: XXX │
│ infinity - object_storage_enable_https: true │
│ infinity - snapshot_dir: /var/infinity/snapshot │
│ infinity - buffer_manager_size: 4.00GB │
│ infinity - temp_dir: /var/infinity/tmp │
│ infinity - memindex_memory_quota: 1.00GB │
│ infinity - wal_dir: /var/infinity/wal │
│ infinity - buffer_manager_size: 1.00GB │
│ infinity - full_checkpoint_interval: 24h │
│ infinity - delta_checkpoint_interval: 1m │
│ infinity - delta_checkpoint_threshold: 64.00MB │
│ infinity - flush_method_at_commit: FlushAtOnce │
│ infinity - resource_dir: /var/infinity/resource │
```

### Actual behavior and How to reproduce it

Setting the server into standalone mode, or admin mode and then converting it to a leader results in the error:
```
{"error_code":3091,"error_message":"Unknown Unable to do bucket existence check: server failed with HTTP status code 0, Please check if the MINIO connection@src/storage/io/s3_client_minio.cpp:129"}
```
I should note that after the fix for #2571 landed everything works correctly until I enable HTTPS.

### Expected behavior

_No response_

### Additional information

_No response_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the bucket-existence check in HTTPS mode using the configuration shown, then start at src/storage/io/s3_client_minio.cpp:129 and compare the behavior with the fix referenced in #2571. Done means standalone or leader startup completes without HTTP status code 0 and the S3 bucket check succeeds.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, cpp
Domain
cloud
Issue type
Bug
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.