Add adaptiveness to pack-objects limiter
This issue tracks the work of integrating the adaptive calculator with pack-object limiter. This work involves adding some new adaptive configs to the pack_objects_limiting
settings.
Here is a sample config:
[pack_objects_limiting]
// Backward compatible with the static one
max_concurrency = 15
adaptive = true
initial_limit = 15
max_limit = 100
min_limit = 1
max_queue_length = 15
max_queue_wait = "30s"
As the limiters are configured at boot time, we cannot use a feature flag. Instead, we add the new settings to targeted nodes. We can always rollback to the use of static limits by disabling gitaly_use_resizable_semaphore_in_concurrency_limiter
feature flag.
Edited by Quang-Minh Nguyen