Sidekiq 抛出 Redis::CommandError

Sidekiq throws Redis::CommandError

我有这个用于 Sidekiq/Rails 的 redis 容器,几天前还在同一台 docker 主机上设置了 rabbitmq。自从我不断收到这些错误:

UNBLOCKED force unblock from blocking operation, instance state changed (master -> slave?)

redis/client.rb in call at line 126
    def call(command)
      reply = process([command]) { read }
      raise reply if reply.is_a?(CommandError)

      if block_given?
        yield reply

redis/client.rb in block in call_with_timeout at line 219
redis/client.rb in with_socket_timeout at line 292
redis/client.rb in call_with_timeout at line 218
redis.rb in block in _bpop at line 1186
redis.rb in block in synchronize at line 52
monitor.rb in mon_synchronize at line 226
redis.rb in synchronize at line 52
redis.rb in _bpop at line 1183
redis.rb in brpop at line 1228
redis/namespace.rb in call_with_namespace at line 469
redis/namespace.rb in block (2 levels) in <class:Namespace> at line 349
sidekiq/fetch.rb in block in retrieve_work at line 37
sidekiq.rb in block in redis at line 97
connection_pool.rb in block (2 levels) in with at line 65
connection_pool.rb in handle_interrupt at line 64
connection_pool.rb in block in with at line 64
connection_pool.rb in handle_interrupt at line 61
connection_pool.rb in with at line 61
sidekiq.rb in redis at line 94
sidekiq/fetch.rb in retrieve_work at line 37
sidekiq/processor.rb in get_one at line 83
sidekiq/processor.rb in fetch at line 95
sidekiq/processor.rb in process_one at line 77
sidekiq/processor.rb in run at line 68
sidekiq/util.rb in watchdog at line 15
sidekiq/util.rb in block in safe_thread at line 24 

redis 日志没有显示任何相关内容,只有“保存数据库”内容。

我是不是做了什么坏事,让它们都安装在同一个主机上?

原来有人删除了防火墙规则,因此 redis 端口暴露给数据中心范围的 VLAN。

并且由于该机器所在的数据中心在 3 年前承诺他们将发布一项功能,其中每个 customer/account 都可以拥有自己独立的 VLAN,他们还没有这样做,而且他们的一些客户似乎是不怀好意。

我看到的错误是有人在探测端口并尝试各种远程攻击。

备份防火墙规则后,错误消失。