commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicholas Byrd (JIRA)" <>
Subject [jira] [Created] (IO-497) DeferredFileOutputStream produces unhandled IOExceptions if the is deleted
Date Fri, 22 Jan 2016 01:19:39 GMT
Nicholas Byrd created IO-497:

             Summary: DeferredFileOutputStream produces unhandled IOExceptions if the
is deleted
                 Key: IO-497
             Project: Commons IO
          Issue Type: Bug
          Components: Streams/Writers
    Affects Versions: 2.4
         Environment: unix-like operating systems where temporary disk storage is routinely
purged; CentOS specifically
            Reporter: Nicholas Byrd

In the event that the Java temporary directory is deleted prior to the DeferredFileOutputStream
trying to use it, the stream will throw one of two different IOExceptions (depending on how
the Stream was constructed). 

This may sound like an unrealistic use-case at first, but it is legitimate as one of my company's
applications encountered it after the underlying operating system (CentOS) automatically purged
the contents of its tmp directory. (The application uses Commons FileUpload, which invokes
DeferredFileOutputStream and does not handle the error itself.) Our current work-around is
to restart the server when this happens, but we feel that the underlying library should perhaps
be intelligent enough to recover from such an error.

Additionally, it seems an awkward experience that two different errors are produced based
on how the stream was constructed. One approach produces a FileNotFoundException while the
other produces a plain IOException. 

A small maven project containing a single JUnit test that highlights the error will be attached.

This message was sent by Atlassian JIRA

View raw message