[
https://issues.apache.org/jira/browse/JCR-3547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shashank Gupta updated JCR-3547:
--------------------------------
Attachment: GC_prevent_concurrent_run_app2.patch
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