On Fri, Jan 14, 2011 at 1:22 PM, Emmanuel Lecharny <[email protected]> wrote: > Hi, > > I was wrong : the modifications done on cn=schema are persisted in > ou=schema. > > It's a bit dirty, but when we update the schemaManager, we also call an > internal operation that updates the schema partition. > > What puzzled me is that in this case, the changelog is activated only for > the first operation (there is a strange method called isFirstOperation() > which is used to know if we should store the entry in the backend or not). > > I'm still investigating the whole stuff...
Everyone please see my last email which should shed light on why all the schema subsystem was designed the way it was. Just to summarize: Registries: The In Memory Runtime Representation ------------------------------------------------------------------- Used for fast lookups and to quickly render CN=schema Loaded from OU=schema Maintained in sync with OU... persistant store when changes are made there. CN=schema: The schema subentry, aka subschemaSubentry --------------------------------------------------------------------------------- A facade to comply with LDAP protocols way to expose schema. Inefficient representation to operationally manage schema constraints. A virtual entry constructed on the fly reflecting the contents of the registries. Operations against entry translated into operations against OU... format. OU=schema: Internal Persistant Parameterize Schema Store --------------------------------------------------------------------------------- The persistent store for schema information. Schema data from here is loaded into the registries. Parameterizes schema entity fields to facilitate consistency management. Changes here, automatically update registries. HTH, -- Alex Karasulu My Blog :: http://www.jroller.com/akarasulu/ Apache Directory Server :: http://directory.apache.org Apache MINA :: http://mina.apache.org To set up a meeting with me: http://tungle.me/AlexKarasulu
