mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
clientv3: do not mark stale endpoints as unhealthy
This commit is contained in:
parent
725df70664
commit
63ab5addfa
@ -143,13 +143,6 @@ func (hb *healthBalancer) updateUnhealthy(timeout time.Duration) {
|
||||
case <-time.After(timeout):
|
||||
hb.mu.Lock()
|
||||
for k, v := range hb.unhealthy {
|
||||
if _, ok := hb.hostPort2ep[k]; !ok {
|
||||
delete(hb.unhealthy, k)
|
||||
if logger.V(4) {
|
||||
logger.Infof("clientv3/health-balancer: removes stale host:port %q from unhealthy", k)
|
||||
}
|
||||
continue
|
||||
}
|
||||
if time.Since(v) > timeout {
|
||||
delete(hb.unhealthy, k)
|
||||
if logger.V(4) {
|
||||
@ -187,11 +180,13 @@ func (hb *healthBalancer) liveAddrs() []grpc.Address {
|
||||
|
||||
func (hb *healthBalancer) hostPortError(hostPort string, err error) {
|
||||
hb.mu.Lock()
|
||||
hb.unhealthy[hostPort] = time.Now()
|
||||
hb.mu.Unlock()
|
||||
if logger.V(4) {
|
||||
logger.Infof("clientv3/health-balancer: marking %q as unhealthy (%q)", hostPort, err.Error())
|
||||
if _, ok := hb.hostPort2ep[hostPort]; ok {
|
||||
hb.unhealthy[hostPort] = time.Now()
|
||||
if logger.V(4) {
|
||||
logger.Infof("clientv3/health-balancer: marking %q as unhealthy (%q)", hostPort, err.Error())
|
||||
}
|
||||
}
|
||||
hb.mu.Unlock()
|
||||
}
|
||||
|
||||
func (hb *healthBalancer) mayPin(addr grpc.Address) bool {
|
||||
|
Loading…
x
Reference in New Issue
Block a user