[
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