apache / apache/opendal

new feature: Throttling requests

Open
#8,058 0 comments 1 reaction 0 assignees View on GitHub
enhancement releases-note/feat
Dominant language
Rust
Stars
5.4k
Forks
825
Avg merge
1d 14m
Merged PRs (30d)
127

Description

### Feature Description

The ThrottleLayer currently works in terms of bandwidth and burst sizes; however, the total number of requests cannot be subjected to throttling limits. This would be another helpful addition.

### Problem and Solution

Throttling limits vary greatly and for example for OneDrive, I experience a request that was blocked due to hitting the [requests limit](https://learn.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online), although the space limits would have allowed for much more. In fact, I am also not very sure the `retryAfterSeconds` field of the response has been respected

### Additional Context

_No response_

### Are you willing to contribute to the development of this feature?

- [ ] Yes, I am willing to contribute to the development of this feature.

Contributor guide

Open the contributing guide

Research direction

Start by locating the ThrottleLayer and reading how its bandwidth and burst-size limits are implemented. Trace how retryAfterSeconds is handled, then determine the expected request-count limit and verify that the ThrottleLayer enforces it alongside the existing limits.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.