`active_request_count` gauge doesn't decrease on WebSocket disconnect
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
- 30/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- scala
- Ambito
- backend, networking
Direzione di ricerca
Inizia riproducendo una connessione WebSocket seguita da una disconnessione lato client, quindi ispeziona il ciclo di vita in SelectorLoop.scala e Http1ServerStage.scala, indicati negli stack trace. Traccia come viene aggiornata la metrica active_request_count e verifica che diminuisca dopo la disconnessione; controlla inoltre se le eccezioni di shutdown segnalate sono correlate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I just made use of epimetheus-http4s metrics, which look to do almost the same as http4s' metricsOps, and noticed, that active_request_count never goes down for WebSocket connections.
I am using http4s - 0.20.0 and epimetheus-http4s - 0.2.0...
Not sure if it is related, but I get the following exceptions at server shutdown.
If WebSocket connection was opened, then at shutdown time:
2019-05-02 22:10:20,981 ERROR [blaze-selector-1][org.http4s.blaze.channel.nio1.NIO1HeadStage] ip: s: c: p: g: t: - Abnormal NIO1HeadStage termination
java.nio.channels.ShutdownChannelGroupException: null
at org.http4s.blaze.channel.nio1.SelectorLoop.killSelector(SelectorLoop.scala:225)
at org.http4s.blaze.channel.nio1.SelectorLoop.org$http4s$blaze$channel$nio1$SelectorLoop$$runLoop(SelectorLoop.scala:185)
at org.http4s.blaze.channel.nio1.SelectorLoop$$anon$1.run(SelectorLoop.scala:67)
at java.base/java.lang.Thread.run(Thread.java:835)
If WebSocket was opened and then closed by client-side, at server shutdown there are:
2019-05-02 22:12:04,365 ERROR [blaze-selector-1][org.http4s.blaze.channel.nio1.NIO1HeadStage] ip: s: c: p: g: t: - Abnormal NIO1HeadStage termination
java.nio.channels.ShutdownChannelGroupException: null
at org.http4s.blaze.channel.nio1.SelectorLoop.killSelector(SelectorLoop.scala:225)
at org.http4s.blaze.channel.nio1.SelectorLoop.org$http4s$blaze$channel$nio1$SelectorLoop$$runLoop(SelectorLoop.scala:185)
at org.http4s.blaze.channel.nio1.SelectorLoop$$anon$1.run(SelectorLoop.scala:67)
at java.base/java.lang.Thread.run(Thread.java:835)
2019-05-02 22:12:04,365 ERROR [blaze-selector-1][org.http4s.server.blaze.Http1ServerStage$$anon$1] ip: s: c: p: g: t: - Fatal Error: Error in requestLoop()
java.nio.channels.ShutdownChannelGroupException: null
at org.http4s.blaze.channel.nio1.SelectorLoop.killSelector(SelectorLoop.scala:225)
at org.http4s.blaze.channel.nio1.SelectorLoop.org$http4s$blaze$channel$nio1$SelectorLoop$$runLoop(SelectorLoop.scala:185)
at org.http4s.blaze.channel.nio1.SelectorLoop$$anon$1.run(SelectorLoop.scala:67)
at java.base/java.lang.Thread.run(Thread.java:835)
2019-05-02 22:12:04,364 ERROR [blaze-selector-4][org.http4s.blaze.channel.nio1.NIO1HeadStage] ip: s: c: p: g: t: - Abnormal NIO1HeadStage termination
java.nio.channels.ShutdownChannelGroupException: null
at org.http4s.blaze.channel.nio1.SelectorLoop.killSelector(SelectorLoop.scala:225)
at org.http4s.blaze.channel.nio1.SelectorLoop.org$http4s$blaze$channel$nio1$SelectorLoop$$runLoop(SelectorLoop.scala:185)
at org.http4s.blaze.channel.nio1.SelectorLoop$$anon$1.run(SelectorLoop.scala:67)
at java.base/java.lang.Thread.run(Thread.java:835)
2019-05-02 22:12:04,365 ERROR [blaze-selector-4][org.http4s.server.blaze.Http1ServerStage$$anon$1] ip: s: c: p: g: t: - Fatal Error: Error in requestLoop()
java.nio.channels.ShutdownChannelGroupException: null
at org.http4s.blaze.channel.nio1.SelectorLoop.killSelector(SelectorLoop.scala:225)
at org.http4s.blaze.channel.nio1.SelectorLoop.org$http4s$blaze$channel$nio1$SelectorLoop$$runLoop(SelectorLoop.scala:185)
at org.http4s.blaze.channel.nio1.SelectorLoop$$anon$1.run(SelectorLoop.scala:67)
at java.base/java.lang.Thread.run(Thread.java:835)
2019-05-02 22:12:04,365 ERROR [blaze-selector-1][org.http4s.blaze.channel.nio1.NIO1HeadStage] ip: s: c: p: g: t: - Abnormal NIO1HeadStage termination
java.nio.channels.ShutdownChannelGroupException: null
at org.http4s.blaze.channel.nio1.SelectorLoop.killSelector(SelectorLoop.scala:225)
at org.http4s.blaze.channel.nio1.SelectorLoop.org$http4s$blaze$channel$nio1$SelectorLoop$$runLoop(SelectorLoop.scala:185)
at org.http4s.blaze.channel.nio1.SelectorLoop$$anon$1.run(SelectorLoop.scala:67)
at java.base/java.lang.Thread.run(Thread.java:835)
2019-05-02 22:12:04,365 ERROR [blaze-selector-4][org.http4s.blaze.channel.nio1.NIO1HeadStage] ip: s: c: p: g: t: - Abnormal NIO1HeadStage termination
java.nio.channels.ShutdownChannelGroupException: null
at org.http4s.blaze.channel.nio1.SelectorLoop.killSelector(SelectorLoop.scala:225)
at org.http4s.blaze.channel.nio1.SelectorLoop.org$http4s$blaze$channel$nio1$SelectorLoop$$runLoop(SelectorLoop.scala:185)
at org.http4s.blaze.channel.nio1.SelectorLoop$$anon$1.run(SelectorLoop.scala:67)
at java.base/java.lang.Thread.run(Thread.java:835)
- Lingua principale
- Scala
- Stelle
- 371
- Fork
- 63
- Merge medio
- 1g 18h
- PR unite (30g)
- 8
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 http4s/blaze
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
http4s/blaze#918 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
http4s/blaze#894 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
I maintainer di solito rispondono entro 1 giorno
-
support
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
http4s/blaze#774 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di http4s/blaze
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
com-lihaoyi/mill#7776 ·
I maintainer di solito rispondono entro 1 giorno
-
Module: Form Builder
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
orbeon/orbeon-forms#7943 ·
I maintainer di solito rispondono entro 2 giorni
-
module: core
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
bigbluebutton/bigbluebutton#26028 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
lambdaworks/zio-elasticsearch#869 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bazel-contrib/rules_scala#2018 ·
I maintainer di solito rispondono entro 2 giorni