Parallel processing array.each() duplicates tmp-xxx.upload files on every loop, crashing the server

Description

I am handling an upload using fileUpload() inside a coldbox application. It was initially in a model, where I was unzipping the uploaded file, importing CSV files then processing the database using array.each with parallel = true in several locations. Every time the loops ran, the server duplicates the tmp-xxx.upload file in the \WEB-INF\lucee-web\temp folder. This only happens when the parallel = true flag is passed.

It doesn't matter whether the fileUpload() function is in the model or the handler. It duplicated the 10MB zip folder so many times it ate 126GB of hard drive space and crashed the database in under 5 minutes.

Environment

Windows/commandbox/coldbox6

Activity

Show:

John Wilson 6 September 2020 at 16:22

Potentially related bug:

Pothys - MitrahSoft 2 June 2020 at 16:04

I've checked this ticket and confirmed the issue happened on lucee latest version 5.3.8.0-SNAPSHOT also. Using fileupload and with arrayeach parallel=true created the temp.upload file in temp directory. Almost big gb size files are created. Also created so many files in destination directory too.

Fixed

Details

Assignee

Reporter

Priority

Fix versions

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

Sprint

Affects versions

Created 31 May 2020 at 14:30
Updated 16 May 2023 at 09:49
Resolved 22 June 2020 at 12:26