Row Filter fails with "Execute failed: Error while writing to buffer"

Hi,

something really wired happened today when filtering rows using the new Row Filter node.

2024-12-22 22:51:09,259 : ERROR : KNIME-Worker-167-Row Filter 3:1577:0:1949 :  : Node : Row Filter : 3:1577:0:1949 : Execute failed: Error while writing to buffer, failed to write to file "knime_container_20241222_4167642328395208954.bin.gz": class org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable cannot be cast to class org.knime.core.data.container.BufferedContainerTable (org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @7ea992e8; org.knime.core.data.container.BufferedContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @75a4c2f)
java.lang.RuntimeException: Error while writing to buffer, failed to write to file "knime_container_20241222_4167642328395208954.bin.gz": class org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable cannot be cast to class org.knime.core.data.container.BufferedContainerTable (org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @7ea992e8; org.knime.core.data.container.BufferedContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @75a4c2f)
	at org.knime.core.data.container.Buffer.addRow(Buffer.java:829)
	at org.knime.core.data.container.BufferedDataContainerDelegate.addRowToTableWrite(BufferedDataContainerDelegate.java:321)
	at org.knime.core.data.container.BufferedDataContainerDelegate.addRowToTableAsynchronously(BufferedDataContainerDelegate.java:628)
	at org.knime.core.data.container.BufferedDataContainerDelegate.addRowToTable(BufferedDataContainerDelegate.java:554)
	at org.knime.core.data.container.DataContainer.addRowToTable(DataContainer.java:269)
	at org.knime.core.data.container.BufferedRowContainer.commit(BufferedRowContainer.java:93)
	at org.knime.base.node.preproc.filter.row3.RowFilterNodeModel.execute(RowFilterNodeModel.java:178)
	at org.knime.base.node.preproc.filter.row3.RowFilterNodeModel.execute(RowFilterNodeModel.java:1)
	at org.knime.core.webui.node.impl.WebUINodeModel.execute(WebUINodeModel.java:153)
	at org.knime.core.node.NodeModel.executeModel(NodeModel.java:596)
	at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1284)
	at org.knime.core.node.Node.execute(Node.java:1049)
	at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:603)
	at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:98)
	at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:198)
	at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117)
	at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:369)
	at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:223)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/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.lang.ClassCastException: class org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable cannot be cast to class org.knime.core.data.container.BufferedContainerTable (org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @7ea992e8; org.knime.core.data.container.BufferedContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @75a4c2f)
	at org.knime.core.data.container.Buffer.handleIncomingBlob(Buffer.java:993)
	at org.knime.core.data.container.Buffer.handleIncomingBlob(Buffer.java:941)
	at org.knime.core.data.container.Buffer.saveBlobsAndFileStores(Buffer.java:897)
	at org.knime.core.data.container.Buffer.addRow(Buffer.java:811)
	... 21 more

Trying the Rule-based Row Filter resulted in the same error:

org.knime.core.node.InvalidSettingsException: line 5, col 19: Expected: =>
	at org.knime.base.node.rules.engine.RulePanel.saveSettings(RulePanel.java:571)
	at org.knime.base.node.rules.engine.RuleEngineNodeDialog.saveSettingsTo(RuleEngineNodeDialog.java:114)
	at org.knime.core.node.NodeDialogPane.internalSaveSettingsTo(NodeDialogPane.java:553)
	at org.knime.core.node.NodeDialogPane$4.run(NodeDialogPane.java:792)
	at org.knime.core.node.util.ViewUtils$3.run(ViewUtils.java:353)
	at org.knime.core.node.util.ViewUtils$2.run(ViewUtils.java:155)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.text.ParseException: line 5, col 19: Expected: =>
	at org.knime.base.node.rules.engine.BaseRuleParser$ParseState.consumeText(BaseRuleParser.java:292)
	at org.knime.base.node.rules.engine.SimpleRuleParser.parseOutcome(SimpleRuleParser.java:262)
	at org.knime.base.node.rules.engine.SimpleRuleParser.parse(SimpleRuleParser.java:232)
	at org.knime.base.node.rules.engine.RuleFactory.parse(RuleFactory.java:191)
	at org.knime.base.node.rules.engine.RulePanel.computeRules(RulePanel.java:468)
	at org.knime.base.node.rules.engine.RulePanel.computeRules(RulePanel.java:496)
	at org.knime.base.node.rules.engine.RulePanel.computeRules(RulePanel.java:507)
	at org.knime.base.node.rules.engine.RulePanel.saveSettings(RulePanel.java:569)
	... 18 more
2024-12-22 22:54:03,441 : ERROR : KNIME-Worker-170-Rule-based Row Filter 3:1577:0:1950 :  : Node : Rule-based Row Filter : 3:1577:0:1950 : Execute failed: Error while writing to buffer, failed to write to file "knime_container_20241222_10738384657902142784.bin.gz": class org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable cannot be cast to class org.knime.core.data.container.BufferedContainerTable (org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @7ea992e8; org.knime.core.data.container.BufferedContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @75a4c2f)
java.lang.RuntimeException: Error while writing to buffer, failed to write to file "knime_container_20241222_10738384657902142784.bin.gz": class org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable cannot be cast to class org.knime.core.data.container.BufferedContainerTable (org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @7ea992e8; org.knime.core.data.container.BufferedContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @75a4c2f)
	at org.knime.core.data.container.Buffer.addRow(Buffer.java:829)
	at org.knime.core.data.container.BufferedDataContainerDelegate.addRowToTableWrite(BufferedDataContainerDelegate.java:321)
	at org.knime.core.data.container.BufferedDataContainerDelegate.addRowToTableAsynchronously(BufferedDataContainerDelegate.java:628)
	at org.knime.core.data.container.BufferedDataContainerDelegate.addRowToTable(BufferedDataContainerDelegate.java:554)
	at org.knime.core.data.container.DataContainer.addRowToTable(DataContainer.java:269)
	at org.knime.core.node.streamable.BufferedDataTableRowOutput.push(BufferedDataTableRowOutput.java:79)
	at org.knime.base.node.rules.engine.RuleEngineFilterNodeModel.execute(RuleEngineFilterNodeModel.java:222)
	at org.knime.base.node.rules.engine.RuleEngineFilterNodeModel.execute(RuleEngineFilterNodeModel.java:144)
	at org.knime.core.node.NodeModel.execute(NodeModel.java:820)
	at org.knime.core.node.NodeModel.executeModel(NodeModel.java:596)
	at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1284)
	at org.knime.core.node.Node.execute(Node.java:1049)
	at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:603)
	at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:98)
	at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:198)
	at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117)
	at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:369)
	at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:223)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/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.lang.ClassCastException: class org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable cannot be cast to class org.knime.core.data.container.BufferedContainerTable (org.knime.core.data.columnar.table.ColumnarContainerTableLoader$SavedColumnarContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @7ea992e8; org.knime.core.data.container.BufferedContainerTable is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @75a4c2f)
	at org.knime.core.data.container.Buffer.handleIncomingBlob(Buffer.java:993)
	at org.knime.core.data.container.Buffer.handleIncomingBlob(Buffer.java:941)
	at org.knime.core.data.container.Buffer.saveBlobsAndFileStores(Buffer.java:897)
	at org.knime.core.data.container.Buffer.addRow(Buffer.java:811)
	... 21 more

Here is the thread dump:

241222 Knime Topic 85454 threaddump-1734904538324.tdump.txt (68.8 KB)

Best
Mike