1) Failure:
TestClusterCommandsOnTransactions#test_watch [cluster/test/commands_on_transactions_test.rb:41]:
CROSSSLOT Keys in request don't hash to the same slot.
[Redis::CommandError] exception expected, not
Class: <Redis::Cluster::TransactionConsistencyError>
Message: <"A block required. And you need to use the block argument as a client for the transaction.">
---Backtrace---
/home/runner/work/redis-rb/redis-rb/vendor/bundle/ruby/2.7.0/gems/redis-cluster-client-0.8.0/lib/redis_client/cluster/router.rb:316:in `send_watch_command'
/home/runner/work/redis-rb/redis-rb/vendor/bundle/ruby/2.7.0/gems/redis-cluster-client-0.8.0/lib/redis_client/cluster/router.rb:49:in `send_command'
/home/runner/work/redis-rb/redis-rb/vendor/bundle/ruby/2.7.0/gems/redis-cluster-client-0.8.0/lib/redis_client/cluster.rb:35:in `call_v'
/home/runner/work/redis-rb/redis-rb/cluster/lib/redis/cluster/client.rb:85:in `block in call_v'
/home/runner/work/redis-rb/redis-rb/cluster/lib/redis/cluster/client.rb:104:in `handle_errors'
/home/runner/work/redis-rb/redis-rb/cluster/lib/redis/cluster/client.rb:85:in `call_v'
/home/runner/work/redis-rb/redis-rb/lib/redis/commands/transactions.rb:63:in `block in watch'
/home/runner/work/redis-rb/redis-rb/lib/redis.rb:147:in `block in synchronize'
/home/runner/work/redis-rb/redis-rb/lib/redis.rb:147:in `synchronize'
/home/runner/work/redis-rb/redis-rb/lib/redis.rb:147:in `synchronize'
/home/runner/work/redis-rb/redis-rb/lib/redis/commands/transactions.rb:62:in `watch'
/home/runner/work/redis-rb/redis-rb/cluster/test/commands_on_transactions_test.rb:42:in `block in test_watch'
1263
This may be a bug in the redis-cluster-client side, but I think we can do workaround at now. https://github.com/redis/redis-rb/actions/runs/8666570773/job/23768812497?pr=1263
The watch command behavior was changed in the redis-cluster-client side at the latest version. https://github.com/redis/redis-rb/actions/runs/8668831551/job/23774590388?pr=1264