net/http: Connection to HTTP/2 site with IdleConnTimeout hangs #34387
Comments
I am not sure if
And the check here: Line 353 in cc8838d Regardless, I believe there is an issue here. This fails consistently for me for the domain in your example, and others that I tested. I added some tracing, and found the following on error:
Without
The idle connections are pretty nuanced, especially with connection sharing in HTTP/2, so let's ask @bradfitz. |
I confirmed that |
The second request is handed the idle connection which has been marked dead. |
Change https://golang.org/cl/196665 mentions this issue: |
@fraenkel, was this a regression from Go 1.12? Should we backport this to Go 1.13.x? |
@gopherbot, please backport to Go 1.13. (I'm assuming.) |
Backport issue(s) opened: #34498 (for 1.13). Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://golang.org/wiki/MinorReleases. |
@bradfitz It's a regression. It is a bit difficult to come up with a good set of tests to cover the connection management between the http and http2 side. |
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Access a HTTP/2 web site with IdleConnTimeout multiple times.
What did you expect to see?
Both connections should successfully return.
What did you see instead?
The first connection succeeds but the latter one does not return.
Log:
The text was updated successfully, but these errors were encountered: