SafeMethodCachingInterceptor Half-closed without a request
- Vorherrschende Sprache
- Java
- Sterne
- 12.1k
- Forks
- 4k
- Ø Merge
- 2 T. 17 Std.
- Gemergte PRs (30 T.)
- 37
Beschreibung
[SafeMethodCachingInterceptor.java](https://github.com/grpc/grpc-java/blob/master/examples/android/clientcache/app/src/main/java/io/grpc/clientcacheexample/SafeMethodCachingInterceptor.java)
16:42:31.306 [grpc-nio-worker-ELG-1-2] DEBUG io.grpc.netty.shaded.io.grpc.netty.NettyClientHandler - [id: 0xa5392116, L:/10.173.96.176:59727 - R:/100.95.188.184:8090] INBOUND HEADERS: streamId=5 headers=GrpcHttp2ResponseHeaders[:status: 200, content-type: application/grpc, grpc-status: 13, grpc-message: Half-closed without a request, x-envoy-upstream-service-time: 5, date: Thu, 23 Jun 2022 08:42:31 GMT, server: istio-envoy] padding=0 endStream=true
My issue is that for every cached response I use, instead of reporting a grpc_client_status=OK I'm instead getting grpc_client_status=Internal with a message Half-closed without a request. I am assuming that this is coming from the server telling us that we started a call but then closed it early.
Is there a correct way to close out this request so that the server doesn't send us this error message? Right now my grpc client statistics make it look like an overwhelming number of our client requests are failing with an internal error, rather than succeeding.
Beitragsleitfaden
Rechercherichtung
Beginne mit examples/android/clientcache/app/src/main/java/io/grpc/clientcacheexample/SafeMethodCachingInterceptor.java und verfolge, wie zwischengespeicherte Antworten ihre Requests schließen. Reproduziere den Pfad der zwischengespeicherten Antwort anhand des gemeldeten gRPC-Status und untersuche die Client/Server-Interaktion. Als abgeschlossen gilt die Aufgabe, wenn zwischengespeicherte Antworten ohne „Half-closed without a request“ abgeschlossen werden und grpc_client_status=OK melden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- api, mobile
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100