apache / apache/arrow-rs-object-store

[object_store] Runtime Agnostic Retry Machinery

Open
#1 0 comments 3 reactions 0 assignees View on GitHub
enhancement
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.**

Whilst the HttpClient abstraction allows spawning work to a separate tokio runtime, see apache/arrow-rs#7253, the retry machinery itself also makes use of tokio - see [here](https://github.com/apache/arrow-rs/blob/main/object_store/src/client/retry.rs#L361).

This forces the calling context to be a tokio content.

**Describe the solution you'd like**

I think we should make it possible to use object_store in a non-tokio runtime.

**Describe alternatives you've considered**

We could simply disable backoff and rety if not called from a tokio runtime.

**Additional context**

Contributor guide

Open the contributing guide

Research direction

Read object_store/src/client/retry.rs around line 361 and the HttpClient abstraction referenced in the issue. Trace how retry and backoff are invoked and identify the Tokio runtime assumptions; done means object_store can be used from a non-Tokio runtime while retaining retry behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.