Replace `ObjectStoreRegistry` with `object_store`'s new `ObjectStoreRegistry`
- Dominant language
- Rust
- Stars
- 9.3k
- Forks
- 2.4k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 344
Description
### Is your feature request related to a problem or challenge?
I'm working with the `object_store` folks on upstreaming DataFusion's [`ObjectStoreRegistry`](https://docs.rs/datafusion/latest/datafusion/datasource/object_store/trait.ObjectStoreRegistry.html) implementation. Part of the goal is that DataFusion would adopt this new registry. I want to check with y'all that the `object_store` version meets your needs.
The PR is here:
https://github.com/apache/arrow-rs-object-store/pull/348
The implementation is largely the same, but there have been a few tweaks:
- Replaced `dashmap` with an RWLock+HashMap to remove `dashmap` dependency
- Remove `ObjectStoreUrl`
- Add `list_urls` method
- Use `object_store::parse_url` to create an `ObjectStore` on `get_store` cache miss (if possible)
- Adds registry tests
- Minor doc updates
- `get_store` returns an `Option` now instead of `Result`
Would you guys be open to adopting this new version?
### Describe the solution you'd like
_No response_
### Describe alternatives you've considered
_No response_
### Additional context
_No response_
Contributor guide
Research direction
Start by reading DataFusion's existing ObjectStoreRegistry implementation and compare it with the upstream object_store PR linked in the issue. Check whether the proposed API changes meet DataFusion's needs, including registry tests and get_store behavior; done means agreeing on and adopting the new registry version.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100