We just updated our KNIME Server from version 4.9 to the most recent version 4.10. Along with the server update, we downloaded and installed a fresh executor (KNIME 4.1.1) downloaded from your website. The executor is properly referenced in the server config.
As we use custom nodes, I installed them using the P2 director and got the following output:
Installing com.***.feature.feature.group 1.3.1.202001271554.
Operation completed in 7135 ms.
Feb 13, 2020 1:21:43 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener unregister
INFO: Removing the extensions for bundle 252
Feb 13, 2020 1:21:43 PM org.apache.cxf.bus.osgi.CXFExtensionBundleListener unregister
INFO: Removing the extensions for bundle 253
Plugins and features can be found in the plugins/
and features/
folders of the KNIME executor directory.
$ ls -al /opt/knime-latest/plugins/ | grep ***
-rw-r--r-- 1 knime knime 24395 Feb 13 12:40 com.***.plugin_1.3.1.202001271554.jar
$ ls -al /opt/knime-latest/features/ | grep ***
drwxr-xr-x 3 knime knime 4096 Feb 13 12:40 com.***.feature_1.3.1.202001271554
When executing a workflow with a custom node on the server, we get the following exception:
13-Feb-2020 12:58:37.720 WARNING [KNIME-RMI-syserr-50100] com.knime.enterprise.server.executor.rmi.ProcessOutputConsumer.logOutput ERROR RMI TCP Connection(16)-127.0.0.1 StackTraceElement No such node ID: 3
java.lang.IllegalArgumentException: No such node ID: 3
at org.knime.core.node.workflow.WorkflowManager.getNodeContainer(WorkflowManager.java:6462)
at org.knime.core.node.workflow.WorkflowManager.removeProject(WorkflowManager.java:711)
at com.knime.enterprise.executor.JobPool.loadWorkflow(JobPool.java:238)
at com.knime.enterprise.executor.rmi.RMIWorkflowExecutor.lambda$1(RMIWorkflowExecutor.java:466)
at com.knime.enterprise.executor.rmi.RMIUtil.runWithContextFinder(RMIUtil.java:88)
at com.knime.enterprise.executor.rmi.RMIWorkflowExecutor.loadWorkflow(RMIWorkflowExecutor.java:466)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Runtime logs of runtime 50100 give a bit more insights:
2020-02-13 12:57:50,525 : WARN : RMI TCP Connection(14)-127.0.0.1 : a8a3340c-137a-4bc8-aa96-a126dc6cc02b : Node : MISSING *** Connector : 3:1 : Node can't be executed - Node "***" not available from extension "KNIME Nodes for ***" (plugin "com.***.plugin" is not installed)
To wrap this up: I have a KNIME executor with my features installed via P2 director. When trying to run a workflow with my custom nodes on this executor, I get an error message indicating the executor is not aware of my features/plugins although features/plugins are available in the executor’s directories.
More remarks:
- Restarting the server does not help
- The same setup/procedure worked with KNIME Server 4.9 and KNIME 4.0
- I can successfully run workflows with only KNIME-provided nodes
Any hints about how to debug/solve this misery?
Best regards,
Daniel