Skip to content

Conversation

arjan-bal
Copy link
Contributor

Fixes: #8517

This change allows t.closeStream() to be executed even if the stream state is done. This is required to allow streams to be cancelled to timed out. See issue for detailed root cause.

RELEASE NOTES:

  • server: Fix bug preventing streams from being cancelled or timed out when blocked on flow control.

@arjan-bal arjan-bal added this to the 1.72 Release milestone Aug 20, 2025
@arjan-bal arjan-bal requested review from easwars and dfawley August 20, 2025 21:37
@arjan-bal arjan-bal changed the title allow stream cancellation when blocked on flow control transport: allow stream cancellation on the server when blocked on flow control Aug 20, 2025
Copy link

codecov bot commented Aug 20, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.08%. Comparing base (0ebea3e) to head (c489d1e).
⚠️ Report is 13 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8528      +/-   ##
==========================================
+ Coverage   81.87%   82.08%   +0.20%     
==========================================
  Files         413      412       -1     
  Lines       40518    40453      -65     
==========================================
+ Hits        33176    33207      +31     
+ Misses       5967     5875      -92     
+ Partials     1375     1371       -4     
Files with missing lines Coverage Δ
internal/transport/http2_server.go 90.87% <100.00%> (ø)

... and 232 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@arjan-bal arjan-bal force-pushed the fix-server-stream-quota branch from 051097c to 26176d2 Compare August 20, 2025 21:56
@arjan-bal arjan-bal force-pushed the fix-server-stream-quota branch from 26176d2 to c1c5477 Compare August 20, 2025 22:00
Copy link

@alanprot alanprot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

@alanprot
Copy link

The fix did not make into the release?

@arjan-bal
Copy link
Contributor Author

The fix did not make into the release?

We didn't want to delay the 1.75 release too much. We will perform patch releases once this PR is merged. Reviews have been slow due to the annual gRPConf that happened a couple of days ago.

@dfawley dfawley assigned arjan-bal and unassigned easwars and dfawley Sep 3, 2025
@arjan-bal arjan-bal merged commit dc80249 into grpc:master Sep 4, 2025
15 checks passed
@arjan-bal arjan-bal deleted the fix-server-stream-quota branch September 4, 2025 06:30
arjan-bal added a commit to arjan-bal/grpc-go that referenced this pull request Sep 4, 2025
…ow control (grpc#8528)

Fixes: grpc#8517

This change allows `t.closeStream()` to be executed even if the stream
state is `done`. This is required to allow streams to be cancelled to
timed out. See issue for detailed root cause.

RELEASE NOTES:
* server: Fix bug preventing streams from being cancelled or timed out
when blocked on flow control.
arjan-bal added a commit to arjan-bal/grpc-go that referenced this pull request Sep 4, 2025
…ow control (grpc#8528)

Fixes: grpc#8517

This change allows `t.closeStream()` to be executed even if the stream
state is `done`. This is required to allow streams to be cancelled to
timed out. See issue for detailed root cause.

RELEASE NOTES:
* server: Fix bug preventing streams from being cancelled or timed out
when blocked on flow control.
arjan-bal added a commit to arjan-bal/grpc-go that referenced this pull request Sep 4, 2025
…ow control (grpc#8528)

Fixes: grpc#8517

This change allows `t.closeStream()` to be executed even if the stream
state is `done`. This is required to allow streams to be cancelled to
timed out. See issue for detailed root cause.

RELEASE NOTES:
* server: Fix bug preventing streams from being cancelled or timed out
when blocked on flow control.
arjan-bal added a commit to arjan-bal/grpc-go that referenced this pull request Sep 4, 2025
…ow control (grpc#8528)

Fixes: grpc#8517

This change allows `t.closeStream()` to be executed even if the stream
state is `done`. This is required to allow streams to be cancelled to
timed out. See issue for detailed root cause.

RELEASE NOTES:
* server: Fix bug preventing streams from being cancelled or timed out
when blocked on flow control.
arjan-bal added a commit to arjan-bal/grpc-go that referenced this pull request Sep 4, 2025
…ow control (grpc#8528)

Fixes: grpc#8517

This change allows `t.closeStream()` to be executed even if the stream
state is `done`. This is required to allow streams to be cancelled to
timed out. See issue for detailed root cause.

RELEASE NOTES:
* server: Fix bug preventing streams from being cancelled or timed out
when blocked on flow control.
arjan-bal added a commit that referenced this pull request Sep 4, 2025
Original PR: #8528
Related issue: #8517

RELEASE NOTES:
* server: Fix bug preventing streams from being cancelled or timed out when blocked on flow control.
arjan-bal added a commit that referenced this pull request Sep 4, 2025
Original PR: #8528
Related issue: #8517

RELEASE NOTES:
* server: Fix bug preventing streams from being cancelled or timed out when blocked on flow control.
arjan-bal added a commit that referenced this pull request Sep 4, 2025
Original PR: #8528
Related issue: #8517

RELEASE NOTES:
* server: Fix bug preventing streams from being cancelled or timed out when blocked on flow control.
arjan-bal added a commit that referenced this pull request Sep 4, 2025
Original PR: #8528
Related issue: #8517

RELEASE NOTES:
* server: Fix bug preventing streams from being cancelled or timed out when blocked on flow control.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Failing to delete the stream from the activeStreams map leading to REFUSED_STREAM errors
4 participants