Exclude negotiation timeouts from the SSH error SLI

What does this MR do and why?

Contributes to gitlab#630253 (closed)

Problem

Idle Git-over-SSH clients can cause Gitaly to return a DeadlineExceeded error containing "waiting for negotiation". gitlab-shell counted this client-caused timeout as an SSH server error.

Solution

  • Exclude negotiation-timeout errors from trackError.
  • Keep unrelated DeadlineExceeded errors and other gRPC codes counted.
  • Add table-driven coverage for the excluded and counted cases.

References

How to set up and validate locally

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.

Merge request reports

Loading
Loading