I am not sure is this a issue .

We use zabbix to monitor our redis instances by auto discovery scripts. It'll upload all redis's ports to DB, we collect redis health status by send INFO command.

Then we found every time we send INFO to cluster port, redis log error " Bad message length or signature received from Cluster bus. "

[root@bzrs02 ~]# redis-cli -p 16504 127.0.0.1:16504> info Error: Connection reset by peer 127.0.0.1:16504>

25563:S 06 Jul 15:23:53.273 # Bad message length or signature received from Cluster bus. 25563:S 06 Jul 15:23:53.273 # Bad message length or signature received from Cluster bus.

Comment From: badboy

Your Redis Cluster is probably listening on port 6504 for normal commands. And thus 16504 is the Cluster bus port. This port is not for commands, but only for the internal communication of Cluster nodes. Commands like INFO or anything else needs to be sent to the normal port, 6504 in your case.

Comment From: dongzerun

@badboy

Our security department colleagues will also Nmap all open ports, if they send lots of waste data to cluster bus port, that would be a disaster。

I wonder why redis not process cluster communicate in a special protocol ?like redis client or mc protocol

Comment From: badboy

I'm not sure what the problem here is. Redis Cluster communicates using a special protocol over the Cluster bus port and, as noted by the log message, invalid messages received on that port are dropped and the connection is closed. You should restrict access to that port to only the relevant Cluster nodes.

Comment From: n1vgabay

We're facing the same issue. All redis pods are producing the same. Bad message length or signature received from Cluster bus

Does someone have an idea why it happens? I didn't get the explanation above. @badboy