diff options
Diffstat (limited to 'config/initializers/7_redis.rb')
-rw-r--r-- | config/initializers/7_redis.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/config/initializers/7_redis.rb b/config/initializers/7_redis.rb index 61b660ec6a3..b66a5e70f56 100644 --- a/config/initializers/7_redis.rb +++ b/config/initializers/7_redis.rb @@ -4,6 +4,23 @@ require 'gitlab/redis' Redis.raise_deprecations = true unless Rails.env.production? +# rubocop:disable Gitlab/NoCodeCoverageComment +# :nocov: This snippet is for local development only, reloading in specs would raise NameError +if Rails.env.development? + # reset all pools in the event of a reload + # This makes sure that there are no stale references to classes in the `Gitlab::Redis` namespace + # that also got reloaded. + Gitlab::Application.config.to_prepare do + Gitlab::Redis::ALL_CLASSES.each do |redis_instance| + redis_instance.instance_variable_set(:@pool, nil) + end + + Rails.cache = ActiveSupport::Cache::RedisCacheStore.new(**Gitlab::Redis::Cache.active_support_config) + end +end +# :nocov: +# rubocop:enable Gitlab/NoCodeCoverageComment + Redis::Client.prepend(Gitlab::Instrumentation::RedisInterceptor) Redis::Cluster::NodeLoader.prepend(Gitlab::Patch::NodeLoader) Redis::Cluster.prepend(Gitlab::Patch::RedisCluster) |