Add config for connect params for the gRPC client #296
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.
What this PR does:
This PR adds configuration options for the gRPC client, namely the connect connect timeout, and backoff delays.
In Loki we observed that the default gRPC connect timeout caused tail latency when the client is used in a client pool for the ring, e.g. index-gateway clients. In case a server is unexpectedly restarted (e.g. due to OOMing) the server still remains in the ring even though it is may be unavailable or not ready (during startup). However, the client pool still create the client for the address of the server and tries to connect. A long timeout when establishing a connection introduces the latency until the next server is tried.
https://github.com/grafana/loki/blob/main/pkg/storage/stores/indexshipper/gatewayclient/gateway_client.go#L327-L357
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]