Repository navigation
Migrate to JDI execution control - #137
Draft
m-dzianishchyts wants to merge 16 commits into
Draft
m-dzianishchyts wants to merge 16 commits into
m-dzianishchyts wants to merge 16 commits into
Conversation
Launch the managing kernel directly and remove the launcher JVM. Keep user state in a separate executor across cells, imports and redefinitions. - Pass JJAVA_JVM_OPTS to the executor JVM. - Handle magics and extension lifecycle in the managing kernel. - Return ordinary expression results as text/plain. - Transfer portable display bundles over a loopback socket. - Report timeouts, interrupts and executor termination explicitly. - Wire executor stdout/stderr directly to JupyterIO. - Add regression coverage for state, recovery and display transport.
…orm-specific AF_UNIX limits
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What does this PR do?
Moves notebook execution into a separate persistent executor JVM and separates what that JVM computes from what the managing JVM shows in Jupyter. The branch carries both steps:
Java 21 is now the minimum version.
Details
Execution
%timemagic is simplified accordingly.Display and update between the JVMs
displayandupdateDisplaycalls are encoded as validated, transferable requests. Cyclic structures and non-finite numbers inside bundles or containers are rejected before any connection is opened.Helper routing
printf, local render, display and update are supported. Nested evaluation, programmatic magics and kernel access in the executor fail with operation-specific messages.Compatibility
Testing