Hello all,

We have a Redis v6 cluster with 27 nodes. We wanted to gradually upgrade the cluster to Redis v7.

After creating Redis v7 instances, we were unable to join new Redises to our v6 cluster.

After running command redis-cli —cluster add-node command the execution of commands gets stucked at Waiting for cluster to join and multiple dots start getting printed.

All ports and firewalls are ok and cluster bus port is open. We could join Redis7s together but we can’t join them to the v6 cluster.

my question is that can we upgrade Redis nodes one by one or we have to setup a brand-new v7 cluster?

thanks

Comment From: mojixcoder

I tried to run CLUSTER MEET command manually. I saw that node gets stuck at handshake state and gets removed after a while.

Comment From: mojixcoder

Sorry to comment again, Is this confirmed or am I doing something wrong?

Comment From: sundb

@mojixcoder sorry for late reply, we do support muliple version upgrade, but there'are still some issues related to multiply upgration, like https://github.com/redis/redis/issues/12761, https://github.com/redis/redis/issues/13306, https://github.com/redis/redis/issues/12441. can you share your logs?

Comment From: mojixcoder

I do not see any logs since the node doesn’t join the cluster at all.

Comment From: sundb

@mojixcoder can you reproduce it?

Comment From: mojixcoder

@sundb yes I did it two times already.

Comment From: sundb

@mojixcoder can you share your reproduce steps.

Comment From: sundb

i can't add a v7 node into v6 in my local, but i don't see multiple dots start getting printed, not sure it's same as you. and which version are you using?

Comment From: mojixcoder

Redis 6 version: Redis server v=6.2.14 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=32816ffb1eb02ae4. Redis 7 version: Redis server v=7.2.5 sha=00000000:0 malloc=jemalloc-5.3.0 bits=64 build=d284576ab9ca3cc5.

Here you can see the output of redis-cli --cluster add-node new_ip:port old_ip:port --cluster-slave command:

>>> Adding node <ip> to cluster <ip>
>>> Performing Cluster Check (using node <ip>)
M: d32233cf7748caf270f04597ead94629342c46c2 <ip>
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: 37385e9e9969c924775ff9b03c76d9946b9383bc <ip>
   slots: (0 slots) slave
   replicates 62f49b86db0acc4f3690e5f8965e8cd7c9db4c5d
S: ed3a675db745b234d51c5fdb6167ae101602ac0d <ip>
   slots: (0 slots) slave
   replicates d32233cf7748caf270f04597ead94629342c46c2
M: 10bdd547edf38e612c50ade8e8052688a5fc029b <ip>
   slots:[5461-10922] (5462 slots) master
M: 62f49b86db0acc4f3690e5f8965e8cd7c9db4c5d <ip>
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
Automatically selected master <ip>
>>> Send CLUSTER MEET to node <ip> to make it join the cluster.
Waiting for the cluster to join
.................. (multiple dots here)

@sundb

Comment From: sundb

@mojixcoder thanks, i'll look at it.