Fix health race (#645)

* Revert "middleware/proxy: Make Unhealthy a pointer (#615)"

This reverts commit acbf522ceb.

* middleware/proxy: add proper locking

This add the proper locking around `Unhealthy`.
This commit is contained in:
Miek Gieben
2017-04-24 20:37:43 +01:00
committed by GitHub
parent bfa18470e5
commit 003b1bf678
6 changed files with 26 additions and 28 deletions

View File

@@ -38,10 +38,10 @@ func NewLookupWithOption(hosts []string, opts Options) Proxy {
Fails: 0,
FailTimeout: upstream.FailTimeout,
Unhealthy: newBool(),
Unhealthy: false,
CheckDown: func(upstream *staticUpstream) UpstreamHostDownFunc {
return func(uh *UpstreamHost) bool {
if *uh.Unhealthy {
if uh.Unhealthy {
return true
}
fails := atomic.LoadInt32(&uh.Fails)