Skip to content

Add Gitaly grpc client-side load-balancing configs

What does this MR do and why?

This MR adds grpc.enable_retries and grpc.service_config configs to Gitaly channel arguments. Those configurations enable round-robin client-side load-balancing. Afterward, the requests are distributed to subchannels returned by the name resolver. This setting is good for DNS service discovery only. If Gitaly is accessed via a single URL, they don't have any effect.

The comments above the configs describe in details how they behave. This issue Implement a custom DNS resolver working well wi... (gitaly#4529 - closed) contain a series of experiments describing how those configs work in practice.

Screenshots or screen recordings

N/A. This MR does not yield any user-facing changes.

How to set up and validate locally

Please see Implement a custom DNS resolver working well wi... (gitaly#4529 - closed) for more information.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports