You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Shashank Gupta (JIRA)" <ji...@apache.org> on 2013/04/09 08:40:19 UTC
[jira] [Comment Edited] (JCR-3547) Datastore GC doesn't reset
updateModifiedDateOnAccess on datastore
[ https://issues.apache.org/jira/browse/JCR-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13626303#comment-13626303 ]
Shashank Gupta edited comment on JCR-3547 at 4/9/13 6:40 AM:
-------------------------------------------------------------
Patch with Approach 2.
1. RepositoryContext keep track if gc is currently runnig.
2. RepositoryImpl#createDataStoreGarbageCollector ping RepositoryContext to check if gc is running. If running it exits throwing RepositoryException( " Cannot create GC. GC already running");
3. test case added org.apache.jackrabbit.core.gc#testSimulatenousRunGC
4. with this change, gc test cases cannot run concurrently. Moved gc tests to separate package and executed serially.
was (Author: shgupta):
Patch with Approach 1.
1. RepositoryContext keep track if gc is currently runnig.
2. RepositoryImpl#createDataStoreGarbageCollector ping RepositoryContext to check if gc is running. If running it exits throwing RepositoryException( " Cannot create GC. GC already running");
3. test case added org.apache.jackrabbit.core.gc#testSimulatenousRunGC
4. with this change, gc test cases cannot run concurrently. Moved gc tests to separate package and executed serially.
> 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, GC_prevent_concurrent_run_app2.patch, GC_prevent_concurrnet_run_app1.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