Skip to content

Ensure deephaven-core PyPi package does not become out-of-sync with server version #63

@devinrsmith

Description

@devinrsmith

A user on slack reported an error starting up a deephaven docker server:

deephaven_docker-deephaven-1  | Type: <class 'ValueError'>
deephaven_docker-deephaven-1  | Value: Java class 'io.deephaven.server.plugin.python.LivePyObjectWrapper' not found
deephaven_docker-deephaven-1  | Line: 24
deephaven_docker-deephaven-1  | Namespace: <module>
deephaven_docker-deephaven-1  | File: /opt/deephaven/venv/lib/python3.10/site-packages/deephaven/_wrapper.py
deephaven_docker-deephaven-1  | Traceback (most recent call last):
deephaven_docker-deephaven-1  |   File "/opt/deephaven/venv/lib/python3.10/site-packages/deephaven/__init__.py", line 20, in <module>
deephaven_docker-deephaven-1  |   File "/opt/deephaven/venv/lib/python3.10/site-packages/deephaven/table.py", line 23, in <module>
deephaven_docker-deephaven-1  |   File "/opt/deephaven/venv/lib/python3.10/site-packages/deephaven/_wrapper.py", line 24, in <module>
deephaven_docker-deephaven-1  | 
deephaven_docker-deephaven-1  |         at org.jpy.PyLib.importModule(Native Method)
deephaven_docker-deephaven-1  |         at org.jpy.PyModule.importModule(PyModule.java:94)
deephaven_docker-deephaven-1  |         at io.deephaven.integrations.python.PythonDeephavenSession.<init>(PythonDeephavenSession.java:92)
deephaven_docker-deephaven-1  |         at io.deephaven.server.console.python.PythonConsoleSessionModule.bindPythonSession(PythonConsoleSessionModule.java:37)    
deephaven_docker-deephaven-1  |         at io.deephaven.server.console.python.PythonConsoleSessionModule_BindPythonSessionFactory.bindPythonSession(PythonConsoleSessionModule_BindPythonSessionFactory.java:64)
deephaven_docker-deephaven-1  |         at io.deephaven.server.console.python.PythonConsoleSessionModule_BindPythonSessionFactory.get(PythonConsoleSessionModule_BindPythonSessionFactory.java:51)
deephaven_docker-deephaven-1  |         at io.deephaven.server.console.python.PythonConsoleSessionModule_BindPythonSessionFactory.get(PythonConsoleSessionModule_BindPythonSessionFactory.java:16)
deephaven_docker-deephaven-1  |         at io.deephaven.server.console.python.PythonConsoleSessionModule_BindScriptSessionFactory.get(PythonConsoleSessionModule_BindScriptSessionFactory.java:37)
deephaven_docker-deephaven-1  |         at io.deephaven.server.console.python.PythonConsoleSessionModule_BindScriptSessionFactory.get(PythonConsoleSessionModule_BindScriptSessionFactory.java:13)
deephaven_docker-deephaven-1  |         at io.deephaven.server.runner.DeephavenApiServerModule.provideScriptSession(DeephavenApiServerModule.java:96)
deephaven_docker-deephaven-1  |         at io.deephaven.server.runner.DeephavenApiServerModule_ProvideScriptSessionFactory.provideScriptSession(DeephavenApiServerModule_ProvideScriptSessionFactory.java:48)
deephaven_docker-deephaven-1  |         at io.deephaven.server.runner.DeephavenApiServerModule_ProvideScriptSessionFactory.get(DeephavenApiServerModule_ProvideScriptSessionFactory.java:37)
deephaven_docker-deephaven-1  |         at io.deephaven.server.runner.DeephavenApiServerModule_ProvideScriptSessionFactory.get(DeephavenApiServerModule_ProvideScriptSessionFactory.java:13)
deephaven_docker-deephaven-1  |         at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
deephaven_docker-deephaven-1  |         at io.deephaven.server.runner.DeephavenApiServer.run(DeephavenApiServer.java:130)
deephaven_docker-deephaven-1  |         at io.deephaven.server.jetty.JettyMain.main(JettyMain.java:24)

I suspect this is due to a python plugin being installed that forced a newer version of deephaven-core to be installed; namely, deephaven-plugin-matplotlib is declaring a dependency on deephaven-core>=0.27.0 (due to recent plugin interface changes), but the underlying image was < 0.27.0.

We should see if there is a way to lock the version of deephaven-core in the python virtual environment; alternatively, maybe we set that part of the filesystem as read-only?

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions