Hi
For a few years we’ve been hitting a bug where we get the error along the lines of:
ERROR Row Filter 0:9782 Execute failed: Blob file location “C:\development\applications\knime\knime_4.1.0_oracle-jre\col_14\000\000” does not exist
I believe there have been posts on this issue in the past but not sure where they are.
The problem appears to be that KNIME starts looking in the install directory not the workflow directory for some data.
We’ve had trouble reproducing the bug but I’ve now managed to find some steps that cause it.
The steps in my workflow that don’t trigger it:
- Run the rule engine
- Run the row filter
The steps in my workflow that trigger it:
- Run the rule engine
- Run the filter
- View the output table
- Sort on a column
- Without closing the table view re-run both nodes
Having a sorted table view open triggers the bug.
KNIME log during these actions
2020-07-03 15:14:30,382 : DEBUG : KNIME-Worker-58-Rule Engine 2:9659 : : Node : Row Filter : 2:9782 : Configure succeeded. (Row Filter)
2020-07-03 15:14:30,383 : DEBUG : KNIME-Worker-58-Rule Engine 2:9659 : : NodeContainer : Rule Engine : 2:9659 : Row Filter 2:9782 has new state: CONFIGURED_QUEUED
2020-07-03 15:14:30,393 : DEBUG : KNIME-BackgroundTableWriter-1 : : Buffer : Rule Engine : 2:9659 : Buffer file (C:\Users\samuel\AppData\Local\Temp\knime_Bug36916\knime_container_20200703_8427763946115024627.bin.snappy) is 0.009MB in size
2020-07-03 15:14:30,470 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : WorkflowManager : Row Filter : 2:9782 : Row Filter 2:9782 doBeforePreExecution
2020-07-03 15:14:30,470 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : NodeContainer : Row Filter : 2:9782 : Row Filter 2:9782 has new state: PREEXECUTE
2020-07-03 15:14:30,470 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : WorkflowDataRepository : Row Filter : 2:9782 : Adding handler 599f5edd-7fda-499c-bd87-80b967282888 (Row Filter 2:9782: ) - 3 in total
2020-07-03 15:14:30,470 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : WorkflowManager : Row Filter : 2:9782 : Row Filter 2:9782 doBeforeExecution
2020-07-03 15:14:30,470 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : NodeContainer : Row Filter : 2:9782 : Row Filter 2:9782 has new state: EXECUTING
2020-07-03 15:14:30,470 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : LocalNodeExecutionJob : Row Filter : 2:9782 : Row Filter 2:9782 Start execute
2020-07-03 15:14:30,471 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : BufferSettings : Row Filter : 2:9782 : Using table format org.knime.core.data.container.DefaultTableStoreFormat
2020-07-03 15:14:30,486 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : Node : Row Filter : 2:9782 : reset
2020-07-03 15:14:30,486 : ERROR : KNIME-Worker-59-Row Filter 2:9782 : : Node : Row Filter : 2:9782 : Execute failed: Blob file location “C:\development\applications\knime\knime_4.1.0_oracle-jre\col_14\000\000” does not exist
org.knime.core.data.container.DataContainerException: Blob file location “C:\development\applications\knime\knime_4.1.0_oracle-jre\col_14\000\000” does not exist
at org.knime.core.data.container.DataContainer.checkAsyncWriteThrowable(DataContainer.java:468)
at org.knime.core.data.container.DataContainer.close(DataContainer.java:574)
at org.knime.base.node.preproc.filter.row.RowFilterNodeModel.execute(RowFilterNodeModel.java:237)
at org.knime.core.node.NodeModel.execute(NodeModel.java:737)
at org.knime.core.node.NodeModel.executeModel(NodeModel.java:571)
at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1236)
at org.knime.core.node.Node.execute(Node.java:1016)
at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:557)
at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)
at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:218)
at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:124)
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(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
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.io.IOException: Blob file location “C:\development\applications\knime\knime_4.1.0_oracle-jre\col_14\000\000” does not exist
at org.knime.core.data.container.Buffer.getBlobFile(Buffer.java:1586)
at org.knime.core.data.container.Buffer.handleIncomingBlob(Buffer.java:1047)
at org.knime.core.data.container.Buffer.handleIncomingBlob(Buffer.java:912)
at org.knime.core.data.container.Buffer.saveBlobsAndFileStores(Buffer.java:868)
at org.knime.core.data.container.Buffer.saveBlobsAndFileStores(Buffer.java:841)
at org.knime.core.data.container.DataContainer$ContainerRunnable.run(DataContainer.java:1232)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
2020-07-03 15:14:30,487 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : WorkflowManager : Row Filter : 2:9782 : Row Filter 2:9782 doBeforePostExecution
2020-07-03 15:14:30,487 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : NodeContainer : Row Filter : 2:9782 : Row Filter 2:9782 has new state: POSTEXECUTE
2020-07-03 15:14:30,487 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : WorkflowManager : Row Filter : 2:9782 : Row Filter 2:9782 doAfterExecute - failure
2020-07-03 15:14:30,487 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : Node : Row Filter : 2:9782 : reset
2020-07-03 15:14:30,487 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : Node : Row Filter : 2:9782 : clean output ports.
2020-07-03 15:14:30,487 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : WorkflowDataRepository : Row Filter : 2:9782 : Removing handler 599f5edd-7fda-499c-bd87-80b967282888 (Row Filter 2:9782: ) - 2 remaining
2020-07-03 15:14:30,487 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : NodeContainer : Row Filter : 2:9782 : Row Filter 2:9782 has new state: IDLE
2020-07-03 15:14:30,487 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : Node : Row Filter : 2:9782 : Configure succeeded. (Row Filter)
2020-07-03 15:14:30,487 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : NodeContainer : Row Filter : 2:9782 : Row Filter 2:9782 has new state: CONFIGURED
2020-07-03 15:14:30,488 : DEBUG : KNIME-Worker-59-Row Filter 2:9782 : : NodeContainer : Row Filter : 2:9782 : Bug 2 has new state: CONFIGURED
Happy to send the log file and workflow privately, just let me know where.
Disclaimer: I’ve bundled my only java distribution (oracle JRE) as we can’t use the openjdk version due to missing javafx and I have a number of internal integrations installed.
Cheers
Sam