Skip to content

Handle FailedPrecondition for repository languages

What does this MR do?

Handle FailedPrecondition for repository languages

Repository language detection is expensive, and as such Gitaly might limit the number of GRPC::OK responses GitLab-Rails will receive as part of: gitaly!1690 (closed).

This is expected to have following effects:

  • Repository language detection is considered best effort data and can be stale
  • The most active repositories are merging to the default branch the most, and will not be scanned as often, decreasing the call rate
  • The 99 percentile for the Gitaly RPC will stay the same, though the median will fall
  • The SLA will drop for this RPC, as FailedPrecondition is now returned a lot

Additionally, as a small refactor, I've removed support to Gitaly side ref finding when Rails passes an empty ref. This was not used, except in the tests once.

Conformity

Merge request reports