apache / apache/arrow-rs-object-store
Support `PutMode::Create` for Alibaba OSS
- Dominant language
- Rust
- Stars
- 322
- Forks
- 212
- Avg merge
- 5d 2h
- Merged PRs (30d)
- 10
Description
**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**
We'd like to make SlateDB work with Alibaba (see https://github.com/slatedb/slatedb/issues/636). Unfortunately, Alibaba doesn't support standard S3 headers for put if not exists. Instead, it uses `x-oss-forbid-overwrite`.
**Describe the solution you'd like**
I'd like `object_store` to use `x-oss-forbid-overwrite` when used with Alibaba OSS.
**Describe alternatives you've considered**
We'd have to switch to open_dal or write our own implementation outside of `object_store`. Both of these are really heavy lifts.
**Additional context**
cc @jiaoew1991
Contributor guide
Research direction
Start by tracing how PutMode::Create is handled in the object_store crate and where the Alibaba OSS request is built. Confirm the provider-specific behavior described in the issue, then verify that create-only writes use x-oss-forbid-overwrite for Alibaba OSS without changing other providers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100