Return-Path: Delivered-To: apmail-incubator-jackrabbit-dev-archive@www.apache.org Received: (qmail 23244 invoked from network); 29 Aug 2005 17:38:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 29 Aug 2005 17:38:15 -0000 Received: (qmail 4694 invoked by uid 500); 29 Aug 2005 17:37:47 -0000 Mailing-List: contact jackrabbit-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jackrabbit-dev@incubator.apache.org Delivered-To: mailing list jackrabbit-dev@incubator.apache.org Received: (qmail 4351 invoked by uid 99); 29 Aug 2005 17:37:41 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [192.87.106.226] (HELO ajax.apache.org) (192.87.106.226) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Aug 2005 10:37:40 -0700 Received: from ajax.apache.org (ajax.apache.org [127.0.0.1]) by ajax.apache.org (Postfix) with ESMTP id B2012406 for ; Mon, 29 Aug 2005 16:10:04 +0200 (CEST) Message-ID: <2123919579.1125324604706.JavaMail.jira@ajax.apache.org> Date: Mon, 29 Aug 2005 16:10:04 +0200 (CEST) From: "Marcel Reutegger (JIRA)" To: jackrabbit-dev@incubator.apache.org Subject: [jira] Resolved: (JCR-197) Index merging should run in a separate thread In-Reply-To: <946359636.1124956571410.JavaMail.jira@ajax.apache.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ 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