[ 
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

Reply via email to