]> Cypherpunks repositories - gostls13.git/commit
net/http: fix HTTP/2 idle pool tracing
authorTom Thorogood <me+google@tomthorogood.co.uk>
Sat, 14 Sep 2019 01:16:20 +0000 (01:16 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 18 Sep 2019 18:52:45 +0000 (18:52 +0000)
commit582d5194faec20c475ab93b45cf0520253dec4a9
tree0ce59773129a7e6bdd46015b9a120c0080ef77e3
parent45873a242d9dec1ae31bacf6872d9c01414370ae
net/http: fix HTTP/2 idle pool tracing

CL 140357 caused HTTP/2 connections to be put in the idle pool, but
failed to properly guard the trace.GotConn call in getConn. dialConn
returns a minimal persistConn with conn == nil for HTTP/2 connections.
This persistConn was then returned from queueForIdleConn and caused the
httptrace.GotConnInfo passed into GotConn to have a nil Conn field.

HTTP/2 connections call GotConn themselves so leave it for HTTP/2 to call
GotConn as is done directly below.

Fixes #34282

Change-Id: If54bfaf6edb14f5391463f908efbef5bb8a5d78e
GitHub-Last-Rev: 2b7d66a1ce66b4424c4d0fca2b8e8b547d874136
GitHub-Pull-Request: golang/go#34283
Reviewed-on: https://go-review.googlesource.com/c/go/+/195237
Reviewed-by: Michael Fraenkel <michael.fraenkel@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/net/http/export_test.go
src/net/http/transport.go
src/net/http/transport_test.go