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: frequent failures in TestClientConnCloseAtBody [1.17 backport] #49911

Closed
gopherbot opened this issue Dec 1, 2021 · 3 comments
Closed
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge Testing An issue that has been verified to require only test changes, not just a test failure.
Milestone

Comments

@gopherbot
Copy link

@neild requested issue #49335 to be considered for backport to the next 1.17 minor release.

@gopherbot Please open backport issues for 1.16 and 1.17. Test-only fix for flaky failures.

@gopherbot gopherbot added the CherryPickCandidate Used during the release process for point releases label Dec 1, 2021
@gopherbot gopherbot added this to the Go1.17.4 milestone Dec 1, 2021
@gopherbot
Copy link
Author

Change https://golang.org/cl/368555 mentions this issue: [internal-branch.go1.17-vendor] http2: don't count aborted streams as active in tests

@mknyszek mknyszek added the CherryPickApproved Used during the release process for point releases label Dec 1, 2021
@mknyszek
Copy link
Contributor

mknyszek commented Dec 1, 2021

Approving because it's a test-only fix that improves the reliability of the release builders.

CC @dmitshur

@dmitshur dmitshur added the Testing An issue that has been verified to require only test changes, not just a test failure. label Dec 1, 2021
gopherbot pushed a commit to golang/net that referenced this issue Dec 1, 2021
… active in tests

Deflake TestClientConnCloseAtBody, which assumes all streams
have been fully cleaned up after ClientConn.Close returns.
Only count active streams, not ones in the process of aborting.

Perhaps ClientConn.Close should block until all streams have
been cleaned up, although this could result in Close blocking
indefinitely if a stream is blocked reading from the request body.

For golang/go#49335.
For golang/go#49911.

Change-Id: I172e0d3f10875191d29b24598de0abbdeb35e434
Reviewed-on: https://go-review.googlesource.com/c/net/+/361536
Trust: Damien Neil <dneil@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
(cherry picked from commit b53810d)
Reviewed-on: https://go-review.googlesource.com/c/net/+/368555
Reviewed-by: Michael Knyszek <mknyszek@google.com>
@gopherbot gopherbot removed the CherryPickCandidate Used during the release process for point releases label Dec 1, 2021
@gopherbot
Copy link
Author

Change https://golang.org/cl/368574 mentions this issue: [release-branch.go1.17] 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:

    85e122b net/http2: Fix handling of expect continue
    1dc0aec http2: don't count aborted streams as active in tests
    e973a42 ipv6: OpenBSD does not appear to support multicast loopback
    9592dd5 http2: avoid busy loop when ResponseHeaderTimeout is set
    94fb2bc http2: avoid spurious RoundTrip error when server closes and resets stream
    e108c19 http2: close conns after use when req.Close is set

By doing:

    $ go get -d golang.org/x/net@internal-branch.go1.17-vendor
    go: upgraded golang.org/x/net v0.0.0-20211101194204-95aca89e93de => v0.0.0-20211201233630-85e122b1a9b3
    $ go mod tidy
    $ go mod vendor
    $ go generate -run=bundle std

Fixes #49561.
Fixes #49624.
Fixes #49662.
Fixes #49905.
Fixes #49909.
Fixes #49911.

Change-Id: Ia8f432bd3ea77d24e63d46c8ed2ac8d275406b52
Reviewed-on: https://go-review.googlesource.com/c/go/+/368574
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>
fedosgad pushed a commit to fedosgad/oohttp that referenced this issue Jun 22, 2022
… active in tests

Deflake TestClientConnCloseAtBody, which assumes all streams
have been fully cleaned up after ClientConn.Close returns.
Only count active streams, not ones in the process of aborting.

Perhaps ClientConn.Close should block until all streams have
been cleaned up, although this could result in Close blocking
indefinitely if a stream is blocked reading from the request body.

For golang/go#49335.
For golang/go#49911.

Change-Id: I172e0d3f10875191d29b24598de0abbdeb35e434
Reviewed-on: https://go-review.googlesource.com/c/net/+/361536
Trust: Damien Neil <dneil@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
(cherry picked from commit b53810dc28af183c5c4adfbb6b6d982379845b06)
Reviewed-on: https://go-review.googlesource.com/c/net/+/368555
Reviewed-by: Michael Knyszek <mknyszek@google.com>
@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 Testing An issue that has been verified to require only test changes, not just a test failure.
Projects
None yet
Development

No branches or pull requests

3 participants