DEV: Allow writes to PG even if Redis is readonly mode.

Previously, I thought it was better to drop the site into reading mode
when Redis has failed over to the replica but it created more errors
while Redis is in readonly mode since ActiveRecord would prevent us from
writing to PG even though PG is up.
This commit is contained in:
Guo Xiang Tan 2020-07-21 12:32:50 +08:00
parent cebd8da299
commit 031a6616a3
No known key found for this signature in database
GPG Key ID: FBD110179AAC1F20
1 changed files with 2 additions and 6 deletions

View File

@ -55,16 +55,12 @@ if defined?(RailsFailover::ActiveRecord)
Discourse.redis.exists?(
Discourse::PG_READONLY_MODE_KEY,
Discourse::PG_FORCE_READONLY_MODE_KEY
) || (
GlobalSetting.redis_config[:replica_host] &&
Discourse.redis.connection[:host] == GlobalSetting.redis_config[:replica_host]
)
rescue => e
if e.is_a?(Redis::CannotConnectError)
true
else
Rails.logger.warn "#{e.class} #{e.message}: #{e.backtrace.join("\n")}"
false
end
false
end
end