-
Notifications
You must be signed in to change notification settings - Fork 171
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
Graceful shutdown of node #736
Comments
This stops accepting new connections, but does not currently abort transfers. Closes #77
This stops accepting new connections, but does not currently abort transfers. Closes #77
This stops accepting new connections, but does not currently abort transfers. Closes #77
We'll attempt to replace this with something more minimal. Only purpose is to have a method that can make the task stop without a JoinError. Nothing more graceful about it. |
This adds Provider::shutdown allowing to stop the Provider without having to abort it. On the wire however it still does not do anything graceful: all the connections are stopped and any in-transit data is lost. Additionally this adds tracing spans to the connection handling. Finally it fixes a bug where read_lp would not return None if the connection was closed normally. Part of #77 but this is not very graceful on the wire yet.
Leaving this issue open, but concerning the v0.1.0 milestone this is done. |
moving milestone, this is not really relevant right now |
@flub how much more work is left here in your opinion? |
I'm not sure how much all the current refactoring has changed things, so rebasing might be a bit tricky by now. But this is what is needed:
In my old PR I have the first point done, not the rest. This will probably need some changes now that there have been so much refactoring on the send and receive path. I'm guessing this is like 3ish days work? |
There is also #2198, which is a duplicate of this I think. |
Provider should be able to be requested to be shut down. At this point it should stop accepting new connections but continue any current transfer. A timeout for continuing the existing transfer is not needed, if that takes to long a hard abort by the user is fine.
The text was updated successfully, but these errors were encountered: