Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'config/initializers/7_redis.rb')
-rw-r--r--config/initializers/7_redis.rb17
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)