Hi,
I have developed a node which processes rows in an independent way. To do this, I have extended AbstractCellFactory in my own class.
When I enable the multiprocessing flag:
this.setParallelProcessing(true);
and the input have around 70000 rows, I get the Exception [1]. It does not happen when the input is smaller (15000 rows).
Honestly, I don't know what I'm doing wrong and how can I extract more information about the root of the problem.
Another thing that I have tested is the following: using a Chunk Loop Start + Loop End i have split + accumulated the input in chunks of 15000 rows, and this works fine!
I would appreciate any comment / insights regarding how can I get more information of this problem.
Thanks in advance!
Oscar
[1]
2013-02-06 13:48:30,271 DEBUG KNIME-Worker-8 RearrangeColumnsTable$ConcurrentNewColCalculator : Unhandled exception in processFinished
org.knime.core.data.container.DataContainerException: Writing to table process threw "InterruptedException"
at org.knime.core.data.container.DataContainer.checkAsyncWriteThrowable(DataContainer.java:579)
at org.knime.core.data.container.DataContainer.addRowToTable(DataContainer.java:840)
at org.knime.core.data.container.RearrangeColumnsTable$ConcurrentNewColCalculator.processFinished(RearrangeColumnsTable.java:728)
at org.knime.core.util.MultiThreadWorker.callProcessFinished(MultiThreadWorker.java:319)
at org.knime.core.util.MultiThreadWorker.access$0(MultiThreadWorker.java:301)
at org.knime.core.util.MultiThreadWorker$ComputationTask.done(MultiThreadWorker.java:457)
at java.util.concurrent.FutureTask$Sync.innerSet(FutureTask.java:281)
at java.util.concurrent.FutureTask.set(FutureTask.java:141)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:339)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:124)
at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:239)
Caused by: java.lang.InterruptedException
at java.util.concurrent.Exchanger.exchange(Exchanger.java:685)
at org.knime.core.data.container.DataContainer$ASyncWriteCallable.call(DataContainer.java:1336)
at org.knime.core.data.container.DataContainer$ASyncWriteCallable.call(DataContainer.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)