-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
redis cluster - CROSSSLOT error #113
Comments
It seems that redis uses characters In rmq we currently use Please let us know if that works for you ✌️ |
Yes, it's working. I just replaced the [] with the {}, didn't fully grasp what all the keys were used for though :). do you want me to send a PR on this? I had noticed that the older changes are also still in master, any plans to cut a new version say a 4.0.3? |
just to report back on this, while this change is required we also need to move away from using a redis client to using a redis clusterclient. This is because with a cluster the key could be moved to a different shard. As a result the redis client throws the error |
Is this fix merged? I'm getting the same error. |
No it hasn't been merged. See the comments in the closed PR linked above. There are still a few things which were not addressed yet. |
Thanks for your response. Just wanted to check if there is any work around until this issue got fixed? |
You know what, I'll try to look at the PR in the next few days and see if I can finish it. In that case, would you be up for testing it before we merge it? |
Yes, sure. That will be great. Thanks a lot |
Hey, quick update: I started working on this today and made good progress. I should be able to open a PR soon. (Here's the work in progress branch: 113-redis-cluster-support) |
That's great. Thanks for picking this up. Looking forward to it. |
Here's a new PR: #148 Please give it a try and let me know how it went! 🙏 |
Thanks for sharing. Let me test and revert with the update. |
Hi @wellle Apart from this I have a small doubt, What will happen to the existing messages in the queue once we restart the service. I didn't see the previous messages from the queue when I restart my service. Once again, thanks for your efforts and time. |
|
Hi @wellle, I hope you're doing well. Just wanted to check if there's any update/progress here? |
Hey, we're still working on making the tests work with Redis cluster. |
Hi @wellle, I hope you're doing well. Just wanted to check if there's any update/progress here? |
Perhaps I can go ahead and merge that PR, since @wellle is out of office for a few days. |
@NikhilRyan do you need a new version urgently? |
Hi @vearutop, thanks for reverting. |
@NikhilRyan please try the new |
@vearutop Thanks a lot, let me test and revert. Lots of love guys. |
Thank you for your support on this! And thanks to @vearutop too for finishing and releasing this version! 🙌 The main thing to watch out for is to have exactly once queue cleaner instance per queue system (usually exactly one). You should be free to create as many consumers as you like and use as many queues as you like. |
That sounds like expected behavior. The published deliveries will be distributed between the two consumers. Each delivery will be consumed by exactly one consumer. So each consumer will consume roughly half of the published deliveries. |
I think there is a confusion on my end on how to use it properly with multiple consumers. Is there any public repo or gist where I can see the implementation apart from the one provided in this repo. |
I was trying out the library against a redis cluster. With the last change, I am able to connect to the cluster but when I initiate the consumer I get the following errors -
consume error: rmq.ConsumeError (8): CROSSSLOT Keys in request don't hash to the same slot
. I'm guessing we are using keys which get hashed to different slots in the cluster and which is causing this issue.I haven't looked at the code in a lot of detail, but I want to know if it worked for @si3nloong since he had raised the last merged PR.
The text was updated successfully, but these errors were encountered: