Exporterhelper: address timeout misalignment w/ context deadline #11198
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
Retry sender: if the context deadline will expire before a configured attempt to retry, abort the request. Otherwise, the retry sender will delay until the context timeout happens, which is a predictable waste of resources. Better to return immediately. As for the aborted status code, I could be convinced instead to stop retrying and return the final-retry-attempt's error.
Timeout sender: if the context deadline will expire before the full configured timeout, present two optional new behaviors in addition to the current behavior. The three are:
Link to tracking issue
Fixes #11183.
Testing
TODO: This is draft for discussion purposes. I have not added or modified existing tests, and I'm aware of stylistic requirements that are not met (e.g., the use of bare string values, vs. use of a constrained value such as
configcompression.Type
).Documentation
WIP: DRAFT.