Address race condition between shutdown_kernel and restarter #607
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is a window in which the auto-restarter logic (that detects unexpectedly terminated kernels) can restart a shutdown kernel - whose termination was intended.
Although rare, this has been seen when a Notebook server is terminated with running kernels, at which time it issues shutdown requests for each kernel - while, at the same time, but after the kernel process has terminated, the restarter detects the kernel process's absence and restarts the kernel.
By indicating that the kernel manager has started a (graceful) shutdown of the kernel, the restarter can better-determine the difference between an intended and unintended shutdown - skipping the kernel restart in case of the former.
Resolves #606