From 263c7f0bccd4821804bb293df3f45f513c1163b6 Mon Sep 17 00:00:00 2001 From: Paco Guzman Date: Thu, 22 Sep 2016 08:38:35 +0200 Subject: [PATCH] Use a ConnectionPool for Rails.cache on Sidekiq servers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It’s important to remember that connections on ConnectionPool are created when needed so if modify the objects later to create those connections weird things could happen https://gitlab.com/gitlab-com/infrastructure/issues/464#note_15850653 --- CHANGELOG | 1 + config/application.rb | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index df93f89a41a..5cd5b12a1e9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,7 @@ v 8.13.0 (unreleased) - Log LDAP lookup errors and don't swallow unrelated exceptions. !6103 (Markus Koller) - Add more tests for calendar contribution (ClemMakesApps) - Fix robots.txt disallowing access to groups starting with "s" (Matt Harrison) + - Use a ConnectionPool for Rails.cache on Sidekiq servers - Only update issuable labels if they have been changed - Revoke button in Applications Settings underlines on hover. - Update ruby-prof to 0.16.2. !6026 (Elan Ruusamäe) diff --git a/config/application.rb b/config/application.rb index 4792f6670a8..8166b6003f6 100644 --- a/config/application.rb +++ b/config/application.rb @@ -116,6 +116,10 @@ module Gitlab redis_config_hash = Gitlab::Redis.params redis_config_hash[:namespace] = Gitlab::Redis::CACHE_NAMESPACE redis_config_hash[:expires_in] = 2.weeks # Cache should not grow forever + if Sidekiq.server? # threaded context + redis_config_hash[:pool_size] = Sidekiq.options[:concurrency] + 5 + redis_config_hash[:pool_timeout] = 1 + end config.cache_store = :redis_store, redis_config_hash config.active_record.raise_in_transactional_callbacks = true