ソースを参照

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 年 前
コミット
109f52e3d6
1 ファイル変更1 行追加1 行削除
  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:
 		}
 	}