http2: deflake TestTransportRetriesOnStreamProtocolError

During this test:
  -> client sends req1
  <- server sends req1 headers
  -> client sends req2
  <- server resets req2
  <- server sends END_STREAM for req1
  -> client closes the *server* connection

The flake occurs when the last two steps happen out of order: The
client processes the reset for req2, returns from RoundTrip, and
the test closes the connection before the server writes the last
DATA frame for req1. This can be demonstrated by inserting a 1ms
sleep between WriteRSTStream and WriteData on the server side of
the test.

It isn't clear why the client side of the test is closing the server
side of the connection; it isn't essential to the test in any way.
Remove it.

Fixes golang/go#48994.

Change-Id: If074e45a76205ebd245617ef1b068967a6674b94
Trust: Damien Neil <>
Run-TryBot: Damien Neil <>
TryBot-Result: Go Bot <>
Reviewed-by: Bryan C. Mills <>
1 file changed
tree: f81ecdd3684efeeaeba2ed43d8c8a4e0a5aeebfe
  1. .gitattributes
  2. .gitignore
  9. bpf/
  10. codereview.cfg
  11. context/
  12. dict/
  13. dns/
  14. go.mod
  15. go.sum
  16. html/
  17. http/
  18. http2/
  19. icmp/
  20. idna/
  21. internal/
  22. ipv4/
  23. ipv6/
  24. lif/
  25. nettest/
  26. netutil/
  27. proxy/
  28. publicsuffix/
  29. route/
  30. trace/
  31. webdav/
  32. websocket/
  33. xsrftoken/

Go Networking

Go Reference

This repository holds supplementary Go networking libraries.


The easiest way to install is to run go get -u You can also manually git clone the repository to $GOPATH/src/

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see The main issue tracker for the net repository is located at Prefix your issue with “x/net:” in the subject line, so it is easy to find.