diff --git a/lib/discourse_redis.rb b/lib/discourse_redis.rb index c92cc9ef72c..156262b146b 100644 --- a/lib/discourse_redis.rb +++ b/lib/discourse_redis.rb @@ -32,6 +32,7 @@ class DiscourseRedis if slave_client.call([:info]).split("\r\n").include?(MASTER_LINK_STATUS) logger.warn "#{log_prefix}: Master server is active, killing all connections to slave..." slave_client.call([:client, [:kill, 'type', 'normal']]) + slave_client.call([:client, [:kill, 'type', 'pubsub']]) Discourse.clear_readonly! Discourse.request_refresh! @master = true diff --git a/spec/components/discourse_redis_spec.rb b/spec/components/discourse_redis_spec.rb index c2d05c85dbe..6f0f1619b59 100644 --- a/spec/components/discourse_redis_spec.rb +++ b/spec/components/discourse_redis_spec.rb @@ -84,6 +84,7 @@ describe DiscourseRedis do fallback_handler.master = false Redis::Client.any_instance.expects(:call).with([:info]).returns(DiscourseRedis::FallbackHandler::MASTER_LINK_STATUS) Redis::Client.any_instance.expects(:call).with([:client, [:kill, 'type', 'normal']]) + Redis::Client.any_instance.expects(:call).with([:client, [:kill, 'type', 'pubsub']]) fallback_handler.initiate_fallback_to_master