Skip to content

Always log limit.concurrency_queue_ms field

When a concurrency limiter is enabled, Gitaly dumps some related log fields. Those log fields make it easy to investigate any issues later. Previously, when a request fails to queue for any reason, limit.concurrency_queue_ms field is omitted because it's always slightly more than the maximum queue time.

Unfortunately, in practice, this omission made it hard to filter out requests with high queueing time. Thus, we had to add a bunch of filters to include such results.

This MR fixes that behavior. Afterward, Gitaly always logs that field regardless of the queueing result.

Verification

  • Set Gitaly configuration concurrency limit low, then spam an endpoint and collect logs.

  • Request doesn't need to queue:

Screenshot_2023-05-12_at_12.07.49

  • Request is queued for a while:

Screenshot_2023-05-12_at_12.09.04

  • Request is dropped after being queued (target of this MR)

Screenshot_2023-05-12_at_12.07.39

Edited by Quang-Minh Nguyen

Merge request reports