Torsten Landschoff <[EMAIL PROTECTED]> writes: > Hi Quanah, > On Thu, Mar 17, 2005 at 03:39:09PM -0800, Quanah Gibson-Mount wrote: >> > Is there a way to enforce this without editing DB_CONFIG? I'd rather set >> > an environment variable or something like that. Writing that into >> > DB_CONFIG in the maintainer scripts always poses the risk that it'll >> > stay. >> >> Well.... This will be available in OpenLDAP 2.3 via the "-q" option to >> slapadd. I have my own backported patch to OpenLDAP 2.2 that enables the >> "-q" option.
> Care to share that patch? :) Torsten, You can find the patch for adding "-q" to slapadd on OpenLDAP 2.2 here: <http://www.stanford.edu/services/directory/openldap/configuration/openldap-build-42.html> I've been reading back over my notes on the problems OpenLDAP has with BDB 4.3, and I believe that this patch will resolve those issues as well (as long as it is used to load a DB, rather than without the "-q" flag). The main issue is that the way BDB 4.3 creates transaction logs in the quickload scenario is to use setflags DB_LOG_INMEMORY That particular function when combined with how OpenLDAP loads data often results in the server running out of memory, and the entire environment becoming corrupted. The "-q" patch completely disables the creation of any logs by either BDB 4.2 or BDB 4.3, and significantly decreases the amount of time it takes to load a database. I would note that it would likely be good for Debian to still include a DB_CONFIG file in the database directory it creates with its OpenLDAP distribution, as the default settings from Sleepycat are entirely too small. Here are some examples. All examples use: 10k entry LDIF file 23 attributes indexed BDB 4.2.52 "database bdb" as the slapd.conf database 1) DB_CONFIG file with a 384MB cache, and normal slapadd options. ldap-linux0:/db/DBs# time slapadd -l 10k.ldif 30.760u 1.800s 0:36.89 88.2% 0+0k 0+0io 13351pf+0w 2) DB_CONFIG file with a 384MB cache, and disabling logging via the BDB 4.2.52 flags. ldap-linux0:/db/DBs# time slapadd -l 10k.ldif 26.790u 0.410s 0:27.35 99.4% 0+0k 0+0io 13318pf+0w 3) DB_CONFIG file with a 384MB cache and using the "-q" option to slapadd. ldap-linux0:/db/DBs# time slapadd -q -l 10k.ldif 17.270u 0.450s 0:17.88 99.1% 0+0k 0+0io 13221pf+0w 4) no DB_CONFIG file and normal slapadd options. Note that this is Debian's current default method. ldap-linux0:/db/DBs# time slapadd -l 10k.ldif 38.920u 26.830s 13:30.39 8.1% 0+0k 0+0io 732pf+0w 5) no DB_CONFIG file and using the "-q" option to slapadd. ldap-linux0:/db/DBs# time slapadd -q -l 10k.ldif 25.470u 21.070s 0:50.10 92.8% 0+0k 0+0io 627pf+0w --Quanah -- Quanah Gibson-Mount Principal Software Developer ITSS/Shared Services Stanford University GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]