Skip to content
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

we cannot reproduce with your scripts #1

Closed
liuzhen opened this issue May 20, 2020 · 1 comment
Closed

we cannot reproduce with your scripts #1

liuzhen opened this issue May 20, 2020 · 1 comment

Comments

@liuzhen
Copy link

liuzhen commented May 20, 2020

according to our experiment,
https://github.com/antirez/redis/blob/unstable/src/cluster.c#L1878
handles the case you described.

please verify your steps.

we are facing similar issue, but not the steps as yours;

@qzhang-1a
Copy link
Owner

qzhang-1a commented Jul 14, 2020

Hello @liuzhen ,

I have rerun my tests. The reproducer works. Are you running with the same redis version 4.0.8 ?
The reproducer also works with redis 5.0.5.
The issue here is that redis cluster propagate topology to known nodes by IP but not redis node ID.
So when a node is killed and another new node reuses its IP, the new node will make the link between 2 clusters and merge them together. This could happen in a cloud environment like openshift.

I don't see how this could be fixed by https://github.com/redis/redis/blob/unstable/src/cluster.c#L1878

However, we have used a workaround to fix this issue, by adding a cluster name parameter to the config and check this cluster name when doing handshake.

@liuzhen liuzhen closed this as completed Jul 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants