grpc / grpc/grpc-java

status code for unclean connection termination

Ouverte
#8,684 14 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Java
Étoiles
12.1k
Forks
4k
Merge moyen
2 j 17 h
PR mergées (30 j)
37

Description

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`?

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par NettyServerHandler.java aux lignes 613–625, puis lisez la discussion de 14 commentaires sur la manière dont l’arrêt brutal du client devrait être représenté. Le travail est considéré comme terminé lorsqu’un accord a été trouvé sur le fait que CANCELLED soit sémantiquement correct et que le changement de comportement correspondant ainsi que le plan de validation aient été définis.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
grpc, java
Domaine
api, networking
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.