Loop End Errors

Dear all,

I have a few issues with the loop end perhaps some of them can be resolved with tools in place, and some other be flagged as bugs to be fixed. I am using: KNIME v2.3.0.0027960 on Helios Service Release 1.

Build id: 20100917-0705 

1) When nodes generate data with a different number of columns it would be nice if the loop end could behave in a similar fashion as the concatenate node, so that tables with different number of columns or columns with DifferentIDs can be aggregated correctly. Perhaps this is already feasible but i cannot seem to do it.

2) It seems that the Loop end does not like cells that are empty and of type "non native". I am trying to merge two tables that each have one row with the same columns but one of the table has empty data in its columns. I get this error:

ERROR Loop End data.DataValue]]Column 601 [name=WholeCells_PlasmaMembrane-EChaderin-TAS-LowHigh8_Median_Z',type=MissingCell] vs. [name=WholeCells_PlasmaMembrane-EChaderin-TAS-LowHigh8_Median_Z',type=Non-Native [interface org.knime.core.data.DataValue]] [name=WholeCells_PlasmaMembrane-EChaderin-TAS-LowHigh8_Median_Z',type=Non-Native [interface org.knime.core.data.DataValue]]Column 602...

3) When running a loop end 2 port, I get the following error (although somehow the results are aggregated correctly). I assume this is a similar issue as that described in 2):

ERROR Loop End (2 ports) CODING PROBLEM DataSpec generated by configure does not match spec after execution.

ERROR Loop End (2 ports) DataSpec generated by configure does not match spec after execution.
Hopefully this is a known issue that will be fixed soon, or that already has a workaround.

Hi Ghislain,

Regarding problem (2) and (3), I think you can use the Rename node before putting the data into the Loop End node in order to fix the column type to StringCell; later after the loop end this can be translated into any other type. Problem (1) needs more internal discussions on our end.

Cheers, Thomas

Almost four years, nothing changed?

I think these are symptoms of some still unsolved larger spec- and loop-related issues. Together with the choice to report errors via log rather than e.g. the eclipse error reporting framework, especially (3) gets really annoying. (Which is also the reason why i second the motion from this later thread to classify this particular error as a warning.)

Let me tell you why I think there should be solutions by an example: reading data from several, possibly empty csv's. The only way to do that in Knime is in a loop, but the "possibly empty" is where it gets funny. Rename doesn't work, switches don't help... I can solve some of the issues by some tricky jugling as in the attached flow, but not the cluttered log.

Don't get me wrong, I know that that's not what Knime was designed for, and I really like it for what it is. But often, something like the option to work with specs directly or to suppress warnings would really help, especially whenever flow control is in play. Verbose loops, retyping specs in Table Creators, then transforming them, with the constant warnings about empty tables, only because an End IF needs some specs... that really slows you down. Also, I'm sure that in many cases, loops could compute their own specs. At least they shouldn't need to completely throw them away between iterations, triggering warnings, errors, and flickering in Views...

Nice flow, good vent - feel better now? :-D You want to move this tool as much to perfection as I do, good stuff!


Yes I do, thanks :D