Skip to content

Do not enter kernel ready state until after kernel info reply #11

@jmcphers

Description

@jmcphers

Currently, Kallichore enters the kernel Ready state as soon as it gets a heartbeat from the kernel. This is overly optimistic; Positron's Jupyter Adapter has a more pessimistic behavior wherein it uses kernel info requests to probe the kernel for readiness, which is a more reliable way to see whether the kernel is actually open for business. Details here:

posit-dev/positron#2207

Positron always sends a kernel info request when it starts the kernel. If we are sending a request from Kallichore internally too, that feels a little sloppy. Some possible resolutions:

  • the "Start Kernel" API could resolve with the kernel info request's payload, so that Positron doesn't have to send another request to get the data
  • we could cache the kernel's response for a short period of time so that we don't have to ask for it again
  • we could just live with two requests, it's not that bad

We could also use the initial kernel info request to populate the initial input/continuation prompt fields (see #10).

Also note that some kernels support a way to detect a ready state on IOPub. We can't rely on this, though, so we need the above scheme for kernels that don't (pretty much all of them right now?). See #1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions