-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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: http.Server.WriteTimeout does not fire if the http2 stream's window is out of space. [1.16 backport] #50449
Comments
Change https://golang.org/cl/375718 mentions this issue: |
…n random write scheduler The http2 random write scheduler should not queue RST_STREAM frames with the DATA frames, and instead treat them as control frames. There can be deadlock situations if data frames block the queue, because if the sender wants to close the stream it sends an RST frame, but if the client is not draining the queue, the RST frame is stuck and the sender is not able to finish. For golang/go#49741 Updates golang/go#50449 Change-Id: I0940a76d1aad95f1c4d3856e4d79cf5ce2a78ff2 Reviewed-on: https://go-review.googlesource.com/c/net/+/367154 Trust: Dave Cheney <dave@cheney.net> Reviewed-by: Damien Neil <dneil@google.com> Trust: Damien Neil <dneil@google.com> Run-TryBot: Damien Neil <dneil@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> (cherry picked from commit 04296fa) Reviewed-on: https://go-review.googlesource.com/c/net/+/375718 Run-TryBot: Carlos Amedee <carlos@golang.org> Trust: Dmitri Shuralyov <dmitshur@golang.org>
Change https://golang.org/cl/375815 mentions this issue: |
This backport has been approved as it is a serious issue without a workaround. |
Closed by merging 0551247 to release-branch.go1.16. |
Pull in approved backports to golang.org/x/net/http2: aa5a62b http2: prioritize RST_STREAM frames in random write scheduler By doing: $ go get -d golang.org/x/net@internal-branch.go1.16-vendor $ go mod tidy $ go mod vendor $ go generate -run=bundle std Fixes #50449 Change-Id: I4a6a8ae943d2d1705209e648a63421914062d3e4 Reviewed-on: https://go-review.googlesource.com/c/go/+/375815 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Carlos Amedee <carlos@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Trust: Carlos Amedee <carlos@golang.org>
…n random write scheduler The http2 random write scheduler should not queue RST_STREAM frames with the DATA frames, and instead treat them as control frames. There can be deadlock situations if data frames block the queue, because if the sender wants to close the stream it sends an RST frame, but if the client is not draining the queue, the RST frame is stuck and the sender is not able to finish. For golang/go#49741 Updates golang/go#50449 Change-Id: I0940a76d1aad95f1c4d3856e4d79cf5ce2a78ff2 Reviewed-on: https://go-review.googlesource.com/c/net/+/367154 Trust: Dave Cheney <dave@cheney.net> Reviewed-by: Damien Neil <dneil@google.com> Trust: Damien Neil <dneil@google.com> Run-TryBot: Damien Neil <dneil@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> (cherry picked from commit 04296fa) Reviewed-on: https://go-review.googlesource.com/c/net/+/375718 Run-TryBot: Carlos Amedee <carlos@golang.org> Trust: Dmitri Shuralyov <dmitshur@golang.org>
…n random write scheduler The http2 random write scheduler should not queue RST_STREAM frames with the DATA frames, and instead treat them as control frames. There can be deadlock situations if data frames block the queue, because if the sender wants to close the stream it sends an RST frame, but if the client is not draining the queue, the RST frame is stuck and the sender is not able to finish. For golang/go#49741 Updates golang/go#50449 Change-Id: I0940a76d1aad95f1c4d3856e4d79cf5ce2a78ff2 Reviewed-on: https://go-review.googlesource.com/c/net/+/367154 Trust: Dave Cheney <dave@cheney.net> Reviewed-by: Damien Neil <dneil@google.com> Trust: Damien Neil <dneil@google.com> Run-TryBot: Damien Neil <dneil@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> (cherry picked from commit 04296fa) Reviewed-on: https://go-review.googlesource.com/c/net/+/375718 Run-TryBot: Carlos Amedee <carlos@golang.org> Trust: Dmitri Shuralyov <dmitshur@golang.org>
Pull in approved backports to golang.org/x/net/http2: aa5a62b http2: prioritize RST_STREAM frames in random write scheduler By doing: $ go get -d golang.org/x/net@internal-branch.go1.16-vendor $ go mod tidy $ go mod vendor $ go generate -run=bundle std Fixes golang#50449 Change-Id: I4a6a8ae943d2d1705209e648a63421914062d3e4 Reviewed-on: https://go-review.googlesource.com/c/go/+/375815 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Carlos Amedee <carlos@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Trust: Carlos Amedee <carlos@golang.org>
# AWS EKS Backported To: go-1.15.15-eks Backported On: Thu, 22 Sept 2022 Backported By: budris@amazon.com Backported From: release-branch.go1.16 EKS Patch Source Commit: danbudris@f4338f7 Upstream Source Commit: golang@0551247 # Original Information Pull in approved backports to golang.org/x/net/http2: aa5a62b http2: prioritize RST_STREAM frames in random write scheduler By doing: $ go get -d golang.org/x/net@internal-branch.go1.16-vendor $ go mod tidy $ go mod vendor $ go generate -run=bundle std Fixes golang#50449 Change-Id: I4a6a8ae943d2d1705209e648a63421914062d3e4 Reviewed-on: https://go-review.googlesource.com/c/go/+/375815 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Carlos Amedee <carlos@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Trust: Carlos Amedee <carlos@golang.org>
# AWS EKS Backported To: go-1.15.15-eks Backported On: Thu, 22 Sept 2022 Backported By: budris@amazon.com Backported From: release-branch.go1.16 EKS Patch Source Commit: danbudris@f4338f7 Upstream Source Commit: golang@0551247 # Original Information Pull in approved backports to golang.org/x/net/http2: aa5a62b http2: prioritize RST_STREAM frames in random write scheduler By doing: $ go get -d golang.org/x/net@internal-branch.go1.16-vendor $ go mod tidy $ go mod vendor $ go generate -run=bundle std Fixes golang#50449 Change-Id: I4a6a8ae943d2d1705209e648a63421914062d3e4 Reviewed-on: https://go-review.googlesource.com/c/go/+/375815 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Carlos Amedee <carlos@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Trust: Carlos Amedee <carlos@golang.org>
@cagedmantis requested issue #49741 to be considered for backport to the next 1.16 minor release.
The text was updated successfully, but these errors were encountered: