Client thread parked forever on Threadless executor after receiving RST_STREAM
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- java
- Área
- backend-api-design
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Java
- Estrellas
- 12.1k
- Forks
- 4k
- Merge medio
- 2 d 9 h
- PR fusionados (30 d)
- 44
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de grpc/grpc-java
-
channelz: ServerData `calls_failed` counter not incremented upon client cancellationPosiblemente ocupada @JoeCqupt la tomó hace 7 días. Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
grpc/grpc-java#13063 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Support of `dns:name` URIsAbiertodocs enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
grpc/grpc-java#10824 · 8 comentarios ·
Los mantenedores suelen responder en 1 día
-
question
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
xds: duplicate endpoint addresses across localities are ACKed and can panic outlier detectionPosiblemente ocupada @valeter la tomó hace 7 días. Abierto
Dificultad 3/5 Medio día Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
binder: `ServerStream.close()` marks the stream closed before the suffix is sent, so a flow-control-deferred send failure leaks the callPosiblemente ocupada @kkmurthyt21 la tomó hace 9 días. Abiertobug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
grpc/grpc-java#13097 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de grpc/grpc-java
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
adorsys/keycloak-config-cli#1709 ·
Los mantenedores suelen responder en 1 día
-
! and-bugs
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
osmandapp/OsmAnd#26769 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
NationalSecurityAgency/ghidra#9997 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
[Bug] DefaultSerializationExceptionWrapper does not implement Cleanable, so cleanup() is never invoked by codecsPosiblemente ocupada @binbin0325 la tomó hoy. Abiertocomponent/need-triage type/need-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
fix: tagged PDF fails with ClassCastException when a Form and its Image share an XObject namePosiblemente ocupada @hnc-jglee la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
opendataloader-project/opendataloader-pdf#830 ·
Los mantenedores suelen responder en 1 día