Client thread parked forever on Threadless executor after receiving RST_STREAM
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
- 42/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- java
- Domaine
- backend-api-design
Piste de recherche
Start by reading ThreadlessExecutor.waitAndDrain and tracing how a received RST_STREAM with error code 8 signals completion after an RPC deadline expires. The report provides no stable reproduction steps, so first inspect the related issue #12648 and look for existing tests covering ThreadlessExecutor and stream resets. Done when the client call completes after the deadline and a regression test covers the empty task queue case.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What version of gRPC-Java are you using?
1.77.0
What is your environment?
OS: Linux (aarch64/ARM64 Amazon)
JDK: openjdk version 21.0.12.1
What did you expect to see?
The client should finish RPC call after deadline expired
What did you see instead?
The client stuck forever waiting in ThreadlessExecutor.waitAndDrain with tasks queue being empty.
Steps to reproduce the bug
There are no stable steps to reproduce the issue. It happens randomly under heavy load. The logs show that the client receives RST_STREAM with errorCode=8 from server side after deadline timeout expires, but the thread stays in waiting state. The issue is similar to https://github.com/grpc/grpc-java/issues/12648 but tasks queue is empty in our case.
Netty logs
Timestamp: 1792213442141
[id: 0x33655f63, L:/10.0.26.216:35698 - R:10.0.28.102/10.0.28.102:50051] OUTBOUND HEADERS: streamId=687
...
Timestamp: 1792213472142
[id: 0x33655f63, L:/10.0.26.216:35698 - R:10.0.28.102/10.0.28.102:50051] INBOUND RST_STREAM: streamId=687 errorCode=8
- Langage dominant
- Java
- Étoiles
- 12.1k
- Forks
- 4k
- Merge moyen
- 2 j 9 h
- PR mergées (30 j)
- 44
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
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
-
channelz: ServerData `calls_failed` counter not incremented upon client cancellationPeut-être pris @JoeCqupt l’a pris il y a 7 jours. Ouverteenhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
grpc/grpc-java#13063 · 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
-
question
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
Les mainteneurs répondent en général sous 1 jour
-
xds: duplicate endpoint addresses across localities are ACKed and can panic outlier detectionPeut-être pris @valeter l’a pris il y a 7 jours. Ouverte
Difficulté 3/5 Une demi-journée Accessibilité débutants 45/100
Les mainteneurs répondent en général sous 1 jour
-
binder: `ServerStream.close()` marks the stream closed before the suffix is sent, so a flow-control-deferred send failure leaks the callPeut-être pris @kkmurthyt21 l’a pris il y a 9 jours. Ouvertebug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
grpc/grpc-java#13097 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de grpc/grpc-java
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
adorsys/keycloak-config-cli#1709 ·
Les mainteneurs répondent en général sous 1 jour
-
! and-bugs
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
osmandapp/OsmAnd#26769 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
NationalSecurityAgency/ghidra#9997 · 2 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
[Bug] DefaultSerializationExceptionWrapper does not implement Cleanable, so cleanup() is never invoked by codecsPeut-être pris @binbin0325 l’a pris aujourd’hui. Ouvertecomponent/need-triage type/need-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
fix: tagged PDF fails with ClassCastException when a Form and its Image share an XObject namePeut-être pris @hnc-jglee l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
opendataloader-project/opendataloader-pdf#830 ·
Les mainteneurs répondent en général sous 1 jour