Skip to content

Revert "406623-dry-up-modules-in-security-training-providers'"

Malcolm Locke requested to merge revert-6af5499f into master

What does this MR do and why?

The refactor in Refactor TrainingProviders: DRY up common logic... (!125829 - merged) appears to have introduced a bug when executed in the context of sidekiq for reactive caching.

As a consequence of this the training provider links on vulnerability pages are currently broken, they will remain in the loading state indefinitely.

Revert "Merge branch '406623-dry-up-modules-in-security-training-providers' into 'master'"

This reverts merge request !125829 (merged)

Screenshots or screen recordings

image

image

Sidekiq exception log

NotImplementedError: query_string must be overwritten to return training url query string

ee/app/finders/security/training_providers/base_url_finder.rb:43:in `query_string'
ee/app/finders/security/training_providers/base_url_finder.rb:47:in `full_url'
ee/app/finders/security/training_providers/base_url_finder.rb:12:in `block in <class:BaseUrlFinder>'
app/models/concerns/reactive_caching.rb:131:in `full_reactive_cache_key'
app/models/concerns/reactive_caching.rb:145:in `ensure in locking_reactive_cache'
app/models/concerns/reactive_caching.rb:145:in `locking_reactive_cache'
app/models/concerns/reactive_caching.rb:89:in `exclusively_update_reactive_cache!'
app/workers/concerns/reactive_cacheable_worker.rb:35:in `perform'
lib/gitlab/sidekiq_middleware/skip_jobs.rb:49:in `call'
lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb:29:in `call'
lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing.rb:16:in `perform'
lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb:44:in `perform'
lib/gitlab/sidekiq_middleware/duplicate_jobs/server.rb:8:in `call'
lib/gitlab/sidekiq_middleware/pause_control/strategies/base.rb:31:in `perform'
lib/gitlab/sidekiq_middleware/pause_control/strategy_handler.rb:22:in `perform'
lib/gitlab/sidekiq_middleware/pause_control/server.rb:8:in `call'
lib/gitlab/sidekiq_middleware/worker_context.rb:9:in `wrap_in_optional_context'
lib/gitlab/sidekiq_middleware/worker_context/server.rb:19:in `block in call'
lib/gitlab/application_context.rb:124:in `block in use'
lib/gitlab/application_context.rb:124:in `use'
lib/gitlab/application_context.rb:62:in `with_context'
lib/gitlab/sidekiq_middleware/worker_context/server.rb:17:in `call'
lib/gitlab/sidekiq_status/server_middleware.rb:7:in `call'
lib/gitlab/sidekiq_versioning/middleware.rb:9:in `call'
lib/gitlab/sidekiq_middleware/query_analyzer.rb:7:in `block in call'
lib/gitlab/database/query_analyzer.rb:37:in `within'
lib/gitlab/sidekiq_middleware/query_analyzer.rb:7:in `call'
lib/gitlab/sidekiq_middleware/admin_mode/server.rb:14:in `call'
lib/gitlab/sidekiq_middleware/instrumentation_logger.rb:9:in `call'
lib/gitlab/sidekiq_middleware/batch_loader.rb:7:in `call'
lib/gitlab/sidekiq_middleware/extra_done_log_metadata.rb:7:in `call'
lib/gitlab/sidekiq_middleware/request_store_middleware.rb:8:in `block in call'
lib/gitlab/sidekiq_middleware/request_store_middleware.rb:7:in `call'
lib/gitlab/sidekiq_middleware/server_metrics.rb:94:in `block in call'
lib/gitlab/sidekiq_middleware/server_metrics.rb:122:in `block in instrument'
lib/gitlab/metrics/background_transaction.rb:33:in `run'
lib/gitlab/sidekiq_middleware/server_metrics.rb:122:in `instrument'
lib/gitlab/sidekiq_middleware/server_metrics.rb:93:in `call'
lib/gitlab/sidekiq_middleware/monitor.rb:10:in `block in call'
lib/gitlab/sidekiq_daemon/monitor.rb:46:in `within_job'
lib/gitlab/sidekiq_middleware/monitor.rb:9:in `call'
lib/gitlab/sidekiq_middleware/size_limiter/server.rb:13:in `call'
lib/gitlab/sidekiq_logging/structured_logger.rb:21:in `call'

Merge request reports