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:
Pothys - MitrahSoft
June 2, 2020, 4:04 PM

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.

Michael Offner
June 22, 2020, 9:48 AM
John Wilson
September 6, 2020, 4:22 PM

Potentially related bug:

Fixed

Assignee

Michael Offner

Reporter

John Wilson

Priority

Critical

Labels

Fix versions

Sprint

5.3.8 Sprint 3

Affects versions

Configure