`ServerBinding` termination does not close HTTP/2 connections with h2c Upgrade connection setup
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
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- scala
- Ambito
- backend, networking
Direzione di ricerca
Inizia riproducendo il problema con enable-http2=on, Http().newServerAt(...).bind(...), e un client Unirest che riutilizza le connessioni. Poi esamina il percorso terminate() di ServerBinding e la gestione delle connessioni h2c Upgrade. Il lavoro è completato quando la terminazione chiude le connessioni HTTP/2 riutilizzate dopo la hardDeadline e le richieste successive non vengono più gestite.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Calling the ServerBinding terminate() method appears to not close open HTTP/2 connections reused by a client for different requests, even after the hardDeadline timeout is exceeded. In fact, new requests are still handled successfully even after the termination future completes.
Steps to reproduce (in 1.1.0):
- Use
enable-http2=onin the Typesafe Config. - Create a binding with
Http().newServerAt(...).bind(...). - Make an HTTP request to this service with a client. I used Unirest for this.
- Request binding termination and await for it.
- Make more HTTP requests with the same connection. Unirest does that behind the scenes.
- Verify that the service still responds, even though it was supposed to be terminated.
- Lingua principale
- Scala
- Stelle
- 196
- Fork
- 56
- Merge medio
- 1g 18h
- PR unite (30g)
- 43
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 apache/pekko-http
-
dependencies
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
apache/pekko-http#1354 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
apache/pekko-http#1273 ·
I maintainer di solito rispondono entro 1 giorno
-
HTTP/2 client ALPN fallback needs a handshake-complete signal that the TLS stage does not emitAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
apache/pekko-http#1249 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
apache/pekko-http#1248 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
apache/pekko-http#1180 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/pekko-http
Issue simili
-
scope:security type:aquasec
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
AbsaOSS/atum-service#494 ·
-
AI Auto-validate
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ProjectSidewalk/SidewalkWebpage#5788 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
A-network C-bug S-ready-for-human
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ergoplatform/ergo#2741 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
scalameta/metals-zed#99 ·
-
area:ops priority:P2 status:idea
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
KD5UJC-XYZ/scarab#112 ·