servlet: tomcat does not support trailer only
- 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