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

Thomas Mueller resolved JCR-2674.
---------------------------------

    Fix Version/s: 2.2.0
       Resolution: Fixed

> FileDataStore ignores return code from setLastModified
> ------------------------------------------------------
>
>                 Key: JCR-2674
>                 URL: https://issues.apache.org/jira/browse/JCR-2674
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 2.1.0
>         Environment: Solaris/ZFS/JDK1.6.0_20
>            Reporter: Peter Dettman
>            Assignee: Thomas Mueller
>            Priority: Critical
>             Fix For: 2.2.0
>
>         Attachments: JCR-2674.patch
>
>
> Garbage collection depends on the file modification date being successfully 
> updated when records are "touched" during the mark phase. The result of a 
> silent failure is the catastrophic loss of the file in the sweep phase.
> FileDataStore.getRecordIfStored does not, however, check the return code from 
> setLastModified.
> I believe I was bitten by this when my dev deployment ran out of disk space. 
> A substantial portion of my datastore was deleted, and the best explanation I 
> can come up with is that the setLastModified calls started (silently) 
> failing, leading to massive overkill in the sweep.
> There is also a call to setLastModified in FileDataStore.addRecord which is 
> not strictly correct in the face of GC (i.e. it needs the resolution offset, 
> and also must succeed if the file is writable or risk incorrect collection).
> Patch to follow.

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