Closed kt81 closed 2 months ago
I am aware that a similar issue has already been raised here: #1377. However, any information regarding potential workarounds would be greatly appreciated.
This is no longer an urgent issue for me now. It’s sufficient for it to be tracked under the related issue.
What happened:
We are developing a large-scale matchmaking game application. Due to issues with high CPU load on Redis, we decided to switch to Redis Enterprise, following the guidance from this blog post: Power matchmaking with Redis Enterprise on Google Cloud Marketplace. To handle the significant load, clustering is enabled.
However, with this setup, OpenMatch does not function as expected.
We encountered the above CROSSSLOT error. Upon inspecting the code, it appears that the MULTI command is used in the backend for processing AssignmentGroup.
While it might be possible to mitigate this by breaking down the AssignmentGroup into individual tickets and issuing AssignTicketsRequest per ticket, we are uncertain about the potential outcomes of this approach.
Could you advise on potential solutions? Additionally, is there a future plan for OpenMatch to support Redis Cluster?
What you expected to happen:
I expected OpenMatch to work seamlessly with Redis Enterprise when clustering is enabled, without encountering CROSSSLOT errors.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
The issue appears to be related to the use of the MULTI command in the backend, which is not compatible with Redis Cluster when keys are not hashed to the same slot.
Output of
kubectl version
:Cloud Provider/Platform (AKS, GKE, Minikube etc.):
GKE
Open Match Release Version:
1.7.0
Install Method(yaml/helm):
Helm