Executor profiles from server do not net get loaded on the server executor workspace - Access denied

Dears,
we have an issue with the creation of profiles when trying to restart knime executor. The following error can be found in the knime.log

2022-07-08 12:04:46,152 : ERROR : main : : ProfileManager : : : Could not download profiles from http://localhost:8080/knime/rest/v4/profiles/contents: F:\Knime\executor-workspace.metadata.plugins\org.knime.product\profile-download9211418627858993706 → F:\Knime\executor-workspace.metadata.plugins\org.knime.product\profiles. No profiles will be applied.
java.nio.file.AccessDeniedException: F:\Knime\executor-workspace.metadata.plugins\org.knime.product\profile-download9211418627858993706 → F:\Knime\executor-workspace.metadata.plugins\org.knime.product\profiles
at java.base/sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at java.base/sun.nio.fs.WindowsFileCopy.move(Unknown Source)
at java.base/sun.nio.fs.WindowsFileSystemProvider.move(Unknown Source)
at java.base/java.nio.file.Files.move(Unknown Source)
at org.knime.product.profiles.ProfileManager.downloadProfiles(ProfileManager.java:375)
at org.knime.product.profiles.ProfileManager.fetchProfileContents(ProfileManager.java:268)
at org.knime.product.profiles.ProfileManager.applyProfiles(ProfileManager.java:168)
at com.knime.enterprise.executor.KNIMEExecutorApplication.start(KNIMEExecutorApplication.java:45)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1461)

What we observed:

  • After restarting the executor the combined-preferences.epf is empty. Another folder ‘profile-download9211418627858993706’ is available and contains all the profiles that are specified in the knime.ini file.
  • There is no profile folder available under org.knime.product
  • Creating manually the folder profiles does not help.
  • The executor user is a local admin on the server and it can rename/create/adjust files and folders.

Do you have any suggestion how to tackle the issue?

BR
Cornelius

Hi @enr0c,

Looking the error we can see that a temporary folder for profiles was created when you started the executor and this folder was not able to map to the profiles folder due to access denied exception.

java.nio.file.AccessDeniedException: F:\Knime\executor-workspace.metadata.plugins\org.knime.product\profile-download9211418627858993706 → F:\Knime\executor-workspace.metadata.plugins\org.knime.product\profiles

We can try the following.

  1. Client Profiles are picked up from KNIME server location(workflow_repository/config/client-profiles), so make sure KNIME Server workflow_repository/* folder has correct permissions. If not please adjust the correct permissions.
  2. Delete the folder profile-download9211418627858993706 and try re-creating the issue by restarting your KNIME executor and KNIME Server.
  3. If the issue exists, then delete the folder again and try to start the executor manually using .start-executor.sh/bat (as administrator) command instead of running the executor as service and check for any issues in the logs.

We assume it is something to do with your permissions, let us know for any further queries.

Regards,
Nagarjun S

Many thanks for the hints. In the end it was the ownership of files. We need to perform any time we change some profile epfs the following steps in order to make the executor working properly.

  1. Rename the ‘temp’ profile folder from profile-download9211418627858993706 to profiles
  2. Change the ownership of the folder profiles including all subfolders/files to the account that runs the executor service (In our case the executor account is local admin and has all access it needs, but still we get an error)
  3. Restart the executor
  4. combined-preferences.epf gets immediately filled and its working

Do you have any idea why such behavior occurs?

Many thanks
Cornelius

anyone with an idea :slight_smile: ?

Hi @enr0c,

Well, it drills down to the user with which the KNIME Installation was done, we might face issues if this user permissions are different than the user who created the installable.

To overcome the issue, we suggest you to remove the already installed KNIME services on Windows. Make sure to check all of the folders under KNIME Server and KNIME Executor installation directory (including the hidden files) permissions are correct. Once you are confident about the permissions then we recommend you to install the services again and make sure to map the services to local account and try to re-create the issue.

Let us know your findings and thoughts.

Regards,
Nagarjun S