grpc / grpc/grpc-java

servlet: tomcat does not support trailer only

Aperta
#10,124 2 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
12.1k
Fork
4k
Merge medio
2g 17h
PR unite (30g)
37

Descrizione

gRPC version:
1.53.0
gRPC server transport: servlet
gRPC client transport: netty

### What is your environment?
MacOS 12.4 jdk11

### What did you expect to see?
This is a known behaviour where tomcat sends an empty data frame with a end_stream flag instead of a trailer only frame with end_stream flag. While it is a valid http2 behaviour, this is not supported by gRPC who expected end_stream frames to be sent in trailer or trailer-only frame.

### What did you see instead?
Internal status error because a data frame is end_stream

### Steps to reproduce the bug
The transport tests `earlyServerClose_noServerHeaders`, `earlyServerClose_serverFailure` and `earlyServerClose_serverFailure_withClientCancelOnListenerClosed` reproduce the problem

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia eseguendo i test del transporto earlyServerClose_noServerHeaders, earlyServerClose_serverFailure e earlyServerClose_serverFailure_withClientCancelOnListenerClosed con il transporto del server servlet. Traccia il modo in cui il transporto gestisce un frame di dati vuoto che porta il flag end_stream; il lavoro è completato quando queste riproduzioni non producono più un errore di stato interno.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
grpc, java
Ambito
api, backend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.