issue with Chunk loop start / loop end - skipping first row (0)

Hi Guys,

i’m seeing a very strange behaviour with the “chunk loop start node”. i have the following flow, where i’m trying to convert a list of files to another format (rdf),

for writing to the text files, i have metanodes which typically all look like:

if i run the flow manually, it starts at “0”

it generates the files i’m trying to output

but when i run the loop; these on index0 get not “regenerated”; those on index1 and index2 get correctly regenerated

any idea where this comes from?
or how to work around (without a “row to variables start” and “row filter” setup)

Thx!

H

Hey @hermyknime,

I’m not sure if the sequence of node execution is as you expected.
What is the difference in your statements “run manually” and “run”?
Please explain this in more detail. In the meantime, maybe adding some workflow-dependencies would do the trick.

Kind regards,

Patrick

Hi Patrick,

Thx for your reply!

to give you some more info on the “manual” versus “run”

manual run:
–basically when building the flow, you just execute the “chunk loop start” with F7, it will fetch the first row and initialize the iteration variables; in my case “max iterations = 3” and “current iteration = 0”.
while continuing to build the flow, in each node, these values are used, and not incremented

normal run:
–basically, by
a) resetting the “chunk loop start” node - has state ‘yellow’
b) selecting the “loop end” node and executing it via F7 (is expected to iterate through all the iterations as indicated in the “loop start flow variables”

i tried your work-around, by incorporating a couple of node steps in the loop and it seems to work as expected: i.e. looping over the 3(all) record iterations

however, still, i don’t see a valid use-case for the loop start / end - with only a subtree - to skip the first iteration0… as one would expect it as default bevaiour :slight_smile:

Thx

Herman

Hey @hermyknime,

OK, got it. In “manual run mode” you execute the nodes one by one while in “run” you just run the last node and KNIME executes the whole flow to get there.

My strongest guess is still, that there is something in trouble with the sequence of node execution. That’s the main difference between your manual-controlled and full-auto run.

I suggest the following approach:

  • Reset the workflow completely.
  • Run the workflow (Shift + F7) and watch the progress bars on each node.
  • If one of the nodes starts earlier than expected, investigate and set run-conditions (predecessor / successor - connections - aka “the red lines”) if necessary.
  • If the nodes run in expected sequence, split the data flow into a file writer node to see what is passed exactly in what loop. Based on that, investigate further.

Sorry for not waving the magic wand and solving your problem - it does look like you’ve to dive deeper into it.

Kind regards,

Patrick.

Hi @hermyknime,

about your workflow.
Even so it is possible, we don’t recommend that branches do leave the loop. Especially in your case it seems most of the work is done in side branches.
I would recommend connecting the metanode with flow variables to the loop end node.

Cheers, Iris

1 Like

Hello, noticed something similar where my loop end wouldn’t “kick off as i expected it to kick off.”

I erased all “legs” that didn’t pertain to the primary algorithm (arrangement of nodes)

Once I removed all random legs, it began looping as it always loops. Hope this helps someone.

use case; can’t get start loop to repeat and send iterations to end loop…

  1. save backup
  2. erase random legs that don’t pertain to primary workflow
  3. loop end begins working

Best,
Tyler

1 Like