[ http://issues.apache.org/jira/browse/JCR-197?page=all ]
Marcel Reutegger resolved JCR-197:
----------------------------------
Resolution: Fixed
Index merging now runs in a daemon thread and does not block workspace save
operations anymore.
svn revision: 264144
> Index merging should run in a separate thread
> ---------------------------------------------
>
> Key: JCR-197
> URL: http://issues.apache.org/jira/browse/JCR-197
> Project: Jackrabbit
> Type: Improvement
> Components: query
> Environment: svn revision: 239657
> Reporter: Marcel Reutegger
> Assignee: Marcel Reutegger
> Priority: Minor
> Fix For: 1.0
>
> Indexes are merged using the configuration parameters mergeFactor and
> minMergeDocs. With the default value of 10 for mergeFactor and 100 for
> minMergeDocs, as soon as 10 index directories exist with less or equal than
> 100 nodes they are merged into a single one. This process is then repeated by
> multiplying the minMergeDocs with the mergeFactor. Therefore the second round
> will merge 10 index directories with less or equal than 1000 nodes.
> Because the above process is part of the regular workspace store operation an
> index merge with more than let's say 10'000 nodes can block the store
> operation for a couple of seconds. With the current synchronization scheme,
> all other threads are blocked from writing. This is not acceptable.
> Index merging should run in a separate thread in the background.
> The process needs to take care of the following:
> - While merging indexes, deletes on those indexes must not get lost
> - Switching between the indexes that are merged and the new index must be
> atomic
> - Recovery if merging is interrupted, e.g. jackrabbit is shutdown
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira