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

Martin Böttcher commented on JCR-3107:
--------------------------------------

Writing the array every time the "doClose"-method is invoked may lead to some 
runtime issues because the array can have a size of many megabytes. If the file 
is touched every time (even if it's contents isn't changed) a backup mechanism 
will need to handle this persistence file again and again.

Therefore it seems to be a better idea to write the file only once as soon as 
the initializer finished.
                
> Speed up hierarchy cache initialization
> ---------------------------------------
>
>                 Key: JCR-3107
>                 URL: https://issues.apache.org/jira/browse/JCR-3107
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Martin Böttcher
>         Attachments: JCR-3107.patch
>
>
> Initializing a workspace can take quite a long time if there is a big number 
> of nodes and some search indexes involved. The reason is that the setup of 
> the CachingIndexReader is processed using chunks of a certain size (actually 
> 400K) in order to reduce the memory footprint. As soon as the number of 
> documents exceeds this limit some operations (actually traversing complete 
> indexes) are performed again and again.
> It seems that the current algorithm "initializeParents" in the 
> CachingIndexReader class can't be optimized without increasing the memory 
> consumption. Therefore it should be a promising approach to persist the 
> "state" of this class (actually it's main member array and map) and reload it 
> on startup.
> The "load" of the state can be done implicitly in the initializing phase of 
> the cache. This is obvious. The correct point of time to call the "save" 
> operation isn't obvious at all. I tried the "doClose" method of the class and 
> it seems sufficient.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to