Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 81925 invoked from network); 12 Mar 2010 13:43:27 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 12 Mar 2010 13:43:27 -0000 Received: (qmail 70663 invoked by uid 500); 12 Mar 2010 13:42:50 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 70614 invoked by uid 500); 12 Mar 2010 13:42:50 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 70607 invoked by uid 99); 12 Mar 2010 13:42:50 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 12 Mar 2010 13:42:50 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 12 Mar 2010 13:42:48 +0000 Received: from brutus.apache.org (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 33DCC234C4BF for ; Fri, 12 Mar 2010 13:42:27 +0000 (UTC) Message-ID: <435453861.226731268401347211.JavaMail.jira@brutus.apache.org> Date: Fri, 12 Mar 2010 13:42:27 +0000 (UTC) From: "Emmanuel Lecharny (JIRA)" To: dev@directory.apache.org Subject: [jira] Created: (DIRSERVER-1477) Add an extended operation to re-index an attribute MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org Add an extended operation to re-index an attribute -------------------------------------------------- Key: DIRSERVER-1477 URL: https://issues.apache.org/jira/browse/DIRSERVER-1477 Project: Directory ApacheDS Issue Type: New Feature Reporter: Emmanuel Lecharny Fix For: 2.0.0-RC1 We need a way to re-index an attribute live. The best solution would be to add an extended operation to do so. The problem we will have with this approach is that we should deal with the ongoing operations : search, add, delete, etc... while the index is being rebuilt. One solution would be to : - block any update during the index construction - keep directing pending search operations on the previous table until the index is built - new search will also be using the previous index until the index is built - when the index is built, then we should redirect all the operation to the new index - when we don't have anymore operations using the old index, then we can ditch it - one special case is the persistent search operation. We should redirect it to use the new index when it has been rebuilt - last, not least, the new update operations (those which has been sent after the ExtendedOperation has been received) should be hold in a queue until the index is built. I don't think it should be a big deal to implement such a system, but we can restrain it to newly added index (reindexing should be just used when the index is broken, and it's more or less an admin task). Not sure either it makes sense to add an operation to remove an index, but why not. We should also have a specific parameter if we want to modify the index cache size. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.