diff --git a/lib/distributed_mutex.rb b/lib/distributed_mutex.rb index 76def3e785..d47f059d0f 100644 --- a/lib/distributed_mutex.rb +++ b/lib/distributed_mutex.rb @@ -22,10 +22,12 @@ class DistributedMutex while !try_to_get_lock sleep 0.001 - attempts += 1 # in readonly we will never be able to get a lock - if @using_global_redis && attempts > CHECK_READONLY_ATTEMPT - raise Discourse::ReadOnly + if @using_global_redis && Discourse.recently_readonly? + attempts += 1 + if attempts > CHECK_READONLY_ATTEMPT + raise Discourse::ReadOnly + end end end