aboutsummaryrefslogtreecommitdiff
path: root/middleware/proxy/policy.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/proxy/policy.go')
-rw-r--r--middleware/proxy/policy.go11
1 files changed, 2 insertions, 9 deletions
diff --git a/middleware/proxy/policy.go b/middleware/proxy/policy.go
index 077ecff33..e0c9d7e2b 100644
--- a/middleware/proxy/policy.go
+++ b/middleware/proxy/policy.go
@@ -1,6 +1,7 @@
package proxy
import (
+ "log"
"math/rand"
"sync/atomic"
)
@@ -44,9 +45,6 @@ func (r *Random) Select(pool HostPool) *UpstreamHost {
}
}
}
- if randHost == nil {
- return new(Spray).Select(pool)
- }
return randHost
}
@@ -58,6 +56,7 @@ type Spray struct{}
func (r *Spray) Select(pool HostPool) *UpstreamHost {
rnd := rand.Int() % len(pool)
randHost := pool[rnd]
+ log.Printf("[WARNING] All hosts reported as down, spraying to target: %s", randHost.Name)
return randHost
}
@@ -93,9 +92,6 @@ func (r *LeastConn) Select(pool HostPool) *UpstreamHost {
}
}
}
- if bestHost == nil {
- return new(Spray).Select(pool)
- }
return bestHost
}
@@ -113,8 +109,5 @@ func (r *RoundRobin) Select(pool HostPool) *UpstreamHost {
for i := uint32(1); host.Down() && i < poolLen; i++ {
host = pool[(selection+i)%poolLen]
}
- if host.Down() {
- return new(Spray).Select(pool)
- }
return host
}