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


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