diff --git a/ring.go b/ring.go index 2124357..4b620da 100644 --- a/ring.go +++ b/ring.go @@ -203,7 +203,7 @@ func (ring *Ring) heartbeat() { for _, shard := range ring.shards { err := shard.Client.Ping().Err() - if shard.Vote(err == nil) { + if shard.Vote(err == nil || err == errPoolTimeout) { log.Printf("redis: ring shard state changed: %s", shard) rebalance = true }