Skip to content

ipc transport: use Jupyter's {ip}-{port} socket address format #134 - #135

Open
paulk-asert wants to merge 1 commit into
dflib:mainfrom
paulk-asert:ipc-address-format
Open

ipc transport: use Jupyter's {ip}-{port} socket address format #134#135
paulk-asert wants to merge 1 commit into
dflib:mainfrom
paulk-asert:ipc-address-format

Conversation

@paulk-asert

Copy link
Copy Markdown
Contributor

Fixes #134.

For the ipc transport Jupyter treats the connection file's ip as a base path and names each channel socket {ip}-{port} (that is what jupyter_client writes and what frontends connect to). JupyterSocket.formatAddress used : for every transport, so under ipc the kernel bound …/kernel-abc:1 while the client waited on …/kernel-abc-1 and the frontend hung at "Connecting".

This has been invisible so far because the released JeroMQ (0.6.0) emulates ipc:// over loopback TCP and cannot talk to libzmq clients regardless. JeroMQ master (zeromq/jeromq#998, merged Sep 2024, not yet released) adds real Unix-socket ipc on Java 16+; with that on the classpath this address format was the only remaining failure. Verified end to end in Google Colab's public runtime image (which launches hosted kernels with --transport=ipc): with this change plus JeroMQ master, a jjava-based kernel replies to kernel_info and executes cells over ipc.

Change: - separator when transport is ipc; tcp unchanged. Unit test added for both cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ipc transport: socket address uses ":" separator instead of Jupyter's "{ip}-{port}"

1 participant