Here is a summary of what I’ve learned so far:
- We have a channel in a channel set that downloads files based on a list provided by our clients.
- This list contains as many as 54 packages (collections of files) in it at a time.
- The core logic of this channel is as follows:
- Loop through the list of packages provided to us (in an INI file)
- For each package provided, loop through the list of packages available for download and download it when the two are equal.
- After 41 iterations of the outer loop, the while loop exists, even though the break condition hasn’t been met.
- Any additional statements after the loop are executed. I’ve told it to print the counters it was using, so this is where the 41 came from.
I did some additional testing in L1 and built a simpler channel that gives the same effect. This one stops after about 88 iterations with 250 files available. Attached is the worklist export. I also saw it download file 1 again after reaching file 45, suggesting some kind of logic breakdown around that point.