Client thread parked forever on Threadless executor after receiving RST_STREAM
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 42/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- java
- Ambito
- backend-api-design
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Java
- Stelle
- 12.1k
- Fork
- 4k
- Merge medio
- 2g 9h
- PR unite (30g)
- 44
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di grpc/grpc-java
-
channelz: ServerData `calls_failed` counter not incremented upon client cancellationForse già presa @JoeCqupt l’ha presa 7 giorni fa. Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
grpc/grpc-java#13063 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Support of `dns:name` URIsApertadocs enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
grpc/grpc-java#10824 · 8 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
question
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
xds: duplicate endpoint addresses across localities are ACKed and can panic outlier detectionForse già presa @valeter l’ha presa 7 giorni fa. Aperta
Difficoltà 3/5 Mezza giornata Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
binder: `ServerStream.close()` marks the stream closed before the suffix is sent, so a flow-control-deferred send failure leaks the callForse già presa @kkmurthyt21 l’ha presa 9 giorni fa. Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
grpc/grpc-java#13097 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di grpc/grpc-java
Issue simili
-
dev/release: verify-release-candidate.sh runs 0 Java tests with Debian's MavenForse già presa @kou l’ha presa oggi. ApertaType: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/arrow-adbc#4947 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
lysine-dev/okhttp#9814 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
1.20.1-FORGE bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
MehVahdJukaar/WoodGood#1348 ·
-
documentation faq
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100