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

openldap 2.1 replication problem.



Hello.

	I just installed the openldap 2.1.12 with the db-4.1.25 backend, and
now im having some problems with the replication. It seems that for
certain extremely busy slave servers, the slapd hangs when attempting to
process slurp updates, which in turn causes the slurpd process on the
master to hang as it waits for a reply.

I have looked into this a bit more, run the slapd/slurpd in debug mode
(slurpd in single shot), and discovered that the problem seems to be
coming from the db:
Note: this is being used to manage mailing lists, so I have replaced the
list DN with "LISTDN" and the user DN with "USERDN"


=> get_ctrls: oid="2.16.840.1.113730.3.4.2" (noncritical)
<= get_ctrls: n=1 rc=0 err=
>>> dnPrettyNormal: <LISTDN>
=> ldap_bv2dn(LISTDN,0)
<= ldap_bv2dn(LISTDN,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(LISTDN,272)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(LISTDN,272)=0
<<< dnPrettyNormal: <LISTDN>, <LISTDN>
>>> dnPretty: <USERDN>
=> ldap_bv2dn(USERDN,0)
<= ldap_bv2dn(USERDN,0)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(USERDN,272)=0
<<< dnPretty: <USERDN>
bdb_dn2entry_rw("LISTDN")
=> bdb_dn2id_matched( "LISTDN" )
<= bdb_dn2id_matched: id=0x0000033e: entry LISTDN 
here is where it stops....


I attached and did a bt:


#0  0x40284397 in sched_yield () from /lib/libc.so.6
#1  0x080974c3 in ldap_pvt_thread_yield () at thr_posix.c:186
#2  0x4008d6a8 in __os_yield (dbenv=0x0, usecs=1000000) at
../dist/../os/os_spin.c:110
#3  0x40025814 in __db_tas_mutex_lock (dbenv=0x8145aa8,
mutexp=0x40395dc0) at ../dist/../mutex/mut_tas.c:148
#4  0x4007ccd5 in __lock_get_internal (lt=0x8145fe0, locker=2147495754,
flags=0, obj=0x8146e0c,
    lock_mode=DB_LOCK_WRITE, timeout=0, lock=0xbf5ff4a4) at
../dist/../lock/lock.c:829
#5  0x4007bc27 in __lock_vec (dbenv=0x8145aa8, locker=2147495754,
flags=0, list=0xbf5ff494, nlist=2,
    elistp=0xbf5ff490) at ../dist/../lock/lock.c:209


which as I understand it, means it spinning trying to lock the database?

The system is debian "woody" binaries and libs.

I can provide more files and such, but im really at a loss as to whats
going on. Im willing to bet its something dumb that I did, but what that
is....

anyways, thanks for any help in advanced.

danke.