Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal for retries on rate limited responses #12200

Closed
numerodix opened this issue Jul 21, 2020 · 1 comment
Closed

Proposal for retries on rate limited responses #12200

numerodix opened this issue Jul 21, 2020 · 1 comment
Labels
area/ratelimit area/retry design proposal Needs design doc/proposal before implementation

Comments

@numerodix
Copy link
Contributor

Envoy doesn't currently have support for retrying rate limited responses. When the upstream envoy returns a rate limited response it adds the header x-envoy-ratelimited, which is special cased to make the response ineligible for retries.

This is unfortunate for services that wish to offload the responsibility for retries to envoy, and that also have to deal with rate limited responses.

Envoy also doesn't have support for response headers like Retry-After or X-RateLimit-Reset which provide feedback to the client on how long to wait before retrying a request.

I propose to tackle both of these issues. Please see the design document: https://docs.google.com/document/d/1NSzrx3-KsAFs0ObaLQZUVIt9O4PZv3mXi3Lm7LNzmZE/edit?usp=sharing

In order to test the feasibility of this proposal I'm attaching a reference implementation, see the linked PRs.

@numerodix
Copy link
Contributor Author

This has been accepted as both PRs have been merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ratelimit area/retry design proposal Needs design doc/proposal before implementation
Projects
None yet
Development

No branches or pull requests

2 participants