Skip to content

Ensure removed workers are also removed from every sidekiq worker spec

Peter Leitzen requested to merge pl-every-sidekiq-removed-workers into master

What does this MR do and why?

During review of !124430 (comment 1442035877) it was noticed that removed sidekiq workers still showed up in spec/workers/every_sidekiq_worker_spec.rb.

This MR ensures that Ensure removed workers are also removed from every sidekiq worker spec.

Example failure:

Failures:

  1) Every Sidekiq worker retries defines `retry_exceptions` only for existing workers
     Failure/Error: expect(removed_workers).to be_empty, message

       The following workers no longer exist but are defined in `retry_exceptions`:

       - Analytics::InstanceStatistics::CounterJobWorker
       - ArchiveTraceWorker
       - BuildFinishedWorker
       - Clusters::Cleanup::AppWorker
       - Deployments::FinishedWorker
       - Deployments::ForwardDeploymentWorker
       - Deployments::SuccessWorker
       - GitGarbageCollectWorker
       - MergeRequests::AssigneesChangeWorker
       - Namespaces::RefreshRootStatisticsWorker
       - ProjectScheduleBulkRepositoryShardMovesWorker
       - ProjectUpdateRepositoryStorageWorker
       - SnippetScheduleBulkRepositoryShardMovesWorker
       - SnippetUpdateRepositoryStorageWorker
       - WebHooks::DestroyWorker

       Make sure to remove them from `retry_exceptions` because their definition is unnecessary.

This MR removes all unnecessary definitions for removed workers.

  • Analytics::InstanceStatistics::CounterJobWorker
  • ArchiveTraceWorker
  • BuildFinishedWorker
  • Clusters::Cleanup::AppWorker
  • Deployments::FinishedWorker
  • Deployments::ForwardDeploymentWorker
  • Deployments::SuccessWorker
  • GitGarbageCollectWorker
  • MergeRequests::AssigneesChangeWorker
  • Namespaces::RefreshRootStatisticsWorker
  • ProjectScheduleBulkRepositoryShardMovesWorker
  • ProjectUpdateRepositoryStorageWorker
  • SnippetScheduleBulkRepositoryShardMovesWorker
  • SnippetUpdateRepositoryStorageWorker
  • WebHooks::DestroyWorker

How to set up and validate locally

bin/rspec spec/workers/every_sidekiq_worker_spec.rb

FOSS_ONLY=1 bin/rspec spec/workers/every_sidekiq_worker_spec.rb

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Peter Leitzen

Merge request reports