Workflow cannot be launched on the server because of the version difference

Hello,

I tried to deploy my workflow on the server, but I got this error.

Could not load workflow ‘https://~~’ for 8496af67-38df-4867-85d4-cb123a78bdce: Unable to load workflow ‘/KNIME_project_server’: Unable to load workflow, it was created with a future version of KNIME (4.6.1.v202207182243). You are running 4.5.2.v202203091352.

It seems that the workflow is created with a too recent version while the version of server is not recent.

How can I solve this problem ? I don’t know how to downgrade the KNIME software… it is necessary ?

Thank you.

Best,

Hello @PUKimSu

I see two options here.

The first is that you download a previous release of KNIME (4.5.2): Previous Versions | KNIME so you can reopen your workflow with that version and then try again the publication to the Server. Bear in mind that you need to backup all of your knime-workspace workflows to another folder before uninstalling.

The second possible solution is similar to what I experienced in my company using an AWS instance of Knime Server, together with the technical support, we upgraded the server to a current version so we can publish workflows with latest version.

If none of this works for you, I then suggest to get in touch with the Knime Server Technical Support.

Hope this helps.

Cheers.

1 Like

Hello,

As @eamendola mentioned, you have a few choices for how to deal with this.

The root problem is that you want your analytics platform (AP) and executor (KE) to match versions, so that your workflows execute 100% as expected. When there is an executor/AP version difference, some nodes may have had updates on one version versus another, so it may work one way in the AP and a different way when executed on the server.

With very minor version jumps, this is a minor concern, but the larger the version difference, the more likely changes in nodes may have occurred, and the higher the number of nodes that may have had updates. (Consider how many nodes may have had changes made between AP 4.6.0 to 4.6.1, versus how many between, say, 4.3.3 and 4.5.2.)

So, the ideal is that AP version == KE version.

There are three ways to resolve this:

#1 Upgrade the server/executor to match the AP version. Your error message suggests that the KE is on 4.5.2, and your AP on 4.6.1. So the KE is behind. (Likely KS ver 4.14.2/KE 4.5.2.) Upgrading the server to KS 4.15.1/KE 4.6.1 will update to latest and match executor/AP versions so the workflow will work.

#2 Downgrade your AP back to 4.5.2 by downloading the older version again and reopening the old version of the workflow (if you still have one.) This will put your AP version in lockstep with the current KE, but you’ll lose out on some of the improvements since 4.5.2.

#3 Per the KNIME Server Admin Guide [1], the server admin can change the following value in knime-server.config:
{
com.knime.server.executor.reject_future_workflows=<true|false> [RT]
Specifies whether the Executor should reject loading workflows that have been create with future versions. For new installations the value is set to true. If no value is specified the Executor will always try to load and execute any workflow by default.
}

This value ships with =true, hence why it rejected your workflow execution and gave you the error message.
If it is tweaked to =false, it will allow the execution even with the version difference, though, caveat emptor - the old 4.5.2 executor may not execute all of your nodes the same way your 4.6.1 AP does, so YMMV on final results (though in practice, the delta is likely to be incredibly small, if any, depends on your workflow really.)

So, there you have it. 3 options for resolution.

Regards,
Nickolaus

[1] KNIME Server Administration Guide

2 Likes

Thank you so much :slight_smile:

1 Like

Thank you so much !!