async server: need to ignore unary response msg if status is not OK
- 主要言語
- Java
- スター
- 12.1k
- フォーク
- 4k
- 平均マージ
- 2日 17時間
- マージ済み PR(30日)
- 37
説明
The expectation for unary responses is that the server will respond with an message or an error. If the server responds with a message and an error, the message should be thrown away. The async API currently would send the message. For unary responses, we should delay sending the response until the onComplete()/onError(). If onError() is called we should not send the message.
https://github.com/grpc/grpc-java/blob/b22017851560197a41015acd90f443f7b9519984/stub/src/main/java/io/grpc/stub/ServerCalls.java#L336-L349
See #5968 and grpc/grpc#12824
コントリビューションガイド
調査の方向性
stub/src/main/java/io/grpc/stub/ServerCalls.java の336-349行目から始めて、非同期 unary 応答の処理を追跡してください。onComplete() と onError() 周辺の動作を確認し、エラーが伴う場合にメッセージが送信されないことを検証してください。コンテキストとして #5968 と grpc/grpc#12824 を使用してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- api, backend
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 45/100