Garbage collection deletes temporary files in FileDataStore
-----------------------------------------------------------

                 Key: JCR-1838
                 URL: https://issues.apache.org/jira/browse/JCR-1838
             Project: Jackrabbit
          Issue Type: Bug
          Components: jackrabbit-core
    Affects Versions: core 1.4.6
         Environment: Solaris 10, JDK 1.6.0_03

            Reporter: Peter Dettman
            Priority: Minor


In FileDataStore.addRecord(InputStream), a temporary file is created. The data 
is written to the file and then it is moved to its final location (based on the 
contents hash).

If the garbage collector runs whilst this temp file is present, it deletes it 
(on Solaris 10 at least), and the addRecord fails at the attempt to rename the 
now non-existent temp file.

I am attaching a minimal patch that prevents these temp files being deleted by 
deleteOlderRecursive(..), regardless of their lastModified() value.

I have made this a Minor priority, since there is the obvious workaround of 
disabling the GC.


-- 
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