-
Notifications
You must be signed in to change notification settings - Fork 18k
net/http: Connection to HTTP/2 site with IdleConnTimeout hangs #34387
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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: