FIX: use Redis replica host and port (#11566)
Introduce Redis `replica` config and deprecate `slave`
This commit is contained in:
parent
5bc0efa588
commit
f84ff26aa9
|
@ -163,6 +163,26 @@ class GlobalSetting
|
|||
@message_bus_config = nil
|
||||
end
|
||||
|
||||
def self.get_redis_replica_host
|
||||
return redis_replica_host if redis_replica_host.present?
|
||||
redis_slave_host if respond_to?(:redis_slave_host) && redis_slave_host.present?
|
||||
end
|
||||
|
||||
def self.get_redis_replica_port
|
||||
return redis_replica_port if redis_replica_port.present?
|
||||
redis_slave_port if respond_to?(:redis_slave_port) && redis_slave_port.present?
|
||||
end
|
||||
|
||||
def self.get_message_bus_redis_replica_host
|
||||
return message_bus_redis_replica_host if message_bus_redis_replica_host.present?
|
||||
message_bus_redis_slave_host if respond_to?(:message_bus_redis_slave_host) && message_bus_redis_slave_host.present?
|
||||
end
|
||||
|
||||
def self.get_message_bus_redis_replica_port
|
||||
return message_bus_redis_replica_port if message_bus_redis_replica_port.present?
|
||||
message_bus_redis_slave_port if respond_to?(:message_bus_redis_slave_port) && message_bus_redis_slave_port.present?
|
||||
end
|
||||
|
||||
def self.redis_config
|
||||
@config ||=
|
||||
begin
|
||||
|
@ -170,9 +190,9 @@ class GlobalSetting
|
|||
c[:host] = redis_host if redis_host
|
||||
c[:port] = redis_port if redis_port
|
||||
|
||||
if redis_slave_host && redis_slave_port && defined?(RailsFailover)
|
||||
c[:replica_host] = redis_slave_host
|
||||
c[:replica_port] = redis_slave_port
|
||||
if get_redis_replica_host && get_redis_replica_port && defined?(RailsFailover)
|
||||
c[:replica_host] = get_redis_replica_host
|
||||
c[:replica_port] = get_redis_replica_port
|
||||
c[:connector] = RailsFailover::Redis::Connector
|
||||
end
|
||||
|
||||
|
@ -194,9 +214,9 @@ class GlobalSetting
|
|||
c[:host] = message_bus_redis_host if message_bus_redis_host
|
||||
c[:port] = message_bus_redis_port if message_bus_redis_port
|
||||
|
||||
if message_bus_redis_slave_host && message_bus_redis_slave_port
|
||||
c[:replica_host] = message_bus_redis_slave_host
|
||||
c[:replica_port] = message_bus_redis_slave_port
|
||||
if get_message_bus_redis_replica_host && get_message_bus_redis_replica_port
|
||||
c[:replica_host] = get_message_bus_redis_replica_host
|
||||
c[:replica_port] = get_message_bus_redis_replica_port
|
||||
c[:connector] = RailsFailover::Redis::Connector
|
||||
end
|
||||
|
||||
|
|
|
@ -124,11 +124,11 @@ redis_host = localhost
|
|||
# redis server port
|
||||
redis_port = 6379
|
||||
|
||||
# redis slave server address
|
||||
redis_slave_host =
|
||||
# redis replica server address
|
||||
redis_replica_host =
|
||||
|
||||
# redis slave server port
|
||||
redis_slave_port = 6379
|
||||
# redis replica server port
|
||||
redis_replica_port = 6379
|
||||
|
||||
# redis database
|
||||
redis_db = 0
|
||||
|
@ -151,11 +151,11 @@ message_bus_redis_host = localhost
|
|||
# message bus redis server port
|
||||
message_bus_redis_port = 6379
|
||||
|
||||
# message bus redis slave server address
|
||||
message_bus_redis_slave_host =
|
||||
# message bus redis replica server address
|
||||
message_bus_redis_replica_host =
|
||||
|
||||
# message bus redis slave server port
|
||||
message_bus_redis_slave_port = 6379
|
||||
message_bus_redis_replica_port = 6379
|
||||
|
||||
# message bus redis database
|
||||
message_bus_redis_db = 0
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
if !GlobalSetting.skip_redis?
|
||||
if GlobalSetting.respond_to?(:redis_slave_host) && GlobalSetting.redis_slave_host.present?
|
||||
Discourse.deprecate("redis_slave_host is deprecated, use redis_replica_host instead", drop_from: "2.8")
|
||||
end
|
||||
|
||||
if GlobalSetting.respond_to?(:redis_slave_port) && GlobalSetting.redis_slave_port.present?
|
||||
Discourse.deprecate("redis_slave_port is deprecated, use redis_replica_port instead", drop_from: "2.8")
|
||||
end
|
||||
|
||||
if GlobalSetting.respond_to?(:message_bus_redis_slave_host) && GlobalSetting.message_bus_redis_slave_host.present?
|
||||
Discourse.deprecate("message_bus_redis_slave_host is deprecated, use message_bus_redis_replica_host", drop_from: "2.8")
|
||||
end
|
||||
|
||||
if GlobalSetting.respond_to?(:message_bus_redis_slave_port) && GlobalSetting.message_bus_redis_slave_port.present?
|
||||
Discourse.deprecate("message_bus_redis_slave_port is deprecated, use message_bus_redis_replica_port", drop_from: "2.8")
|
||||
end
|
||||
end
|
|
@ -67,13 +67,13 @@ describe GlobalSetting do
|
|||
end
|
||||
|
||||
describe '.redis_config' do
|
||||
describe 'when slave config is not present' do
|
||||
describe 'when replica config is not present' do
|
||||
it "should not set any connector" do
|
||||
expect(GlobalSetting.redis_config[:connector]).to eq(nil)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'when slave config is present' do
|
||||
describe 'when replica config is present' do
|
||||
before do
|
||||
GlobalSetting.reset_redis_config!
|
||||
end
|
||||
|
@ -83,8 +83,8 @@ describe GlobalSetting do
|
|||
end
|
||||
|
||||
it "should set the right connector" do
|
||||
GlobalSetting.expects(:redis_slave_port).returns(6379).at_least_once
|
||||
GlobalSetting.expects(:redis_slave_host).returns('0.0.0.0').at_least_once
|
||||
GlobalSetting.expects(:redis_replica_port).returns(6379).at_least_once
|
||||
GlobalSetting.expects(:redis_replica_host).returns('0.0.0.0').at_least_once
|
||||
|
||||
expect(GlobalSetting.redis_config[:connector]).to eq(RailsFailover::Redis::Connector)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue