Don’t know if directly related but I’m seeing a ton of Redis related errors:
Here’s the full stacktrace of Redis::ConnectionError one which is the most common:
Errno::ECONNRESET: Connection reset by peer
from redis-client (0.11.1) lib/redis_client/ruby_connection/buffered_io.rb:145:in `block in fill_buffer'
from redis-client (0.11.1) lib/redis_client/ruby_connection/buffered_io.rb:122:in `loop'
from redis-client (0.11.1) lib/redis_client/ruby_connection/buffered_io.rb:122:in `fill_buffer'
from redis-client (0.11.1) lib/redis_client/ruby_connection/buffered_io.rb:114:in `ensure_remaining'
from redis-client (0.11.1) lib/redis_client/ruby_connection/buffered_io.rb:85:in `getbyte'
from redis-client (0.11.1) lib/redis_client/ruby_connection/resp3.rb:113:in `parse'
from redis-client (0.11.1) lib/redis_client/ruby_connection/resp3.rb:50:in `load'
from redis-client (0.11.1) lib/redis_client/ruby_connection.rb:125:in `block in read'
from redis-client (0.11.1) lib/redis_client/ruby_connection/buffered_io.rb:48:in `with_timeout'
from redis-client (0.11.1) lib/redis_client/ruby_connection.rb:125:in `read'
from redis-client (0.11.1) lib/redis_client/connection_mixin.rb:18:in `call'
from redis-client (0.11.1) lib/redis_client.rb:281:in `block (2 levels) in blocking_call_v'
from redis-client (0.11.1) lib/redis_client/middlewares.rb:16:in `call'
from redis-client (0.11.1) lib/redis_client.rb:280:in `block in blocking_call_v'
from redis-client (0.11.1) lib/redis_client.rb:616:in `ensure_connected'
from redis-client (0.11.1) lib/redis_client.rb:279:in `blocking_call_v'
from redis (5.0.5) lib/redis/client.rb:86:in `blocking_call_v'
from redis (5.0.5) lib/redis.rb:173:in `block in send_blocking_command'
from redis (5.0.5) lib/redis.rb:172:in `synchronize'
from redis (5.0.5) lib/redis.rb:172:in `send_blocking_command'
from redis (5.0.5) lib/redis/commands/lists.rb:266:in `_bpop'
from redis (5.0.5) lib/redis/commands/lists.rb:167:in `brpop'
from sidekiq (6.5.5) lib/sidekiq/fetch.rb:49:in `block in retrieve_work'
from sidekiq (6.5.5) lib/sidekiq.rb:164:in `block in redis'
from connection_pool (2.3.0) lib/connection_pool.rb:65:in `block (2 levels) in with'
from connection_pool (2.3.0) lib/connection_pool.rb:64:in `handle_interrupt'
from connection_pool (2.3.0) lib/connection_pool.rb:64:in `block in with'
from connection_pool (2.3.0) lib/connection_pool.rb:61:in `handle_interrupt'
from connection_pool (2.3.0) lib/connection_pool.rb:61:in `with'
from sidekiq (6.5.5) lib/sidekiq.rb:161:in `redis'
from sidekiq (6.5.5) lib/sidekiq/component.rb:26:in `redis'
from sidekiq (6.5.5) lib/sidekiq/fetch.rb:49:in `retrieve_work'
from sidekiq (6.5.5) lib/sidekiq/processor.rb:83:in `get_one'
from sidekiq (6.5.5) lib/sidekiq/processor.rb:95:in `fetch'
from sidekiq (6.5.5) lib/sidekiq/processor.rb:77:in `process_one'
from sidekiq (6.5.5) lib/sidekiq/processor.rb:68:in `run'
from sidekiq (6.5.5) lib/sidekiq/component.rb:8:in `watchdog'
from sidekiq (6.5.5) lib/sidekiq/component.rb:17:in `block in safe_thread'
RedisClient::ConnectionError: Connection reset by peer
from redis-client (0.11.1) lib/redis_client/ruby_connection.rb:130:in `rescue in read'
from redis-client (0.11.1) lib/redis_client/ruby_connection.rb:121:in `read'
from redis-client (0.11.1) lib/redis_client/connection_mixin.rb:18:in `call'
from redis-client (0.11.1) lib/redis_client.rb:281:in `block (2 levels) in blocking_call_v'
from redis-client (0.11.1) lib/redis_client/middlewares.rb:16:in `call'
from redis-client (0.11.1) lib/redis_client.rb:280:in `block in blocking_call_v'
from redis-client (0.11.1) lib/redis_client.rb:616:in `ensure_connected'
from redis-client (0.11.1) lib/redis_client.rb:279:in `blocking_call_v'
from redis (5.0.5) lib/redis/client.rb:86:in `blocking_call_v'
from redis (5.0.5) lib/redis.rb:173:in `block in send_blocking_command'
from redis (5.0.5) lib/redis.rb:172:in `synchronize'
from redis (5.0.5) lib/redis.rb:172:in `send_blocking_command'
from redis (5.0.5) lib/redis/commands/lists.rb:266:in `_bpop'
from redis (5.0.5) lib/redis/commands/lists.rb:167:in `brpop'
from sidekiq (6.5.5) lib/sidekiq/fetch.rb:49:in `block in retrieve_work'
from sidekiq (6.5.5) lib/sidekiq.rb:164:in `block in redis'
from connection_pool (2.3.0) lib/connection_pool.rb:65:in `block (2 levels) in with'
from connection_pool (2.3.0) lib/connection_pool.rb:64:in `handle_interrupt'
from connection_pool (2.3.0) lib/connection_pool.rb:64:in `block in with'
from connection_pool (2.3.0) lib/connection_pool.rb:61:in `handle_interrupt'
from connection_pool (2.3.0) lib/connection_pool.rb:61:in `with'
from sidekiq (6.5.5) lib/sidekiq.rb:161:in `redis'
from sidekiq (6.5.5) lib/sidekiq/component.rb:26:in `redis'
from sidekiq (6.5.5) lib/sidekiq/fetch.rb:49:in `retrieve_work'
from sidekiq (6.5.5) lib/sidekiq/processor.rb:83:in `get_one'
from sidekiq (6.5.5) lib/sidekiq/processor.rb:95:in `fetch'
from sidekiq (6.5.5) lib/sidekiq/processor.rb:77:in `process_one'
from sidekiq (6.5.5) lib/sidekiq/processor.rb:68:in `run'
from sidekiq (6.5.5) lib/sidekiq/component.rb:8:in `watchdog'
from sidekiq (6.5.5) lib/sidekiq/component.rb:17:in `block in safe_thread'
I have Sidekiq concurrency set to 2 and it is processing everything eventually it seems. But there are failures in the app code as well, and that’s not great
I’m on the free redis plan with redis 5.0.5 and redis-client 0.11.1 gems. My code is open source if there’s anything of interest.