ws.palladian.retrieval.HttpResult.getLocations()Ljava/util/List;

Hello,

When requesting some URLs, I get this error with the HTTP Retriever node:

Execute failed: ws.palladian.retrieval.HttpResult.getLocations()Ljava/util/List;

Here is an example workflow.
JD_Palladian.knwf (17.5 KB)

I just updated Knime to 4.3.2 and I’m using the latest Palladian as well.

BR
Sébastien

Hi Sébastien,

I tried this locally with the latest versions, but cannot reproduce the problem. The nodes execute just fine for me. Just to be sure, could you please share the precise Palladian version (as shown in the “About KNIME” dialog). Additionally, a debug log output from the log file which should contain a stack trace would be very helpful.

Many thanks!
Philipp

Hello,
Thanks for your responsiveness as usual.

Here is a screenshot of my Palladian version.

and here is the debug log:

2021-03-19 09:30:25,097 : ERROR : KNIME-Worker-15-HTTP Retriever 0:2146 : : Node : HTTP Retriever : 0:2146 : Execute failed: ws.palladian.retrieval.HttpResult.getLocations()Ljava/util/List;
org.knime.core.data.container.DataContainerException: ws.palladian.retrieval.HttpResult.getLocations()Ljava/util/List;
at org.knime.core.data.container.BufferedDataContainerDelegate.checkAsyncWriteThrowable(BufferedDataContainerDelegate.java:379)
at org.knime.core.data.container.BufferedDataContainerDelegate.close(BufferedDataContainerDelegate.java:444)
at org.knime.core.data.container.DataContainer.close(DataContainer.java:340)
at org.knime.core.data.container.RearrangeColumnsTable.create(RearrangeColumnsTable.java:410)
at org.knime.core.node.ExecutionContext.createColumnRearrangeTable(ExecutionContext.java:430)
at ws.palladian.nodes.retrieval.HttpRetrieverNodeModel2.execute(HttpRetrieverNodeModel2.java:97)
at org.knime.core.node.NodeModel.execute(NodeModel.java:747)
at org.knime.core.node.NodeModel.executeModel(NodeModel.java:576)
at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1245)
at org.knime.core.node.Node.execute(Node.java:1025)
at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:558)
at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)
at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:201)
at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117)
at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:334)
at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:210)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)
Caused by: java.lang.NoSuchMethodError: ws.palladian.retrieval.HttpResult.getLocations()Ljava/util/List;
at ws.palladian.nodes.retrieval.HttpResultCellDelegate$AbstractHttpResultCellSerializer.serialize(HttpResultCellDelegate.java:51)
at org.knime.core.data.container.DCObjectOutputVersion2.writeDataCellPerKNIMESerializer(DCObjectOutputVersion2.java:97)
at org.knime.core.data.container.Buffer.writeBlobDataCell(Buffer.java:1149)
at org.knime.core.data.container.Buffer.handleIncomingBlob(Buffer.java:1083)
at org.knime.core.data.container.Buffer.saveBlobsAndFileStores(Buffer.java:877)
at org.knime.core.data.container.Buffer.saveBlobsAndFileStores(Buffer.java:850)
at org.knime.core.data.container.BufferedDataContainerDelegate$ContainerRunnable.run(BufferedDataContainerDelegate.java:765)
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)

Thanks
Sébastien

I should mention that I was running Palladian’s “Master” update branch before, and I uninstalled it before installing it from the “4.3” update site again.

Hi Sébastien,

many thanks for the details!

I recall that we had this issue in the pre-release version, but we fixed it and it should definitely not occur in the released 2.4 version. The error suggests, that the Palladian KNIME node code accesses an older version of the core Palladian lib (hence the java.lang.NoSuchMethodError). This in turn suggests, that something with the KNIME installation is messed up.

The forum often suggests the ominous -clean parameter for fixing any kind of issues related to broken extension installations, so I think this would be worth giving a try (see e.g. here for instructions)

If this still does not help (and I really dislike giving this recommendation), it would be worth to try with a fresh KNIME installation.

Fingers crossed that the -clean switch will fix this – please keep me posted here!

Thanks,
Philipp

2 Likes

Funnily enough, the -clean switch worked :slight_smile:

Thank you!
Sébastien

2 Likes

:partying_face: Awesome, happy to hear!

– Philipp

Hi I am having the same issue… I will try this as well

It worked running from command prompt knime -clean!
Shall I do it every time? Change the ini file?
I was not sure reading the thread.

L.

:+1:

Trying to make some more sense why this happens: Did you use the pre-release version before upgrading to 2.4?

Doing it once should be sufficient! So don’t add it to the .ini as it would likely delay startup times.

–Philipp

(sorry for the late reply… )
I am not sure if I did use the pre-release. Is there a way to tell?

@zioludo No problem :slight_smile:

If you were using an update site URL for Palladian which does not end with a version number (e.g. as in https://download.nodepit.com/palladian/4.3) then you were using a pre-release version.

Would be great to get a quick feedback, so that we can further investigate this!

Many thanks,
Philipp

Those are my settings. Shall I change something?

Generally all good. I suggest to edit the Location for Palladian to end with /4.3 though to match the rest. This will not cause any troubles however.