Return-Path: X-Original-To: apmail-directory-dev-archive@www.apache.org Delivered-To: apmail-directory-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 47F98675B for ; Thu, 21 Jul 2011 09:27:30 +0000 (UTC) Received: (qmail 12390 invoked by uid 500); 21 Jul 2011 09:27:27 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 12150 invoked by uid 500); 21 Jul 2011 09:27:13 -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 12143 invoked by uid 99); 21 Jul 2011 09:27:08 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jul 2011 09:27:08 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of elecharny@gmail.com designates 209.85.161.47 as permitted sender) Received: from [209.85.161.47] (HELO mail-fx0-f47.google.com) (209.85.161.47) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jul 2011 09:26:59 +0000 Received: by fxg11 with SMTP id 11so3528870fxg.34 for ; Thu, 21 Jul 2011 02:26:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=CLGLrjZ5tAW10s4za8F+Z2JUvwzRvXBAPQJyDJ7SyMs=; b=FGvN7u5MTh0wZNSxPY6EVjRw3LULs2XV76Zu+KMxdpubMb2YRG3Tfb+M1+n7Q53Fvb gZ6Pqwn4z3/YyDoW5iaA290t2VadwSZffWAbFVK/s58A0R++aVGFMbMbcUqVgxPQV1fW 7XlVYpMIdbJv0pmBJlqxWArEk2rHrX8BYoLAY= Received: by 10.223.4.136 with SMTP id 8mr54906far.16.1311240397033; Thu, 21 Jul 2011 02:26:37 -0700 (PDT) Received: from emmanuel-lecharnys-MacBook-Pro.local (ran75-1-78-192-106-184.fbxo.proxad.net [78.192.106.184]) by mx.google.com with ESMTPS id n18sm261265fam.31.2011.07.21.02.26.35 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 21 Jul 2011 02:26:36 -0700 (PDT) Message-ID: <4E27F0CA.2020002@gmail.com> Date: Thu, 21 Jul 2011 11:26:34 +0200 From: Emmanuel Lecharny Reply-To: elecharny@apache.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0) Gecko/20110624 Thunderbird/5.0 MIME-Version: 1.0 To: Apache Directory Developers List Subject: Partition heads up, 2 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org Hi guys, here is the new initialization process for partitions (summarized) : Hierarchy : ----------- AbstractPartition (initialize) AbstractBTreePartition (---) AbstractXdbmPartition (---) AvlPartition (doInit) AbstractLdifPartition (---) LdifPartition (doInit) ReadOnlyConfigurationPartition (doInit) SingleFileLdifPartition (doInit) JdbmPartition (doInit) DefaultPartitionNexus (doInit) SchemaPartition (doInit) AbstractPartition ----------------- initialize() { if not initialized call doInit() initialized = true } AbstractBTreePartition ---------------------- -- no init -- DefaultPartitionNexus --------------------- doInit() { if not initialized register the controls in the rootDSE for each partition, do if the partition is not initialized, then call partition.initialize() update the partitionTree and the namingContexts done } SchemaPartition --------------- doInit() { if not initialized then set the wrapped partition's ID, suffixDn and schemaManager call wrapped partition's initialize() method create the synchronizer } AbstractXdbmPartition --------------------- -- no init -- AvlPartition ------------ doInit() { if not initialized then create an optimizer create a searchEngine create the master table setup the system and user indexes } JdbmPartition ------------- doInit() { if not initialized then create an optimizer create a searchEngine create the directory setup the system and user indexes create the recordManager create the master table delete unused indexes } AbstractLdifPartition --------------------- -- no init -- LdifPartition ------------- doInit() { if not initialized then compute the directory where the ldif files are stored call the AvlPartition.doInit() if we have an existing directory load the entries into the AVLPartition else create the underlying files store the context entry in the AVLPartition (not clear where we get it from…) } ReadOnlyConfigurationPartition ------------------------------ doInit() { if not initialized call the AvlPartition.doInit() load the ldif entries into the AvlPartition } SingleFileLdifPartition ----------------------- doInit() { if not initialized call the AvlPartition.doInit() load the ldif entries into the AvlPartition } -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com