Skip to content

Guarantee missing stream promise delivery (1.74.x backport) #12232

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

Merged
merged 1 commit into from
Jul 18, 2025

Conversation

ejona86
Copy link
Member

@ejona86 ejona86 commented Jul 17, 2025

In observed cases, whether RST_STREAM or another failure from netty or the server, listeners can fail to be notified when a connection yields a null stream for the selected streamId. This causes hangs in clients, despite deadlines, with no obvious resolution.

This is not simply a race between netty to deliver a result interpreted as a failure and the setSuccess previously implemented, the netty layer does not report the stream as failed.

Fixes #12185

Backport of #12207

In observed cases, whether RST_STREAM or another failure from netty or
the server, listeners can fail to be notified when a connection yields a
null stream for the selected streamId. This causes hangs in clients,
despite deadlines, with no obvious resolution.

Tests which relied upon this promise succeeding must now change.
@ejona86 ejona86 requested a review from kannanjgithub July 17, 2025 22:01
@ejona86 ejona86 merged commit b04c673 into grpc:v1.74.x Jul 18, 2025
16 checks passed
@ejona86 ejona86 deleted the backport-null-stream-promise-1.74 branch July 18, 2025 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants