Knime server Python serialization error

Hi all,

We recently updated our Knime server (to version 4.8). Since then however the Knime server is unable to execute workflows with Python nodes. Whenever a Python node is executed on the server we receive the following error:

’Python Source 0:3 - ERROR: Execute failed: The selected serialization library with id org.knime.serialization.csv was not found. Please make sure to install the correspondent plugin or select a different serialization library in the Python preference page.'

Aside from the flatbuffers, we also tried to use arrow/csv serializations, but these grant similar error messages. We have installed the required libraries on the server and added the path in the config file. Somehow however the Knime server seems unable to find them.

Has anyone here encountered this issue before?

Regards,

Maarten

Just wanted to confirm that the Python library that you updated on the server corresponds to the Python library that KNIME Server is setup to use.

Thanks for your reply,

Yes, we created the anaconda environments with the scripts provided by Knime. We refer to these environments in the config file:

/instance/org.knime.python2/defaultPythonOption=python3
/instance/org.knime.python2/python2Path=/home/knime/python/python27.sh
/instance/org.knime.python2/python3Path=/home/knime/python/python36.sh
/instance/org.knime.python2/serializerId=org.knime.serialization.flatbuffers.column

Regards,

Maarten

Hi Maarten,

It looks like the error message could indicate an issue with the installation of the Python extension. I would recommend trying to run the update-rmi.sh script a second time (if you used that option), also make sure that you set the permissions correctly in the executor directory.

A second option is to try a fresh download of an executor, and update the installation to use that executor. See e.g. com.knime.server.executor.knime_exe= in the knime-server.config file (for RMI executors).

Best,

Jon

1 Like

HI,

Thanks! We tried running the update script several times but that didnt work. Using a fresh executor however did the trick.

Thanks,

Maarten

1 Like