Upstash + Sidekiq 7 compatibility - ERR Command is not available: 'BITFIELD'

I’ve just deployed a pretty vanilla Rails 7 + Sidekiq 7 app.

When jobs are processed, I am getting the following WARN:

2022-11-17T16:50:44.238Z pid=520 tid=1z64 WARN: RedisClient::CommandError: ERR Command is not available: 'BITFIELD'. See https://docs.upstash.com/overall/rediscompatibility for details
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]2022-11-17T16:50:44.239Z pid=520 tid=1z64 WARN: /app/vendor/bundle/ruby/3.1.0/gems/redis-client-0.11.1/lib/redis_client/connection_mixin.rb:48:in `call_pipelined'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/redis-client-0.11.1/lib/redis_client.rb:352:in `block (2 levels) in pipelined'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/redis-client-0.11.1/lib/redis_client/middlewares.rb:16:in `call'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/redis-client-0.11.1/lib/redis_client.rb:351:in `block in pipelined'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/redis-client-0.11.1/lib/redis_client.rb:616:in `ensure_connected'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/redis-client-0.11.1/lib/redis_client.rb:349:in `pipelined'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/redis-client-0.11.1/lib/redis_client/decorator.rb:51:in `pipelined'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/metrics/tracking.rb:70:in `block in flush'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/config.rb:156:in `block in redis'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/connection_pool-2.3.0/lib/connection_pool.rb:65:in `block (2 levels) in with'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/connection_pool-2.3.0/lib/connection_pool.rb:64:in `handle_interrupt'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/connection_pool-2.3.0/lib/connection_pool.rb:64:in `block in with'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/connection_pool-2.3.0/lib/connection_pool.rb:61:in `handle_interrupt'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/connection_pool-2.3.0/lib/connection_pool.rb:61:in `with'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/config.rb:153:in `redis'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/component.rb:26:in `redis'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/metrics/tracking.rb:67:in `flush'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/metrics/tracking.rb:132:in `block (2 levels) in <top (required)>'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/component.rb:58:in `block in fire_event'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/component.rb:57:in `each'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/component.rb:57:in `fire_event'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/launcher.rb:181:in `❤'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/launcher.rb:97:in `beat'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/launcher.rb:89:in `block in start_heartbeat'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/launcher.rb:88:in `loop'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/launcher.rb:88:in `start_heartbeat'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/component.rb:8:in `watchdog'
2022-11-17T16:50:44Z app[f37ab3b7] ord [info]/app/vendor/bundle/ruby/3.1.0/gems/sidekiq-7.0.1/lib/sidekiq/component.rb:17:in `block in safe_thread'

Has anyone encountered this? I’m struggling to google for good info.

Update - per Sidekiq, this is an issue with Upstash.

Upstash team is implementing BITFIELD to support the Sidekiq 7. ETA 10D

BITFIELD is now supported on Upstash Redis. If you have any more problems, do let us know.