[ 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

Reply via email to