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

Re: bdb cache deadlock case (ITS#3239)



> > This case was found during a syncrepl test but is apparently a bdb
locking
> > issue.
> > In fact, I was going to test OPENLDAP_REL_ENG_2_2, but due to another
issue in
> > it, I tested HEAD instead. I ran the master slapd and set off three
ldapadds in
> > parallel each of which was to add about 132K entries. After a few
minutes, I
> > started one syncrepl replica server. It worked without a problem for a
few
> > minutes before the master slapd got stuck. I'll upload the stack trace.
It is
> > quite strange to see that what is blocked is TXN_ABORT() in thread 6
bdb_add()
> > ..... add.c:111
> > - Jong-Hyuk
>
> Um.... the source for txn_abort() says it can never block. Very weird.

In __txn_abort() of bdb source, __lock_vec() is called without
DB_LOCK_NOWAIT.
According to Berkeley DB API description, it seems that this should be
called with DB_LOCK_NOWAIT.
I'll experiment this further when I get back to my desk on Monday.
- Jong-Hyuk