Le 19/03/2018 à 21:57, Stefan Seelmann a écrit : > On 03/19/2018 05:32 PM, Emmanuel Lécharny wrote: </snip> >> >> wdyt ? > > Is that a chicken-egg problem? To initialize the scheama partition we > need the schema?
To read the cn=schema, we use the ou=schema (aka registries). This is how it all works : - first we load the registries, processing the enabled schemas - then we initialize the partitions, including the schema partition Obviously, some of the schema partition elements aren't known by the registries (because we haven't load the disabled schemas), so we get some errors - but that's not a problem, because we just load the partition in memory discarding the errors we have met. This is necessary because one can change the schema partition even if the elements are invalid : once relaoded, that may be ok. > > How does it work for the enabled schemas? Are they present before the > schema partition is loaded? Yes, we have loaded hem. > > We init the SchemaManager with the SchemaLoader. Can't we just enable > all schemas for initializing the schema partition? Sadly there are some incompatibility between some of the schemas (nis and rfc2307bis), so we can't load all of them. What we can do though is to avoid reading the ldif files twice : if we have loaded the schema in the registries, there is no need to load it again while initializing the partition. Nte that it will not solve the problem, just speed up he initialization a bit. Thanks ! -- Emmanuel Lecharny Symas.com directory.apache.org
