Skip to content
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

x/net/http2: Client doesn't send body until ExpectContinueTimeout expires [1.16 backport] #49904

Closed
gopherbot opened this issue Dec 1, 2021 · 4 comments
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Milestone

Comments

@gopherbot
Copy link

@neild requested issue #49677 to be considered for backport to the next 1.16 minor release.

@gopherbot Please open backport issues for 1.16 and 1.17. This is a regression.

@gopherbot gopherbot added the CherryPickCandidate Used during the release process for point releases label Dec 1, 2021
@gopherbot gopherbot added this to the Go1.16.11 milestone Dec 1, 2021
@dmitshur dmitshur added CherryPickApproved Used during the release process for point releases and removed CherryPickCandidate Used during the release process for point releases labels Dec 1, 2021
@gopherbot
Copy link
Author

Change https://golang.org/cl/368474 mentions this issue: [internal-branch.go1.16-vendor] net/http2: Fix handling of expect continue

gopherbot pushed a commit to golang/net that referenced this issue Dec 1, 2021
…tinue

Recent refactoring in the http2 package broke handling of ExpectContinueTimeout, where the client was always waiting for the timeout to pass before sending the body.

For golang/go#49677
Fixes golang/go#49904

Change-Id: I565299e48313bb905b2655bd52084ea49ab742f3
GitHub-Last-Rev: 587b484
GitHub-Pull-Request: #118
Reviewed-on: https://go-review.googlesource.com/c/net/+/363914
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Trust: Damien Neil <dneil@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
(cherry picked from commit 0a0e4e1)
Reviewed-on: https://go-review.googlesource.com/c/net/+/368474
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
@mknyszek
Copy link
Contributor

mknyszek commented Dec 1, 2021

Landed the fix.

@mknyszek mknyszek closed this as completed Dec 1, 2021
@mknyszek
Copy link
Contributor

mknyszek commented Dec 1, 2021

Still needs more work to fully land.

@mknyszek mknyszek reopened this Dec 1, 2021
@gopherbot
Copy link
Author

Change https://golang.org/cl/368594 mentions this issue: [release-branch.go1.16] net/http: update bundled golang.org/x/net/http2

@mknyszek mknyszek closed this as completed Dec 2, 2021
gopherbot pushed a commit that referenced this issue Dec 2, 2021
Pull in approved backports to golang.org/x/net/http2:

    64539c1 http2: don't count aborted streams as active in tests
    e677a40 ipv6: OpenBSD does not appear to support multicast loopback
    d8ae719 net/http2: Fix handling of expect continue
    cc2f99c http2: avoid busy loop when ResponseHeaderTimeout is set
    5533dda http2: avoid spurious RoundTrip error when server closes and resets stream
    26ec667 http2: close conns after use when req.Close is set

By doing:

    $ go get -d golang.org/x/net@internal-branch.go1.16-vendor
    go: downloading golang.org/x/net v0.0.0-20211201233224-64539c132272
    go get: upgraded golang.org/x/net v0.0.0-20211101194150-d8c3cde3c676 => v0.0.0-20211201233224-64539c132272
    $ go mod tidy
    $ go mod vendor
    $ go generate -run=bundle std

Fixes #49904.
Fixes #49623.
Fixes #49661.
Fixes #49560.
Fixes #49908.
Fixes #49910.

Change-Id: I73261b189f84cf1919a79129ec36a1c187723133
Reviewed-on: https://go-review.googlesource.com/c/go/+/368594
Trust: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
@golang golang locked and limited conversation to collaborators Dec 2, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Projects
None yet
Development

No branches or pull requests

3 participants