diff options
author | Alexander Yastrebov <yastrebov.alex@gmail.com> | 2023-08-23 15:39:26 +0000 |
---|---|---|
committer | Gopher Robot <gobot@golang.org> | 2023-08-23 15:58:12 +0000 |
commit | 184540e9552f8244a0df3c1ff6a1ffbaa4449352 (patch) | |
tree | 3e327c854c2eaf59ccda7ab8493026eb2833de2e /src/net/http/transport_test.go | |
parent | 081d27a2e5786b2e02cbe4bc9067c6d52ccad44c (diff) | |
download | go-184540e9552f8244a0df3c1ff6a1ffbaa4449352.tar.gz go-184540e9552f8244a0df3c1ff6a1ffbaa4449352.zip |
net/http: revert fix request canceler leak on connection close
This reverts CL 515796 due to a flaking test.
Updates #61708
Fixes #62224
Change-Id: I53911a07677d08c3196daaaa2708269593baf472
GitHub-Last-Rev: 3544648ecc3783dcb10d54fc2b266797c02f9a75
GitHub-Pull-Request: golang/go#62233
Reviewed-on: https://go-review.googlesource.com/c/go/+/522097
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Bryan Mills <bcmills@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Diffstat (limited to 'src/net/http/transport_test.go')
-rw-r--r-- | src/net/http/transport_test.go | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go index 4ff26ff32a..bcc26aa58e 100644 --- a/src/net/http/transport_test.go +++ b/src/net/http/transport_test.go @@ -6810,55 +6810,3 @@ func testRequestSanitization(t *testing.T, mode testMode) { resp.Body.Close() } } - -// Issue 61708 -func TestTransportAndServerSharedBodyReqCancelerCleanupOnConnectionClose(t *testing.T) { - run(t, testTransportAndServerSharedBodyReqCancelerCleanupOnConnectionClose, []testMode{http1Mode}) -} -func testTransportAndServerSharedBodyReqCancelerCleanupOnConnectionClose(t *testing.T, mode testMode) { - const bodySize = 1 << 20 - - backend := newClientServerTest(t, mode, HandlerFunc(func(rw ResponseWriter, req *Request) { - io.Copy(rw, req.Body) - })) - t.Logf("Backend address: %s", backend.ts.Listener.Addr().String()) - - var proxy *clientServerTest - proxy = newClientServerTest(t, mode, HandlerFunc(func(rw ResponseWriter, req *Request) { - breq, _ := NewRequest("POST", backend.ts.URL, req.Body) - - bresp, err := backend.c.Do(breq) - if err != nil { - t.Fatalf("Unexpected proxy outbound request error: %v", err) - } - defer bresp.Body.Close() - - _, err = io.Copy(rw, bresp.Body) - if err == nil { - t.Fatalf("Expected proxy copy error") - } - t.Logf("Proxy copy error: %v", err) - })) - t.Logf("Proxy address: %s", proxy.ts.Listener.Addr().String()) - - req, _ := NewRequest("POST", proxy.ts.URL, io.LimitReader(neverEnding('a'), bodySize)) - res, err := proxy.c.Do(req) - if err != nil { - t.Fatalf("Original request: %v", err) - } - // Close body without reading to trigger proxy copy error - res.Body.Close() - - // Verify no outstanding requests after readLoop/writeLoop - // goroutines shut down. - waitCondition(t, 10*time.Millisecond, func(d time.Duration) bool { - n := backend.tr.NumPendingRequestsForTesting() - if n > 0 { - if d > 0 { - t.Logf("pending requests = %d after %v (want 0)", n, d) - } - return false - } - return true - }) -} |