Commit 3c42019b authored by Bob Van Landuyt's avatar Bob Van Landuyt

Always enable the request store in Sidekiq

This removes the possibility to disable the request store in
Sidekiq. The feature was enabled for a few months, and we don't know
of anybody that actually used this ENV-flag.
parent 3d9ed2b4
---
title: Remove the SIDEKIQ_REQUEST_STORE configuration
merge_request: 29955
author:
type: other
...@@ -33,7 +33,6 @@ enable_json_logs = Gitlab.config.sidekiq.log_format == 'json' ...@@ -33,7 +33,6 @@ enable_json_logs = Gitlab.config.sidekiq.log_format == 'json'
enable_sidekiq_memory_killer = ENV['SIDEKIQ_MEMORY_KILLER_MAX_RSS'].to_i.nonzero? enable_sidekiq_memory_killer = ENV['SIDEKIQ_MEMORY_KILLER_MAX_RSS'].to_i.nonzero?
use_sidekiq_daemon_memory_killer = ENV["SIDEKIQ_DAEMON_MEMORY_KILLER"].to_i.nonzero? use_sidekiq_daemon_memory_killer = ENV["SIDEKIQ_DAEMON_MEMORY_KILLER"].to_i.nonzero?
use_sidekiq_legacy_memory_killer = !use_sidekiq_daemon_memory_killer use_sidekiq_legacy_memory_killer = !use_sidekiq_daemon_memory_killer
use_request_store = ENV.fetch('SIDEKIQ_REQUEST_STORE', 1).to_i.nonzero?
Sidekiq.configure_server do |config| Sidekiq.configure_server do |config|
if enable_json_logs if enable_json_logs
...@@ -50,8 +49,7 @@ Sidekiq.configure_server do |config| ...@@ -50,8 +49,7 @@ Sidekiq.configure_server do |config|
config.server_middleware(&Gitlab::SidekiqMiddleware.server_configurator({ config.server_middleware(&Gitlab::SidekiqMiddleware.server_configurator({
metrics: Settings.monitoring.sidekiq_exporter, metrics: Settings.monitoring.sidekiq_exporter,
arguments_logger: ENV['SIDEKIQ_LOG_ARGUMENTS'] && !enable_json_logs, arguments_logger: ENV['SIDEKIQ_LOG_ARGUMENTS'] && !enable_json_logs,
memory_killer: enable_sidekiq_memory_killer && use_sidekiq_legacy_memory_killer, memory_killer: enable_sidekiq_memory_killer && use_sidekiq_legacy_memory_killer
request_store: use_request_store
})) }))
config.client_middleware(&Gitlab::SidekiqMiddleware.client_configurator) config.client_middleware(&Gitlab::SidekiqMiddleware.client_configurator)
......
...@@ -7,13 +7,13 @@ module Gitlab ...@@ -7,13 +7,13 @@ module Gitlab
# The result of this method should be passed to # The result of this method should be passed to
# Sidekiq's `config.server_middleware` method # Sidekiq's `config.server_middleware` method
# eg: `config.server_middleware(&Gitlab::SidekiqMiddleware.server_configurator)` # eg: `config.server_middleware(&Gitlab::SidekiqMiddleware.server_configurator)`
def self.server_configurator(metrics: true, arguments_logger: true, memory_killer: true, request_store: true) def self.server_configurator(metrics: true, arguments_logger: true, memory_killer: true)
lambda do |chain| lambda do |chain|
chain.add ::Gitlab::SidekiqMiddleware::Monitor chain.add ::Gitlab::SidekiqMiddleware::Monitor
chain.add ::Gitlab::SidekiqMiddleware::ServerMetrics if metrics chain.add ::Gitlab::SidekiqMiddleware::ServerMetrics if metrics
chain.add ::Gitlab::SidekiqMiddleware::ArgumentsLogger if arguments_logger chain.add ::Gitlab::SidekiqMiddleware::ArgumentsLogger if arguments_logger
chain.add ::Gitlab::SidekiqMiddleware::MemoryKiller if memory_killer chain.add ::Gitlab::SidekiqMiddleware::MemoryKiller if memory_killer
chain.add ::Gitlab::SidekiqMiddleware::RequestStoreMiddleware if request_store chain.add ::Gitlab::SidekiqMiddleware::RequestStoreMiddleware
chain.add ::Gitlab::SidekiqMiddleware::BatchLoader chain.add ::Gitlab::SidekiqMiddleware::BatchLoader
chain.add ::Labkit::Middleware::Sidekiq::Server chain.add ::Labkit::Middleware::Sidekiq::Server
chain.add ::Gitlab::SidekiqMiddleware::InstrumentationLogger chain.add ::Gitlab::SidekiqMiddleware::InstrumentationLogger
......
...@@ -32,8 +32,7 @@ describe Gitlab::SidekiqMiddleware do ...@@ -32,8 +32,7 @@ describe Gitlab::SidekiqMiddleware do
described_class.server_configurator( described_class.server_configurator(
metrics: metrics, metrics: metrics,
arguments_logger: arguments_logger, arguments_logger: arguments_logger,
memory_killer: memory_killer, memory_killer: memory_killer
request_store: request_store
).call(chain) ).call(chain)
example.run example.run
...@@ -77,13 +76,11 @@ describe Gitlab::SidekiqMiddleware do ...@@ -77,13 +76,11 @@ describe Gitlab::SidekiqMiddleware do
let(:metrics) { false } let(:metrics) { false }
let(:arguments_logger) { false } let(:arguments_logger) { false }
let(:memory_killer) { false } let(:memory_killer) { false }
let(:request_store) { false }
let(:disabled_sidekiq_middlewares) do let(:disabled_sidekiq_middlewares) do
[ [
Gitlab::SidekiqMiddleware::ServerMetrics, Gitlab::SidekiqMiddleware::ServerMetrics,
Gitlab::SidekiqMiddleware::ArgumentsLogger, Gitlab::SidekiqMiddleware::ArgumentsLogger,
Gitlab::SidekiqMiddleware::MemoryKiller, Gitlab::SidekiqMiddleware::MemoryKiller
Gitlab::SidekiqMiddleware::RequestStoreMiddleware
] ]
end end
...@@ -94,7 +91,6 @@ describe Gitlab::SidekiqMiddleware do ...@@ -94,7 +91,6 @@ describe Gitlab::SidekiqMiddleware do
let(:metrics) { true } let(:metrics) { true }
let(:arguments_logger) { true } let(:arguments_logger) { true }
let(:memory_killer) { true } let(:memory_killer) { true }
let(:request_store) { true }
let(:disabled_sidekiq_middlewares) { [] } let(:disabled_sidekiq_middlewares) { [] }
it_behaves_like "a server middleware chain" it_behaves_like "a server middleware chain"
......
...@@ -305,10 +305,7 @@ RSpec.configure do |config| ...@@ -305,10 +305,7 @@ RSpec.configure do |config|
Gitlab::SidekiqMiddleware.server_configurator( Gitlab::SidekiqMiddleware.server_configurator(
metrics: false, # The metrics don't go anywhere in tests metrics: false, # The metrics don't go anywhere in tests
arguments_logger: false, # We're not logging the regular messages for inline jobs arguments_logger: false, # We're not logging the regular messages for inline jobs
memory_killer: false, # This is not a thing we want to do inline in tests memory_killer: false # This is not a thing we want to do inline in tests
# Don't enable this if the request store is active in the spec itself
# This needs to run within the `request_store` around block defined above
request_store: !RequestStore.active?
).call(chain) ).call(chain)
chain.add DisableQueryLimit chain.add DisableQueryLimit
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment