[
https://issues.apache.org/jira/browse/JCR-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13614937#comment-13614937
]
Shashank Gupta commented on JCR-3547:
-------------------------------------
Ok. If the datastore is external like a S3 datatore, getLastModified(file) at
[1] would be a network call and hence degrades performance on read. imo, better
to reset it to 0L in GarbageCollector. (patch attached)
[1]
if (minModifiedDate != 0) {
// only check when running garbage collection
if (getLastModified(file) < minModifiedDate) {
setLastModified(file, System.currentTimeMillis() +
ACCESS_TIME_RESOLUTION);
}
}
> Datastore GC doesn't reset updateModifiedDateOnAccess on datastore
> ------------------------------------------------------------------
>
> Key: JCR-3547
> URL: https://issues.apache.org/jira/browse/JCR-3547
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core
> Affects Versions: 2.4, 2.5
> Reporter: Shashank Gupta
> Attachments: GarbageCollector.java.patch
>
>
> In mark phase, GC updates store.updateModifiedDateOnAccess with current time,
> so that datastore updates record’s lastModified timestamp upon subsequent
> read/scan.
> But GC doesn't reset it to 0. So even after GC completes, datastore will
> continue updating lastModified timestamp on read invocations and it will have
> performance impact.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira