Feedback Thread for the new Columnar Table Backend

Hi,
i’ve noticed that the new table manipulator node is incompatible with columnar table backend.
Switching to the old default setting, it is working like a charm.

Luca

Hi @Luca_Italy.

Thanks for reaching out. What is the effect you see when switching to the new backend?

Best,

Christian

Something like this:


the preview is not available thus the node got stuck in error.

2 Likes

Thank you! We’ll have a look!

We had a look. understood the problem. Working on a fix… sorry for the trouble and thanks for reporting - that’s exactly what we need now!

2 Likes

Hi, i’m here again :slight_smile:
The row filter (labs) doesn’t work with columnar backend.

Luca

2 Likes

We found the problem and will fix it asap. Thanks again for reporting.

1 Like

Hi,
when I´m using the “Create Date&Time Range” Note the following error occures:
ERROR Create Date&Time Range 0:5 Execute failed: Unable to create DataContainerDelegate for ColumnarTableBackend.

Hey @goodvirus, thanks for reaching out. I just tried to reproduce the problem, but for me the node works as expected with the new Columnar backend. Some questions which might help narrowing down the problem:

  1. Do you have any specific settings in the node?
  2. Did you install the Columnar Backend from the Labs update-site?
  3. Any chance you can share the related log output View -> Open Log in the top navigation. You should be able to find ERROR Create Date&Time Range 0:5 Execute failed: …?

Thanks in advance :slight_smile:

Christian

Hi christian,

I fixed the error. I don’t know why but the configuration of backend was defect.

Bevor the configuration was as seen in the Screenshot:

An the following error was thrown.

2020-12-22 17:43:19,532 : ERROR : KNIME-Worker-0-Create Date&Time Range 3:5 : : Node : Create Date&Time Range : 3:5 : Execute failed: Unable to create DataContainerDelegate for ColumnarTableBackend.
java.lang.IllegalStateException: Unable to create DataContainerDelegate for ColumnarTableBackend.
at org.knime.core.data.columnar.ColumnarTableBackend.create(ColumnarTableBackend.java:111)
at org.knime.core.data.container.DataContainer.(DataContainer.java:266)
at org.knime.core.data.container.DataContainer.(DataContainer.java:229)
at org.knime.core.node.BufferedDataContainer.(BufferedDataContainer.java:156)
at org.knime.core.node.ExecutionContext.createDataContainer(ExecutionContext.java:407)
at org.knime.core.node.ExecutionContext.createDataContainer(ExecutionContext.java:368)
at org.knime.core.node.ExecutionContext.createDataContainer(ExecutionContext.java:337)
at org.knime.core.node.ExecutionContext.createDataContainer(ExecutionContext.java:316)
at org.knime.time.node.create.createdatetime.CreateDateTimeNodeModel.execute(CreateDateTimeNodeModel.java:242)
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.IllegalArgumentException: maximum weight must not be negative
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122)
at com.google.common.cache.CacheBuilder.maximumWeight(CacheBuilder.java:440)
at org.knime.core.columnar.cache.SizeBoundLruCache.(SizeBoundLruCache.java:106)
at org.knime.core.columnar.cache.CachedColumnStoreCache.(CachedColumnStoreCache.java:68)
at org.knime.core.data.columnar.preferences.ColumnarPreferenceUtils.getColumnDataCache(ColumnarPreferenceUtils.java:286)
at org.knime.core.data.columnar.preferences.ColumnarPreferenceUtils.wrap(ColumnarPreferenceUtils.java:308)
at org.knime.core.data.columnar.table.ColumnarRowContainer.(ColumnarRowContainer.java:112)
at org.knime.core.data.columnar.table.ColumnarRowContainer.create(ColumnarRowContainer.java:96)
at org.knime.core.data.columnar.table.ColumnarRowContainerUtils.createInternal(ColumnarRowContainerUtils.java:97)
at org.knime.core.data.columnar.table.ColumnarRowContainerUtils.createInternal(ColumnarRowContainerUtils.java:90)
at org.knime.core.data.columnar.table.ColumnarRowContainerUtils.create(ColumnarRowContainerUtils.java:85)
at org.knime.core.data.columnar.ColumnarTableBackend.create(ColumnarTableBackend.java:109)
… 22 more

After i clicked “Restore to Default” everything works.
So the only think not working ist the Checkbox “Use Default values”.
Also I never put -64 in…

Best Regards,

Paul

1 Like

Thank you @goodvirus. That’s helps a lot. I think what’s happening is that the auto-guessing of “good” default cache settings given your hardware spec fails for some reason. What machine are you running on?

Anyway, we will make sure to fix it asap. Any other observations with the new backend? Higher, lower performance in some cases?

Merry Christmas and thanks again for the feedback,

Christian

Hi @christian.dietz,
sorry for the late reply, I was on holidays.
I´m running on windows 10, 32 gb ram, Prozessor Intel® Core™ i7-8565U CPU @ 1.80GHz, 1992 MHz, 4 Cores, 8 logic Cores and an SSD.

Regarding the performance I have not really an idea how to measure it, but it feels to become a little bit faster.

Best Regards,

Paul

@goodvirus @Luca_Italy both issues have been fixed with 4.3.1 - Thanks again and please follow-up if you discover more problems, mysterious behavior or maybe also just some nice benchmarks for either performance gains or loss ;-).

To keep you a little in the loop what’s currently going on: We added LZ4 compression to the temporary format and did some more (minor) performance tweaks - however, those changes are only available in our nightly build.

I’ll keep you posted!

2 Likes

Hi,

I just upgraded my KNIME Desktop and installed the Columnar Table Backed package. Could you help me to figure out why the desktop seems to have defaulted to the old, and the Configuration option is greyed out?




2 posts were split to a new topic: KNIME Server and Column Storage