diff options
Diffstat (limited to 'middleware/proxy/policy.go')
-rw-r--r-- | middleware/proxy/policy.go | 11 |
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 } |