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.