Parallel Chunk End Execute failed: ("NullPointerException"): null

Using "parallel chunk start" and "parallel chunk end" nodes around a single calculation node (e.g. fingerprint) works fine unless you have only one row in your KNIME table. If this is the case, the parallel loop exits with:

ERROR Parallel Chunk End Execute failed: ("NullPointerException"): null

While it is obvious that a parallel loop doesnt make much sense for a single row, I have the issue of not knowing in advance how many rows I will load into my workflow.

Hrm, good point - there is a reasons those nodes are still on labs ;-)  We'll get this fixed with the next bug fix release. Although not really useful I do agree that the parallel chunking setup should handle 1 row, too...  A workaround may be the switches where you could go through a non-parallel loop when there are not enough rows. Not pretty, of course...

Thanks! Michael

You can use the 'Add empty rows' node to ensure that there are always at least 2 rows in the table (you can define what the added rows contain) as long as the rest of your loop can deal with what gets put in it - obviously you will then have to remove the final row if it is added to your table by this node after the loop executes.  Again, it's not pretty, but it might be easier that switching between different loops.

Steve

Michael, I just tried the "Java IF (table)" node to switch between to branches depending on the number of rows in the table. While switching output ports with the "Java IF (table)" node works fine, the "End IF" node isn't able to join the two branches together when the non-parallelized branch is used. The error of the "Parallel Chunk End" node seems to confuse the "End IF" node.

Steve, I tested your workaround and its doing the job for my issue. Thank you very much.

Hi Fabian,

first of: this will be fixed with 2.4.1 coming out in the next days.

I don't really understand your remarks regarding the nested if/chunk nodes - maybe you can send me your workflow? Thanks!

Michael