[ 
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

Reply via email to