summaryrefslogtreecommitdiff
path: root/data/deprecations/15-9-deprecate-queue-selector.yml
diff options
context:
space:
mode:
Diffstat (limited to 'data/deprecations/15-9-deprecate-queue-selector.yml')
-rw-r--r--data/deprecations/15-9-deprecate-queue-selector.yml14
1 files changed, 14 insertions, 0 deletions
diff --git a/data/deprecations/15-9-deprecate-queue-selector.yml b/data/deprecations/15-9-deprecate-queue-selector.yml
new file mode 100644
index 00000000000..242ee922360
--- /dev/null
+++ b/data/deprecations/15-9-deprecate-queue-selector.yml
@@ -0,0 +1,14 @@
+- title: "Queue selector for running Sidekiq is deprecated" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "CI/CD job names will be limited to 250 characters."
+ announcement_milestone: "15.9" # (required) The milestone when this feature was first announced as deprecated.
+ removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
+ end_of_support_milestone: "16.0"
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: marcogreg # (required) GitLab username of the person reporting the change
+ stage: scalability # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390787 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ Running Sidekiq with a [queue selector](https://docs.gitlab.com/ee/administration/sidekiq/processing_specific_job_classes.html#queue-selectors) (having multiple processes listening to a set of queues) and [negate settings](https://docs.gitlab.com/ee/administration/sidekiq/processing_specific_job_classes.html#negate-settings) is deprecated and will be fully removed in 17.0.
+
+ You can migrate away from queue selectors to [listening to all queues in all processes](https://docs.gitlab.com/ee/administration/sidekiq/extra_sidekiq_processes.html#start-multiple-processes). For example, if Sidekiq is currently running with 4 processes (denoted by 4 elements in `sidekiq['queue_groups']` in `/etc/gitlab/gitlab.rb`) with queue selector (`sidekiq['queue_selector'] = true`), you can change Sidekiq to listen to all queues in all 4 processes,for example `sidekiq['queue_groups'] = ['*'] * 4`. This approach is also recommended in our [Reference Architecture](https://docs.gitlab.com/ee/administration/reference_architectures/5k_users.html#configure-sidekiq). Note that Sidekiq can effectively run as many processes as the number of CPUs in the machine.
+
+ While the above approach is recommended for most instances, Sidekiq can also be run using [routing rules](https://docs.gitlab.com/ee/administration/sidekiq/processing_specific_job_classes.html#routing-rules) which is also being used on GitLab.com. You can follow the [migration guide from queue selectors to routing rules](https://docs.gitlab.com/ee/administration/sidekiq/processing_specific_job_classes.html#migrating-from-queue-selectors-to-routing-rules). You need to take care with the migration to avoid losing jobs entirely.