You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Peter Dettman (JIRA)" <ji...@apache.org> on 2008/10/26 13:26:44 UTC

[jira] Updated: (JCR-1838) Garbage collection deletes temporary files in FileDataStore

     [ https://issues.apache.org/jira/browse/JCR-1838?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Peter Dettman updated JCR-1838:
-------------------------------

    Attachment: jcr1838.diff

Patch to prevent temporary files being deleted during garbage collection.


> 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
>         Attachments: jcr1838.diff
>
>
> 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.