Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems with HttpServer not stopping on stop call #264

Open
MichaelTomlinsonTabmo opened this issue May 14, 2019 · 3 comments
Open

Problems with HttpServer not stopping on stop call #264

MichaelTomlinsonTabmo opened this issue May 14, 2019 · 3 comments
Assignees
Labels

Comments

@MichaelTomlinsonTabmo
Copy link

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.

@lnicco
Copy link
Contributor

lnicco commented May 14, 2019

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.

@MichaelTomlinsonTabmo
Copy link
Author

Hi ! Any updates on this topic ?

@afrind afrind self-assigned this Sep 18, 2024
@afrind afrind added the bug label Sep 18, 2024
@afrind
Copy link
Contributor

afrind commented Sep 19, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants