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

Reasoning about retry throttling parameters #7539

Closed
roanta opened this issue Aug 19, 2024 · 1 comment
Closed

Reasoning about retry throttling parameters #7539

roanta opened this issue Aug 19, 2024 · 1 comment
Assignees
Labels
Area: Client Includes Channel/Subchannel/Streams, Connectivity States, RPC Retries, Dial/Call Options and more. Type: Question

Comments

@roanta
Copy link

roanta commented Aug 19, 2024

Hi!

I would like to reason about retry throttling in terms of an upper bound for traffic amplification, relative to the steady state of my service. It looks like token_count is equivalent to successRate * tokenRatio, which is close to what I need. However, I don't know how to reasonably set maxTokens, which is also used to derive the threshold. Part of the problem is that maxTokens is a defined in absolute terms, rather then relative.

  • Am I missing an obvious way to set maxTokens?
  • Is it possible to "bend" this implementation to conform to the semantics I'm describing?

I'm new to gRPC, so please let me know if there are additional docs or resources I've missed which make this clearer.

Thanks in advance!

@purnesh42H purnesh42H assigned purnesh42H and atollena and unassigned purnesh42H Aug 20, 2024
@arjan-bal arjan-bal added the Area: Client Includes Channel/Subchannel/Streams, Connectivity States, RPC Retries, Dial/Call Options and more. label Sep 4, 2024
@purnesh42H
Copy link
Contributor

purnesh42H commented Oct 1, 2024

@roanta right now maxTokens is absolute number. However, the token computation is based on the number of successful and failed RPCs, as per https://github.com/grpc/proposal/blob/master/A6-client-retries.md#throttling-retry-attempts-and-hedged-rpcs

I don't think we have any useful guidance to offer here. I think you'll just need to experiment with it a bit and see what works for your service.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Client Includes Channel/Subchannel/Streams, Connectivity States, RPC Retries, Dial/Call Options and more. Type: Question
Projects
None yet
Development

No branches or pull requests

4 participants