gitaly: Make Rails Gitaly client retries configurable

The current retry settings for the Gitaly client in Rails is hardcoded and not configurable.

This poses a problem for Gitaly on Kubernetes, because the Pod start time is longer than the maximum amount of time the Gitaly client retries before returning an error to the client. The current retry settings always expire before the Gitaly Pod can start, which leads to errors being returned to the client.

This gap between the moment Rails returns errors and the time the Gitaly Pod finally starts is what is preventing, in part, Gitaly on Kubernetes from going GA. This is a blocker for us.

This commit fixes that by making those settings configurable. It will enable users of Gitaly on Kubernetes to set the settings according to the time it takes for their Gitaly Pod to start, which will greatly enhance the user experience for Gitaly on Kubernetes.

cc @vyaklushin

References

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Olivier Campeau

Merge request reports

Loading