From 968342c7325b1893e9bdd3b1da23e9658097a14d Mon Sep 17 00:00:00 2001 From: Klaus Post Date: Fri, 10 Jul 2020 12:08:14 -0700 Subject: [PATCH] Remove usage of go-ieproxy for windows (#10009) There is a potential for deadlock on Windows 10 refer https://github.com/mattn/go-ieproxy/issues/17 remove this dependency for now. --- cmd/update.go | 3 +-- cmd/utils.go | 3 +-- pkg/dsync/drwmutex.go | 4 ++++ pkg/madmin/transport.go | 4 +--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cmd/update.go b/cmd/update.go index 6151016e8..36069ec2d 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -32,7 +32,6 @@ import ( "time" "github.com/inconshreveable/go-update" - "github.com/mattn/go-ieproxy" xhttp "github.com/minio/minio/cmd/http" "github.com/minio/minio/cmd/logger" "github.com/minio/minio/pkg/env" @@ -409,7 +408,7 @@ const updateTimeout = 10 * time.Second func getUpdateTransport(timeout time.Duration) http.RoundTripper { var updateTransport http.RoundTripper = &http.Transport{ - Proxy: ieproxy.GetProxyFunc(), + Proxy: http.ProxyFromEnvironment, DialContext: xhttp.NewCustomDialContext(timeout), IdleConnTimeout: timeout, TLSHandshakeTimeout: timeout, diff --git a/cmd/utils.go b/cmd/utils.go index f7e57c4d3..04dcaef9a 100644 --- a/cmd/utils.go +++ b/cmd/utils.go @@ -39,7 +39,6 @@ import ( "sync" "time" - "github.com/mattn/go-ieproxy" xhttp "github.com/minio/minio/cmd/http" "github.com/minio/minio/cmd/logger" "github.com/minio/minio/pkg/handlers" @@ -454,7 +453,7 @@ func newCustomHTTPTransport(tlsConfig *tls.Config, dialTimeout time.Duration) fu // For more details about various values used here refer // https://golang.org/pkg/net/http/#Transport documentation tr := &http.Transport{ - Proxy: ieproxy.GetProxyFunc(), + Proxy: http.ProxyFromEnvironment, DialContext: xhttp.NewCustomDialContext(dialTimeout), MaxIdleConnsPerHost: 16, MaxIdleConns: 16, diff --git a/pkg/dsync/drwmutex.go b/pkg/dsync/drwmutex.go index 9399151ba..bc7cb3770 100644 --- a/pkg/dsync/drwmutex.go +++ b/pkg/dsync/drwmutex.go @@ -185,6 +185,7 @@ func lock(ds *Dsync, locks *[]string, id, source string, isReadLock bool, lockNa g := Granted{index: index} if c == nil { + log("lock: nil locker") ch <- g return } @@ -258,7 +259,10 @@ func lock(ds *Dsync, locks *[]string, id, source string, isReadLock bool, lockNa // timeout happened, maybe one of the nodes is slow, count // number of locks to check whether we have quorum or not if !quorumMet(locks, isReadLock, dquorum, dquorumReads) { + log("Quorum not met after timeout") releaseAll(ds, locks, isReadLock, restClnts, lockNames...) + } else { + log("Quorum met after timeout") } } diff --git a/pkg/madmin/transport.go b/pkg/madmin/transport.go index f968bf74b..ff9be7412 100644 --- a/pkg/madmin/transport.go +++ b/pkg/madmin/transport.go @@ -21,8 +21,6 @@ import ( "net" "net/http" "time" - - "github.com/mattn/go-ieproxy" ) // DefaultTransport - this default transport is similar to @@ -30,7 +28,7 @@ import ( // is set to true to avoid decompressing content with 'gzip' encoding. var DefaultTransport = func(secure bool) http.RoundTripper { tr := &http.Transport{ - Proxy: ieproxy.GetProxyFunc(), + Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ Timeout: 5 * time.Second, KeepAlive: 15 * time.Second,