Hi,
We are facing issue when we perform reshrad. We serialize key value pair and then insert in the redis cache in our use-case. we already had 3 master 3 slave redis cluster and we added one more master and slave in the cluster. We had to remove the existing pair of master salve to this new pair so now we tried to transfer all the hash slot(5461 slots) from existing master along with the keys to this new master slave we added. We used the command provided on official doc of redis cluster( i.e : redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000 --cluster-slave --cluster-master-id 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e).
On executing this command we got error like: Moving 13681 slots from x.x.x.x:7005 to y.y.y.y:7015 Node x.x.x.x:7005 replied with error: MOVED 5389 x.x.x.x:7009
On further debugging we found that partial reshard happened and some hashslot with keys got transferred but still many were left. We also found that simple keys (e.g "cahce_-2:::" or "cache") were successfully transferred while the serialized more complex keys value pairs (e.g. cache_-2:\xac\xed\x00\x05w\x02\t\b or cache_-2:\xac\xed\x00\x05w\x0e\x03\x01Second\xf9) were the culprit. we tried further using the cluster sub commands but got error for same:
CLUSTER SETSLOT 13681 NODE
Then we had to remove all these serialized key value in order to complete the reshard process.
Is there any limitation that redis can't transfer serialized complex keys during the reshard process?
Redis version: 5.0.4 configuration: Cluster configration Client: Redission
Comment From: trevor211
Can you produce it?