Skip to content
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

netty: Handle write queue promise failures #11016

Merged
merged 16 commits into from
Apr 16, 2024

Conversation

sergiitk
Copy link
Member

@sergiitk sergiitk commented Mar 14, 2024

Handles Netty write frame failures caused by issues in the Netty itself.

Normally we don't need to do anything on frame write failures because the cause of a failed future would be an IO error that resulted in the stream closure. Prior to this PR we treated these issues as a noop, except the initial headers write on the client side.

However, a case like netty/netty#13805 (a bug in generating next stream id) resulted in an unclosed stream on our side.
This PR adds write frame future failure handlers that ensures the stream is cancelled, and the cause is propagated via Status.

Fixes #10849

@sergiitk sergiitk requested a review from ejona86 March 14, 2024 17:42
@sergiitk sergiitk requested a review from ejona86 March 25, 2024 21:36
@sergiitk sergiitk merged commit e490273 into grpc:master Apr 16, 2024
15 checks passed
@sergiitk sergiitk deleted the netty-handle-write-promise-failures branch April 16, 2024 23:27
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 16, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NettyClientStream does not handle netty write data failure promise
2 participants