[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Running out of locks while building db
At 12:27 PM 2002-07-30, pturgyan@umich.edu wrote:
>Configuring additional locks and lock objects (1800 of each)
>seems to get me a little farther. Now it's reporting that it's
>running out of memory. Any ideas?
On some platforms, slapadd(8) appears to be leaking some
resources. A couple ITSs have been filed. We haven't
found the bug yet... workaround is to split your LDIF
into smaller chunks.
Kurt
>=> bdb_tool_entry_put( -1, "cn=nre301-003,ou=User Groups,ou=Groups,dc=umich,dc=e
>du" )
>=> bdb_dn2id_add( "cn=nre301-003,ou=user groups,ou=groups,dc=umich,dc=edu", 0x00
>010005 )
>=> bdb_idl_insert_key: c_get last failed: Not enough space (12)
>=> bdb_dn2id_add: subtree (ou=groups,dc=umich,dc=edu) insert failed: 12
><= bdb_dn2id_add: 12
>=> bdb_tool_entry_put: dn2id_add failed: Not enough space (12)
>=> bdb_tool_entry_put: txn_aborted! Not enough space (12)
>slapadd: could not add entry dn="cn=nre301-003,ou=User Groups,ou=Groups,dc=umich
>,dc=edu" (line=2096986): txn_aborted! Not enough space (12)
>
>
>
>> 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
>>