You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Emmanuel Lecharny <el...@gmail.com> on 2011/07/21 11:26:34 UTC
Partition heads up, 2
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