Skip to content

Remove Sidekiq worker tags

Sean McGivern requested to merge remove-worker-tags into master

This removes all Sidekiq workers tags except for needs_own_queue. Workers tags are documented as short-lived metadata annotations, and are primarily for use in the GitLab.com deployment. All of the removed tags are no longer needed:

  1. requires_disk_io - we added this to workers that accessed shared files over NFS when we started migrating Sidekiq away from VMs to Kubernetes. These workers no longer use NFS, we just hadn't tidied up the tags.
  2. exclude_from_kubernetes - similarly, in our Kubernetes migration we ended up in a state where some workers ran on VMs and others ran on Kubernetes, but there was no particular reason for these workers not to run on Kubernetes. We didn't remove it earlier because the migration was still in progress. This tag was just there to simplify the queue selectors, but now that all of Sidekiq on GitLab.com runs on Kubernetes, we definitely don't need it.
  3. exclude_from_gitlab_com - some workers never run on GitLab.com. When we were using a queue per worker, there was a small overhead to running extra queues, and that overhead added up at GitLab.com's scale. Now that we are using routing rules to put jobs in far fewer queues, we don't need this exclusion any more.

We do want to keep the needs_own_queue tag for now, as it applies to the last point: not every worker can be put in a queue with other workers, and this annotation helps us keep track of those.

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

Merge request reports