From 2e8075bac326ec49b6b62111dcbfb7e058a2ec9b Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Thu, 11 Jun 2020 15:09:12 +0800 Subject: [PATCH] FIX: Ignore Redis readonly errors in `RateLimiter#rollback!`. This is similar to what we're doing in `RateLimiter#performed!`. --- lib/rate_limiter.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/rate_limiter.rb b/lib/rate_limiter.rb index 091eea3c288..7f3094e11a6 100644 --- a/lib/rate_limiter.rb +++ b/lib/rate_limiter.rb @@ -102,6 +102,12 @@ class RateLimiter def rollback! return if RateLimiter.disabled? redis.lpop(prefixed_key) + rescue Redis::CommandError => e + if e.message =~ /READONLY/ + # TODO,switch to in-memory rate limiter + else + raise + end end def remaining