[ 
https://issues.apache.org/jira/browse/JCR-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13625271#comment-13625271
 ] 

Shashank Gupta commented on JCR-3547:
-------------------------------------

>There is one exception, and I'm not sure if that's a possible / common use case
imo repository should  forbid user to run two simultaneous gc. say when user 
try to run second gc it throw "gc already running" error. 

> I wonder if we could detect this reliably 
one way is to keep static counter of number of gc running. when gc ends it 
decrements the counter. if counter ==0 it reset it updates modifiedDateOnAccess 
to 0L. 

>Maybe only reset if the current value matches the value in the 
>GarbageCollector class?
can you explain it more? ds interface doesn't expose a method to retrieve this 
value. 

                
> 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