Skip to content
  • Sean McGivern's avatar
    Remove Sidekiq worker tags · a958ab44
    Sean McGivern authored
    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.
    
    [routing rules]: https://docs.gitlab.com/ee/administration/operations/extra_sidekiq_routing.html
    a958ab44