[ARVADOS] updated: 1.1.4-243-gbce4ee3
Git user
git at public.curoverse.com
Wed May 9 13:48:28 EDT 2018
Summary of changes:
services/keepproxy/keepproxy.go | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
via bce4ee3aabf1dabc41ea5b231f0407cad3347f11 (commit)
from 6c56f80642aae0ec0ff0bfc939ae33dd49e0ca6b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit bce4ee3aabf1dabc41ea5b231f0407cad3347f11
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date: Wed May 9 13:47:11 2018 -0400
Avoid copying mutex after first use.
refs #13455
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg at veritasgenetics.com>
diff --git a/services/keepproxy/keepproxy.go b/services/keepproxy/keepproxy.go
index 7baadab..1617706 100644
--- a/services/keepproxy/keepproxy.go
+++ b/services/keepproxy/keepproxy.go
@@ -274,6 +274,14 @@ func CheckAuthorizationHeader(kc *keepclient.KeepClient, cache *ApiTokenCache, r
return true, tok
}
+// We need to make a private copy of the default http transport early
+// in initialization, then make copies of our private copy later. It
+// won't be safe to copy http.DefaultTransport itself later, because
+// its private mutexes might have already been used. (Without this,
+// the test suite sometimes panics "concurrent map writes" in
+// net/http.(*Transport).removeIdleConnLocked().)
+var defaultTransport = *(http.DefaultTransport.(*http.Transport))
+
type proxyHandler struct {
http.Handler
*keepclient.KeepClient
@@ -287,7 +295,7 @@ type proxyHandler struct {
func MakeRESTRouter(enable_get bool, enable_put bool, kc *keepclient.KeepClient, timeout time.Duration, mgmtToken string) http.Handler {
rest := mux.NewRouter()
- transport := *(http.DefaultTransport.(*http.Transport))
+ transport := defaultTransport
transport.DialContext = (&net.Dialer{
Timeout: keepclient.DefaultConnectTimeout,
KeepAlive: keepclient.DefaultKeepAlive,
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list