Skip to content

Change DuplicateJobs Redis format

Jacob Vosmaer requested to merge jv-duplicate-jobs-redis into master

This changes how the DuplicateJobs Sidekiq middleware stores server state in Redis. Instead of using separate keys for deduplication state and load balancing state, the new format combines all state for an idempotency key in a single Redis key. This minimizes the number of Redis keys we need to set, get and delete.

The new format shares no Redis keys with the old format. This means that during a deploy, old code and new code will make independent decisions about whether to deduplicate. This should not be a problem because we only deduplicate idempotent jobs.

Part of gitlab-com/gl-infra/scalability#1954 (closed)

Edited by Jacob Vosmaer

Merge request reports