grpc / grpc/grpc-java

status code for unclean connection termination

オープン
#8,684 コメント 14 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement
主要言語
Java
スター
12.1k
フォーク
4k
平均マージ
2日 17時間
マージ済み PR(30日)
37

説明

When the TCP connection underlying a netty server connection is abruptly closed by the client, grpc-java goes through all active call streams and closes them as `UNAVAILABLE`:
https://github.com/grpc/grpc-java/blob/6518d7bd6dc496c89ff320e06c73424f26af364a/netty/src/main/java/io/grpc/netty/NettyServerHandler.java#L613-L625 A problem we've seen with this arrangement is that there is no way for to distinguish `UNAVAILABLE` call failures due to "real" server unavailability and due to the client uncleanly closing their connections (probably due to abrupt process death). What do you think about changing the status in this situation to `CANCELLED`?

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

NettyServerHandler.java の613~625行目から始め、クライアントの突然の終了をどのように表現すべきかについての14件のコメントによる議論を読んでください。CANCELLED が意味的に正しいかどうかについて合意し、それに対応する動作変更と検証計画を定義できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
grpc, java
領域
api, networking
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。