Przeglądaj źródła

clientv3: fix balancer unresponsiveness

When no address is pined, and balancer ignores the addr Up due to
its current unhealthy state, balancer will be unresponsive forever.

This PR fixes it by doing a full reset when there is no pined addr,
thus re-trigger the Up call.
Xiang 8 lat temu
rodzic
commit
109f52e3d6
1 zmienionych plików z 1 dodań i 1 usunięć
  1. 1 1
      clientv3/balancer.go

+ 1 - 1
clientv3/balancer.go

@@ -168,7 +168,7 @@ func (b *simpleBalancer) updateAddrs(eps ...string) {
 
 	if update {
 		select {
-		case b.updateAddrsC <- notifyReset:
+		case b.updateAddrsC <- notifyNext:
 		case <-b.stopc:
 		}
 	}