简体   繁体   English

Sidekiq 抛出 Redis::CommandError

[英]Sidekiq throws Redis::CommandError

I have this redis container I use for Sidekiq/Rails and also set up rabbitmq a few days ago on the same docker host.我有这个用于 Sidekiq/Rails 的 redis 容器,并且几天前还在同一个 docker 主机上设置了 rabbitmq。 Ever since I keep getting these errors:自从我不断收到这些错误:

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 

The redis logs show nothing relevant, just the "save database" stuff. redis 日志没有显示任何相关内容,只是“保存数据库”的内容。

Have I done something evil getting them both set up within the same host?我是否做了一些邪恶的事情让他们都在同一个主机中设置?

Turns out someone removed a firewall rule so the redis port was exposed to datacenter-wide VLAN.原来有人删除了防火墙规则,因此 redis 端口暴露在数据中心范围的 VLAN 中。

And since the datacenter where that machine lives have promised 3 years ago they will be releasing a feature where each customer/account can have their own separate VLAN, they have yet to and some of their customers seem to be up to no good.自从那台机器所在的数据中心在 3 年前承诺他们将发布一项功能,每个客户/帐户都可以拥有自己的单独 VLAN,他们还没有这样做,而且他们的一些客户似乎没有做好。

The error I was seeing was someone probing ports and trying all sorts of remote exploits.我看到的错误是有人在探测端口并尝试各种远程攻击。

After adding the firewall rule back up, the error disappeared.备份添加防火墙规则后,错误消失了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM