When using ClusterClient with Redis cluster and multiple node IP addresses change, the client may not be able to update its internal list and it never picks up the new ones.
Situation happens when in a dynamic environment such as Kubernetes where Redis cluster nodes run in pods with dynamic IP addresses.
The client should be able to revert back to the original hostname, as it always contains latest updated addresses, rather than always preferring learned node IP addresses for discovering member changes.
Similar issue: #1077
@vmihailenco How about storing the cluster address and always using it to refresh cluster state?
In AWS ElastiCache Redis, we use a configuration endpoint, which is a DNS A record that has all the node IP addresses. I believe that each time cluster state is refreshed, it should always use the initial cluster address, instead of the learned nodes
Most helpful comment
@vmihailenco How about storing the cluster address and always using it to refresh cluster state?
In AWS ElastiCache Redis, we use a configuration endpoint, which is a DNS A record that has all the node IP addresses. I believe that each time cluster state is refreshed, it should always use the initial cluster address, instead of the learned nodes