fix(ssubscribe): properly resubscribe in case of shard failover by nkaradzhov · Pull Request #3098 · redis/node-redis
… 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters