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 'lib/gitlab/redis.rb')
-rw-r--r--lib/gitlab/redis.rb13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/gitlab/redis.rb b/lib/gitlab/redis.rb
index 70e333eb29f..17ac15a01dd 100644
--- a/lib/gitlab/redis.rb
+++ b/lib/gitlab/redis.rb
@@ -53,18 +53,19 @@ module Gitlab
def redis_store_options
config = raw_config_hash
+ redis_url = config.delete(:url)
+ redis_uri = URI.parse(redis_url)
- redis_uri = URI.parse(config[:url])
if redis_uri.scheme == 'unix'
# Redis::Store does not handle Unix sockets well, so let's do it for them
config[:path] = redis_uri.path
+ config
else
- redis_hash = ::Redis::Store::Factory.extract_host_options_from_uri(config[:url])
- config.merge!(redis_hash)
+ redis_hash = ::Redis::Store::Factory.extract_host_options_from_uri(redis_url)
+ # order is important here, sentinels must be after the connection keys.
+ # {url: ..., port: ..., sentinels: [...]}
+ redis_hash.merge(config)
end
-
- config.delete(:url)
- config
end
def raw_config_hash