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

Invalid Server Selection after Redis Cluster Failover #2778

Closed
leachdaniel-clark opened this issue Aug 22, 2024 · 2 comments
Closed

Invalid Server Selection after Redis Cluster Failover #2778

leachdaniel-clark opened this issue Aug 22, 2024 · 2 comments

Comments

@leachdaniel-clark
Copy link

During maintenance we cycle our Redis Servers and failovers happen and cluster is becomes healthy again. However, even hours after doing an experiment where we rebooted all the servers, the ConnectionMultiplexer continues have issues with server section with a stack trace related to this. The only way to resolve the problem is to restart the service or recreate multiplexers. We've tried the using the latest client version 2.8.0 with HeartbeatConsistencyChecks enabled.

We are not using an CommandFlags to override server selection and are using the method overload:

KeyDeleteAsync(RedisKey[] keys, CommandFlags flags = CommandFlags.None);

Since Redis Cluster is not actually throwing this error the bug must be an issue with a mismatch in local state of this client triggered by server maintenance.

@leachdaniel-clark
Copy link
Author

related to #1874 "Seamlessly handling Elasticache (AWS)" failovers but not specific to AWS

@leachdaniel-clark
Copy link
Author

image

NickCraver added a commit that referenced this issue Sep 3, 2024
This is an issue identified in ##2778 and #2779 where we're not updating replication topology if heartbeat consistency checks are enabled because we exit the `if` structure early. This still runs that check if it's due in both cases, without changing the behavior of the result processor.
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

1 participant