commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcus Klein (JIRA)" <>
Subject [jira] Commented: (FILEUPLOAD-141) Remove FileItems if FileUploadBase.parseRequest() fails
Date Tue, 24 Jul 2007 07:41:31 GMT


Marcus Klein commented on FILEUPLOAD-141:

I think that the commons-fileupload API is especially used in server environments. Hanging
files are always an issue in server environments in my opinion. Every unused file descriptor
wastes resources in a server environment that may lead to problems due to always limited system

Can you please explain the compatibility problems that will occur with my suggested changes?
How could cause calling delete() on not referenced FileItem objects any problems?

> Remove FileItems if FileUploadBase.parseRequest() fails
> -------------------------------------------------------
>                 Key: FILEUPLOAD-141
>                 URL:
>             Project: Commons FileUpload
>          Issue Type: Improvement
>    Affects Versions: 1.2
>         Environment: commons-fileupload is used for parsing multipart/form-data POST
requests in servlets.
> OS: Linux
>            Reporter: Marcus Klein
> If the method FileUploadBase.parseRequest() throws a FileUploadException, the already
parsed FileItem objects are not accessible and removed by the garbage collector. Now expect
a fileupload that fills the servers hard disc with FileItems until no space is left on the
device. The method parseRequest() throws a FileUploadException and there are several FileItem
objects that still exist in the device because the garbage collector does not run and removes
them. This causes failing fileuploads until the garbage collector runs and removes the lost
FileItem objects. I suggest calling FileItem.delete() on all FileItem objects created in the
method FileUploadBase.parseRequest() if the method is left with a FileUploadException.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message