-
Going FROM: TO: Redis and Sentinel Versions: I've done all the required refactoring to make things communicate on my local dev box using Memurai. Everything there works great. When I publish to k8s cluster, it typically uses our redis-sentinel helm chart app. Our previous code for building shard configs contained only the following information: redisConf := centrifuge.RedisShardConfig{
SentinelAddresses: sentinelURLs
SentinelMasterName: "mymaster",
ConnectTimeout: 3 * time.Second,
IOTimeout: 3 * time.Second,
Password: "mypassword"
} This worked fine and we were able to connect and use redis sentinel. Since upgrading centrifuge libraries, we've been getting spammed the following errors:
I've traced this back to an internal errors within the node.go file: Line 683 in 70fd357 Sounds like the redis/sentinel is issuing a command not recognized? I've tried playing around with different shard configs. However I've come across different issues. I noticed in particular that our previous developer used the "Password" property vs "SentinelPassword". I attempted to swap that as: redisConf := centrifuge.RedisShardConfig{
SentinelAddresses: sentinelURLs
SentinelMasterName: "mymaster",
ConnectTimeout: 3 * time.Second,
IOTimeout: 3 * time.Second,
SentinelPassword: "mypassword"
} The error I now receive is when I attempt to build a new RedisShardConfig:
I've Googled around and I can't come up with much of a solution. I feel I've exhausted a bunch of resources, and so here I am. Any advice any of you all might have? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
@jherman hello! The reason you get spammy The format of internal protocol changed at some point in v0.29.0 making it impossible to run Centrifuge nodes of different versions (< v0.29.0 and >=v0.29.0) in one cluster. The advice is simple - you should not mix Centrifuge/Centrifugo clusters of different versions with the same Redis. It's usually a mistake on its own (if Redis prefix is not configured correctly), but in this case since internal protocol change one version of Centrifuge/Centrifugo setup collapses with another one. |
Beta Was this translation helpful? Give feedback.
-
Hello @FZambia - you nailed it on the head. This was driving me nuts for a week. Currently in our dev environment we run multiple branches and thus have multiple Centrifuge nodes. I stopped the other branch, and just like you said, it fixed the problem. Thank you so much for the help! |
Beta Was this translation helpful? Give feedback.
@jherman hello!
The reason you get spammy
unknown control command
messages is because you are utilizing one Redis for different versions of Centrifuge/Centrifugo. It's actually may be a signal that most probably you are re-using the same Redis with the same Redis prefix across different applications.The format of internal protocol changed at some point in v0.29.0 making it impossible to run Centrifuge nodes of different versions (< v0.29.0 and >=v0.29.0) in one cluster.
The advice is simple - you should not mix Centrifuge/Centrifugo clusters of different versions with the same Redis. It's usually a mistake on its own (if Redis prefix is not configured correctly), but in this case since i…