[
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