-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
Kernel info request is blocked after a long execute followed by a page reload #7560
Comments
We do the kernel info request for several reasons:
Right now, IIRC, we block the kernel from being "ready" until that info reply comes back. With #7252, the kernel is immediately ready as soon as the websocket is connected. While we still issue the kernel info request, you only care if you are explicitly waiting on the new kernel connection |
I don't know how sending the request on the control channel will help in a single-threaded kernel, since execution is blocking the control channel as well. I think the problem lies in the frontend that insists on the kernel info reply coming back, and I think #7252 addresses that (or should address it). |
That would make the situation better yes. But there are still some cases where a kernel info is useful (and that means waiting for the
Indeed it doesn't help in a single-threaded kernel. But some kernels process messages from the |
Are you asking if you can send a kernel info request on the control channel, or are you asking if we should send the initial request on the control channel by default? edited for clarity |
Not sure yet. We could wait for #7252 to land first which already helps. For now |
Linking to this JEP suggesting moving the kernel_info request to the control channel proposal: jupyter/enhancement-proposals#82 |
FYI jupyter/enhancement-proposals#82 was merged, can we switch |
For now the
kernel_info_request
message is sent on theshell
channel.This can lead to the following behavior when a cell is executed, keeping the kernel in a
busy
state for some time, and the page reloaded right after:ipykernel
as the kernelkernel_info_request
on theshell
channel.execute_request
, it can't process thekernel_info_request
and send thekernel_info_reply
This is also visible in the server logs:
One solution would be to send the
kernel_info_request
on thecontrol
channel instead ofshell
. According to the "Messaging in Jupyter" documentation:The text was updated successfully, but these errors were encountered: