-
Notifications
You must be signed in to change notification settings - Fork 1.9k
fix(ssubscribe): properly resubscribe in case of shard failover #3098
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
base: master
Are you sure you want to change the base?
Conversation
nkaradzhov
commented
Oct 9, 2025
ff426bc
to
2a766b7
Compare
run sharded pub sub tests |
|
2a766b7
to
b07e39b
Compare
run sharded pub sub tests |
… TODO cleanup debug logs 1) when RE failover happens, there is a disconnect 2) affected Client reconnects and tries to resubscribe all existing listeners ISSUE #1: CROSSSLOT Error - client was doing ssubscribe ch1 ch2.. chN which, after the failover could result in CROSSSLOT ( naturally, becasuse now some slots could be owned by other shards ) FIX: send one ssubscribe command per channel instead of one ssubscribe for all channels ISSUE #2: MOVED Error - some/all of the channels might be moved somewhere else FIX: 1: propagate the error to the Cluster. 2: Cluster rediscovers topology. 3: Extract all existing subscriptions from all pubsub clients and resubscribe over the new topology. fixes: redis#2902
|
b07e39b
to
4423777
Compare
PR Reviewer Guide 🔍
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
run sharded pub sub tests |
|
run sharded pub sub tests |
|
113229c
to
697402f
Compare
run sharded pub sub tests |
|