-
-
Notifications
You must be signed in to change notification settings - Fork 989
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
Make Relay work with redis cluster #1397
Make Relay work with redis cluster #1397
Conversation
246e11b
to
96b9bc5
Compare
Thanks! Can you re-enable some of the cluster tests to ensure this works? |
b1216bd
to
63401d0
Compare
75f2d84
to
7fbdaf8
Compare
7fbdaf8
to
8ddce5f
Compare
@tillkruss ready for review |
Thanks for the work @dorrogeray on this. I've pushed a few formatting changes. BTW, we're currently working on full |
Can we get your review @vladvildanov? |
e507535
to
97a9754
Compare
@dorrogeray: The PR looks great. The only concern that I have, which isn't directly related is Would you mind seeing if we can run the one simple Redis command test case against cluster? |
4003f34
to
b4d981f
Compare
@tillkruss I have added some cluster tests. The |
- Ensure connection is open when RelayConnection::getIdentifier is called - Return error responses instead of throwing them in RelayConnection::executeCommand so that RedisCluster::executeCommand can intercept MOVED errors and handle them with RedisCluster::onErrorResponse - Make parsing of connection id in RedisCluster::onMovedResponse more resilient by culling off details from the exception message - this is required because relay exception message format is "IP:port (details about exception)"
b4d981f
to
f8f4b14
Compare
Currently, when predis client is configured to use a combination of Relay and Redis Cluster, it does not work correctly when redis replies with
MOVED
. Following set of fixes should get it working:CC: @tillkruss