binder: Inbound.java reassembly logic needlessly handles out-of-order transactions, fails to handle silently dropped ones.
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
Piste de recherche
Commencez par binder/src/main/java/io/grpc/binder/internal/Inbound.java et examinez le comportement de IBinder#FLAG_ONEWAY lié dans l’issue. Simplifiez le réassemblage en partant de l’hypothèse que les transactions sont ordonnées, et faites en sorte qu’un index inattendu ferme immédiatement le stream avec un statut approprié au lieu d’attendre indéfiniment. Le travail est terminé lorsque les lacunes ne bloquent plus les appelants et que le statut d’échec choisi permet de réessayer.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Inbound has code to handle Binder transactions delivered out-of-order, something that can't happen (see IBinder#FLAG_ONEWAY). At the same time, it fails to handle the rare case where transactions are silently dropped.
We should simplify the message reassembly code and fail fast on gaps instead of waiting forever for a transaction that will never come. If an incoming transaction index doesn't have the next expected value, immediately close the stream (with DATA_LOSS? UNAVAILABLE?). This avoids a hang, allowing callers to retry sooner.
- Langage dominant
- Java
- Étoiles
- 12.1k
- Forks
- 4k
- Merge moyen
- 2 j 1 h
- PR mergées (30 j)
- 31
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de grpc/grpc-java
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
grpc/grpc-java#13063 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
grpc/grpc-java#13052 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Support of `dns:name` URIsOuvertedocs enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
grpc/grpc-java#10824 · 8 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 70/100
grpc/grpc-java#13078 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
grpc/grpc-java#13075 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de grpc/grpc-java
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
github/copilot-sdk#2793 ·
Les mainteneurs répondent en général sous 1 jour
-
Unify jpa4 into orm8Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
enhancement good first issue
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100