-
Notifications
You must be signed in to change notification settings - Fork 222
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
The /api/kernels call shows the kernel in starting state even when the kernel is busy #1138
Comments
Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! 🤗 |
Hello @AmitJuneja25. Kernel state "starting" is the initial state and is set by the The example messages you display above all show the "idle" state, indicating the kernel has started and is waiting for further requests (and may have already processed prior requests).
One of the relatively recent changes made in both Notebook and JupyterServer (on which EG depends) is the kernel "nudging" logic which ensures the kernel startup has completed and the kernel is ready to receive requests prior to exposing the kernel to the end-user. As a result, I would check the version of Notebook you are running (EG 2.5.2 should be based on Notebook rather than JupyterServer) and would recommend updating the Notebook package to the latest version of the 6.x release to see if this helps. Relying on the status messages can be a little risky, particularly if you're deriving a state machine from it. For example, some kernels are asynchronous and can return an "idle" status prior to the execution results, and some applications may deem the "idle" response as the end of that interaction when, really, the kernel's async behavior happened to issue the responses "out of order". The Apache Toree Scala kernel is one example. |
@AmitJuneja25 - at this point, there's nothing to look at here. Do you know what version of the underlying |
Hello @kevin-bates we are using the below versions for different packages: jupyter core : 4.7.1 |
Thanks for the version info. Again, there isn't much to go on here although it looks like you're using relatively up-to-date versions of things.
Since EG doesn't do anything but report the status, just like notebook and jupyter server, I'm not sure where to even begin looking other than perhaps at the kernel responses themselves. |
I don't want to hijack this issue but I am seeing something similar to the original issue. We are using kubernetes to create kernels on.I created a new kernel with a POST call to
I get a response back with the new kernel id.
When I check logs of the kernel pod it looks like the pod started fine |
Hi @debashis1982 - no worries regarding your "hijack" comment - it's good to have other data points. I have some questions that I'm hoping you can answer.
|
Thanks for your reply @kevin-bates
I am basically trying to write a javascript that
My intention is to use that script for load testing.
Now if I call GET
|
Description
We are using the enterprise gateway to create the kernels for our kubernetes pods which are running inside the GKE cluster. The /api/kernels call gives us the list of all the kernels & the state of those kernels as shown below:
The execution_state field here shows the state of the kernel as starting even when the kernel is actually busy & due to this we are not able to get the correct state of the kernel which is important for us to know because we are using that information to achieve some important tasks.
This issue gets reproduced rarely but this causes us lot of difficulty whenever that happens
As a solution to this issue we just want the /api/kernels call to return the correct status everytime & not display the execution state of the kernel as starting when the kernel is actually in busy state.
The text was updated successfully, but these errors were encountered: