[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