Skip to content

Set manual ticker when PackObjectsLimiting.MaxQueueWait is zero

Quang-Minh Nguyen requested to merge qmnguyen0711/fix-zero-max-queue-wait into master

PackObjectsLimiting has MaxQueueWait setting that determines the maximum time a request can stay in the queue. Theoretically, when it's 0, a request can remain in the queue as long as possible. However, the current implementation rejects the request immediately if the config is 0.

This MR sets a manual ticker when PackObjectsLimiting.MaxQueueWait is zero. This configuration aligns with RPC concurrency limiter: https://gitlab.com/gitlab-org/gitaly/-/blob/c65d6282e7e358c3b02bc36e0d4cb6a3049b9990/internal/middleware/limithandler/concurrency_limiter.go#L302-318.

Merge request reports