Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This is one of the possible options we're looking at for implementing retry policies.
gRPC specifies that retry policy definitions should be defined on the service itself and transmitted to the client through the service config mechanism (https://github.com/grpc/proposal/blob/master/A6-client-retries.md). All gRPC clients are supposed to execute the retries, based on the policy.
This PR specifies the retry policy service config on the client. It's a very clean way to do it, with minimal code change, but there's two main drawbacks:
RetryInfo
detail where the server instructs the client when it should retry the request