Closed Vabs3 closed 1 year ago
Commands that is not possible to determine what node it should be routed to can't be implemented in a cluster mode w/o some additional capability of selecting a node to send the command to. If that is not implemented, which it is not then you can't use that feature in this lib. If you have any suggestions on how to implement this of a reference in how any other lib have done it then i can implement it.
Thanks for the reply. Got the problem. I will look for reference.
Can we create wait_set(), wait_setnx() etc. similar methods. Which will basically run wait after set on the same server. May be a pipeline of these two commands. What do you think?
Also is there any other way to make sure the values are copied to replicas?
No i will not make a override specific version for every single method that we have, that will not fly. You are coming back to the main issue that by simply telling the redis cluster to "WAIT" you can't know just from that what nodes you want to wait on and for what. You either need a identifier or you need to send it to all nodes but that do not make sense either. Same thing goes for a pipeline really, that do not help.
I do not know how to solve your problem in the current code as there is no cluster node determine functionality within a WAIT command and it depends on the current connection which makes sense in a single node and using Redis class but not a multi node and multi connection environment.
Closing due to inactivity. Also if this feature is wanted @Vabs3 you have to now raise it up to the git repo redis-py
that now have cluster support to see if they are willing to fix or support this feature. It won't be created or built here at least.
Hi
I am working with a Redis cluster. I have setup 3 masters with 1 replica each. I am using redis-py-cluster as a client. While running wait command to synchronise writes to replicas, I am getting following error:
It is saying wait is blocked in redis cluster mode. But I am able to run wait command in redis-cli -c utility.
Thanks