Possible regression around error handling in async iteration.

Description

If I am performing async iteration over an array and one of the parallel threads throws an error, Lucee (6.0.1.0) will:

  • Allow one more element iteration (per error).

  • Halt future iterations.

Adobe ColdFusion 2023 will continue iterating over the entire collection in parallel.

I have a demo of this here:

https://www.bennadel.com/blog/4573-follow-up-on-error-handling-during-async-iteration-in-coldfusion.htm

I also have another exploration of this from 4-years ago in Lucee 5.3.6.61

https://www.bennadel.com/blog/3911-a-closer-look-at-error-handling-during-parallel-array-iteration-in-lucee-cfml-5-3-6-61.htm

and back then, it seems that Lucee did what ACF did - iterate over the rest of the array even after an error is thrown.

So, not sure if this is a regression or an intended change; or if my demo is flawed.

Activity

Show:

Zac Spitzer 6 June 2024 at 15:27

Perhaps StopOnError as an option to support both behaviors?

Pothys - MitrahSoft 6 June 2024 at 14:58

I checked this ticket with the Lucee version 6.1.0.175-SNAPSHOT. When I run an async iteration over an array, if any issue occurs in the iteration it will allow the immediate next iteration to an error-thrown iteration to run and stop executing the remaining iterations.

Whereas in CF23, even though the error has been thrown in between an iteration, it will complete the run over the entire iteration.

will decide on this.

Details

Assignee

Reporter

Labels

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Affects versions

Priority

Created 6 January 2024 at 14:24
Updated 6 June 2024 at 15:27

Flag notifications