Skip to content

Track current concurrency limit in Redis

What does this MR do and why?

Concurrency limit is currently statically defined in Gitlab::SidekiqMiddleware::ConcurrencyLimit::WorkersMap based on concurrency_limit attribute (example)

With this change, we're adding a dynamic limit (current_limit) overriding the static limit tracked in Redis, which will be subject to throttling.

This currently does not affect any behavior in Sidekiq, it only changes from reading the limit from hardcoded value vs on Redis.

References

gitlab-com/gl-infra/data-access/durability/team#146 (closed)

Broken down from sidekiq throttling PoC !190565 (closed)

Screenshots or screen recordings

Before After

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.

Edited by Marco Gregorius

Merge request reports

Loading