Ruby version: 2.3.0
Rails version: 4.2.6
Sidekiq version: 5.0.3
Use delay command, it was work on sidekiq 5.0.2 as code
XxxxService.delay(:queue => 'xxxx').changed(id)
E, [2017-06-21T12:10:28.101237 #419] ERROR -- : ERR unknown command client
E, [2017-06-21T12:10:28.101334 #419] ERROR -- : /home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:121:in 'call'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:104:in 'block in connect'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:293:in 'with_reconnect'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:100:in 'connect'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:364:in 'ensure_connected'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:221:in 'block in process'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:306:in 'logging'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:220:in 'process'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:187:in 'call_pipelined'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:157:in 'block in call_pipeline'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:293:in 'with_reconnect'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis/client.rb:155:in 'call_pipeline'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis.rb:2304:in 'block in multi'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis.rb:58:in 'block in synchronize'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/2.3.0/monitor.rb:214:in 'mon_synchronize'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis.rb:58:in 'synchronize'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/redis-3.3.3/lib/redis.rb:2296:in 'multi'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-status-0.6.0/lib/sidekiq-status/storage.rb:16:in 'block in store_for_id'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-status-0.6.0/lib/sidekiq-status/storage.rb:102:in 'block in redis_connection'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/connection_pool-2.2.1/lib/connection_pool.rb:64:in 'block (2 levels) in with'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/connection_pool-2.2.1/lib/connection_pool.rb:63:in 'handle_interrupt'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/connection_pool-2.2.1/lib/connection_pool.rb:63:in 'block in with'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/connection_pool-2.2.1/lib/connection_pool.rb:60:in 'handle_interrupt'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/connection_pool-2.2.1/lib/connection_pool.rb:60:in 'with'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-status-0.6.0/lib/sidekiq-status/storage.rb:101:in 'redis_connection'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-status-0.6.0/lib/sidekiq-status/storage.rb:15:in 'store_for_id'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-status-0.6.0/lib/sidekiq-status/client_middleware.rb:26:in 'call'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-5.0.3/lib/sidekiq/middleware/chain.rb:130:in 'block in invoke'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-5.0.3/lib/sidekiq/middleware/chain.rb:133:in 'invoke'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-5.0.3/lib/sidekiq/client.rb:209:in 'process_single'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-5.0.3/lib/sidekiq/client.rb:68:in 'push'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-5.0.3/lib/sidekiq/worker.rb:142:in 'client_push'
/home/xxxx/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/sidekiq-5.0.3/lib/sidekiq/extensions/generic_proxy.rb:26:in 'method_missing'
Which Redis service provider are you using?
It looks like your Redis does not allow/provide the CLIENT SETNAME command.
If you use master, you can now add a nil :id attribute to disable the use of CLIENT SETNAME.
config.redis = { :id => nil }
If the renamed CLIENT command is known, you can remap it:
https://github.com/redis/redis-rb/pull/586#issuecomment-310629204
I confirm this error is caused by the redis provider, after update the redis provider's redis version, sidekiq 5.0.3 works fine now.
I'm still seeing this error, even though just upgraded Redis to 4.0.1 and Sidekiq 5.0.4
@luizkowalski Put this in your Gemfile and run bundle up redis:
gem "redis", "3.3.3"
Just upgrade redis didn't worked but add redis-namespace fixed
thanks @mperham
Most helpful comment
If you use master, you can now add a nil :id attribute to disable the use of
CLIENT SETNAME.