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

Re: back-bdb deadlocks?

David Boreham wrote:

Next major = 5.xx?

I think it might make it into the next 4.x release.

Sounds good.

It turns out that a simple patch to BDB is all that's needed (see

Hmm. It's not documented that you can pass
DB_TXN_NOT_DURABLE to DB->txn_begin(),
but perhaps that's a doc bug.

No, you can't by default; that's what the attachment in my previous email is for. I posted a patch to BerkeleyDB and a patch to back-bdb, you must have missed the BerkeleyDB patch in the attached dif.txt...

But this will not give you Level 2 Isolation.
You will still be acquiring read page locks under your
long lived transaction. Eventually I suspect that
you will overflow the lock table, or worse
deadlock with a writer thread.

The back-bdb code explicitly releases all the page locks (lock_vec(), DB_LOCK_PUT_ALL) so there's no problem here.

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