1

Topic: Lock Problem with openldap : "Lock table is out of available locks"

My users use a lot of mailing lists through iredapd. These list can have hundreds or even thousands of recipients.
So my /var/log/openldap.log looks like this today :

Aug 25 11:35:33 smtp slapd[3481]: bdb(dc=domain,dc=tld): Lock table is out of available locks
Aug 25 11:35:33 smtp slapd[3481]: => bdb_idl_delete_key: c_get failed: Cannot allocate memory (12)

Users were trying to add recipients (600~800) to their lists but the add operation always failed. changing operations were not allowed while read operations worked.

Here is what I've done :
* /etc/init.d/ldap stop
* Add :
set_lk_max_locks 2000
set_lk_max_lockers 2000
set_lk_max_objects 2000
to /var/lib/ldap/DB_CONFIG in order to increase the max locks number supported by openldap by default.
* cd /var/lib/ldap/
* slapd_db_recover
* chown ldap.ldap *
* /etc/init.d/ldap start

Everything seems to work now.

Do you know how to prevent this kind of problem ?

2

Re: Lock Problem with openldap : "Lock table is out of available locks"

You already configured well with "set_lk_*".

Reference:
http://www.openldap.org/lists/openldap- … 00119.html