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

Blaze servers should be able to shutdown gracefully #59

Open
bryce-anderson opened this issue Jan 21, 2017 · 3 comments
Open

Blaze servers should be able to shutdown gracefully #59

bryce-anderson opened this issue Jan 21, 2017 · 3 comments

Comments

@bryce-anderson
Copy link
Member

Draining is a pretty nice feature to have since it allows you to avoid a bunch of errors that occur during cluster roles that happen do to abruptly dropped connections.
I envision the server to have a shutdownWithin(duration) which will signal all open sessions to close as soon as it is possible to do so safely or to forcefully break the connection within the specified duration.
For HTTP/1.x this means sending Connection: close headers on pending dispatches (if the prelude hasn't been sent) and for H2 this means sending the GOAWAY frame.

@rossabaker
Copy link
Member

Is this going to be an HTTP-only feature or a general feature? If it's general, does it suggest the introduction of another Command to trigger state so the HTTP extensions (e.g., Connection: close) are sent?

@bryce-anderson
Copy link
Member Author

Indeed, my first order idea I was a Command will be pushed down the pipeline since this is not a HTTP only feature. In my minds eye, the alternative is for stages to register interest in such events, but that seems significantly more complex and I don't see any clear advantages.

@rossabaker
Copy link
Member

I'm not sure if this is an argument for or against sealing the commands, but it's something to consider while in there.

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

No branches or pull requests

2 participants