proxygen icon indicating copy to clipboard operation
proxygen copied to clipboard

Problems with HttpServer not stopping on stop call

Open MichaelTomlinsonTabmo opened this issue 5 years ago • 2 comments

Hello,

I have noticed an issue concerning proxygen's http server (v2019.05.13.00) while trying to stop it gracefully under fairly intense http requesting conditions. Indeed, the http server will not stop and stay blocked on the void HTTPServer::stop() call (blocks on the bootstrap.join() call in stop method).

It also seems like the stopping call completes if the work load briefly decreases or stops.

Have you encountered this issue before, and if so are there any workarounds ?

Thanks, Michael.

MichaelTomlinsonTabmo avatar May 14 '19 08:05 MichaelTomlinsonTabmo

Thanks for reporting this @MichaelTomlinsonTabmo . We have seen this issue before and we have a fix in the pipeline, but no ETA as of now. Let's keep this Issue open and track the progress here.

lnicco avatar May 14 '19 16:05 lnicco

Hi ! Any updates on this topic ?

MichaelTomlinsonTabmo avatar May 07 '21 08:05 MichaelTomlinsonTabmo

I'm actually no longer able to reproduce the issue as described, but I'm not sure I like the new behavior. Once HTTPServer::stop is called, it will initiate drains on active connections (eg: HTTP/2 connections will send a GOAWAY, H1 will add Connection: close at next opportunity), but it will also forcibly drop open connections immediately after -- the server shuts down quickly.

What we'd like to see is a draining period that allows running work to finish up before dropping everything.

afrind avatar Sep 19 '24 18:09 afrind