Skip to content

Proposal for retries on rate limited responses #12200

@numerodix

Description

@numerodix

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions