[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: Running out of locks while building db



First of all, look at the "db_stat -c" statistics for your databases,
to see where your lock resources were used. Then read section 13 in
the BDB Tutorial and Reference Guide, specifically section 13.3 on
sizing the lock subsystem. Then use a DB_CONFIG file in your database
directory to configure the sizes. See the C API reference describing
the Lock Subsystem for the necessary keywords.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support 

> -----Original Message-----
> From: owner-openldap-software@OpenLDAP.org
> [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of
> pturgyan@umich.edu
> Sent: Monday, July 22, 2002 10:44 AM
> To: openldap-software@OpenLDAP.org
> Subject: Running out of locks while building db
> 
> 
> 
> I'm running OpenLDAP 2.1.2 (all standalone system tests passed)
>             Berkeley db-4.0.14 bdb transactional backend
>             Solaris 2.6
> 
> I'm trying to build a database using slapadd,
> and I am getting the error:
> 
> bdb(dc=umich,dc=edu): Lock table is out of available locks
> => bdb_idl_insert_key: c_get failed: Not enough space (12)
> <= key_change 12
> <= index_entry_add( 27655, "cn=dm signup,ou=User 
> Groups,ou=Groups,dc=umich,dc=ed
> u" ) failure
> => bdb_tool_entry_put: index_entry_add failed: Not enough space (12)
> => bdb_tool_entry_put: txn_aborted! Not enough space (12)
> slapadd: could not add entry dn="cn=dm signup,ou=User 
> Groups,ou=Groups,dc=umich,
> dc=edu" (line=873748): txn_aborted! Not enough space (12)
> 
> With indexxing enabaled (I'm indexxing about 30 different attributes),
> I get the above error after about 27732 entries.  With indexxing
> turned off I get to about 65687 entries before I get the lock error.
> 
> Also, the Berkeley utility db_archive never lists any log files
> as being removable.  I end up with over 250 log files when
> building the database with full indexxing.
> 
> I didn't see anything in the OpenLDAP archives about this,  nor in
> the FAQ.
> 
> Here's my conf file:
> 
> 
> # $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.7 2001/09/27 
> 20:00:31 kurt Exp $
> #
> # See slapd.conf(5) for details on configuration options.
> # This file should NOT be world readable.
> #
> loglevel 65535
> #
> include               /var/slapd/openldap-2.1/etc/core.schema
> include               /var/slapd/openldap-2.1/etc/cosine.schema
> include               /var/slapd/openldap-2.1/etc/inetorgperson.schema
> include               /var/slapd/openldap-2.1/etc/nis.schema
> include               /var/slapd/openldap-2.1/etc/local.schema
> #
> #
> # Define global ACLs to disable default read access.
> include         /var/slapd//openldap-2.1/etc/slapd.acl.conf
> 
> # Do not enable referrals until AFTER you have a working directory
> # service AND an understanding of referrals.
> #referral     ldap://root.openldap.org
> 
> pidfile               /var/slapd/openldap-2.1/slapd.pid
> argsfile      /var/slapd/openldap-2.1/slapd.args
> srvtab          /usr/local/etc/openldap/srvtab
> 
> 
> # Load dynamic backend modules:
> # modulepath  %MODULEDIR%
> # moduleload  back_ldap.la
> # moduleload  back_ldbm.la
> # moduleload  back_passwd.la
> # moduleload  back_shell.la
> >
> #
> #######################################################################
> # bdb database definitions
> #######################################################################
> 
> database      bdb
> suffixalias     "o=University of Michigan,c=US" "dc=umich,dc=edu"
> suffix                "dc=umich,dc=edu"
> #
> rootdn                "cn=root,dc=umich,dc=edu"
> #
> # Cleartext passwords, especially for the rootdn, should
> # be avoid.  See slappasswd(8) and slapd.conf(5) for details.
> # Use of strong authentication encouraged.
> rootpw                xxxxx
> 
> # Cache size and "no sync" for database loading
> dbnosync
> #
> lastmod on
> #
> # The database directory MUST exist prior to running slapd AND
> # should only be accessible by the slapd/tools. Mode 700 recommended.
> directory     /var/slapd/tmp
> 
> # index's
> include         /var/slapd/openldap-2.1/etc/slapd.index.conf