UploadedFileProcessorImpl not removing temporary files
------------------------------------------------------

                 Key: TRINIDAD-1024
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1024
             Project: MyFaces Trinidad
          Issue Type: Bug
          Components: Components
    Affects Versions: 1.2.2-core
         Environment: RedHat Enterprise Linux 5 (SMP Kernel  2.6.18)
Apache Tomcat 6.0.14
tomahawk 1.1.6
trinidad 1.2.2
JDK 6:
Java(TM) SE Runtime Environment (build 1.6.0_02-b05)
Java HotSpot(TM) Server VM (build 1.6.0_02-b05, mixed mode)
~~
Same behavior on Windows XP Pro SP2 with same Tomcat, JDK, and libraries
            Reporter: Jonathan Schwehm


We've noticed an issue with the default uploaded-file-processor on both Windows 
and Linux machines in the file upload part of our web application.  When a user 
uploads a file that's larger than UPLOAD_MAX_MEMORY, the 
UploadedFileProcessorImpl creates a temporary file.  If UPLOAD_TEMP_DIR is not 
specified, these files are going into 
<tomcathome>/work/Catalina/localhost/<webapp>.

The issue is that these temporary files aren't being removed.  On our Linux 
machines, they are usually removed when tomcat is stopped.  On Windows, more 
often than not they continue to persist. 

When the UPLOAD_TEMP_DIR is specified, the temporary files are placed in that 
folder, but are still not deleted.  I've ensured on our Linux machine that the 
temporary folder has full permissions for all and the temporary files are owned 
by the same user that runs Tomcat.  We've even run Tomcat as root with the same 
results.  The temporary file is created similar to this one:  -rw-r--r-- 1 root 
root   857154 Mar 18 00:15 uix50712.tmp

Here's the portion of our web.xml that configures the uploaded-file-processor:
        <context-param>
                <!-- Maximum memory per request (in bytes) -->
                
<param-name>org.apache.myfaces.trinidad.UPLOAD_MAX_MEMORY</param-name>
                <!-- Use 500K -->
                <param-value>512000</param-value>
        </context-param>
        <context-param>
                <!-- Maximum disk space per request (in bytes) -->
                
<param-name>org.apache.myfaces.trinidad.UPLOAD_MAX_DISK_SPACE</param-name>
                <!-- Use 5,000K -->
                <param-value>102400000</param-value>
        </context-param>
        <context-param>
                
<param-name>org.apache.myfaces.trinidad.UPLOAD_TEMP_DIR</param-name>
                <param-value>/tmp/</param-value>
        </context-param>

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

Reply via email to