[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#5595) bdb deadlock if add causes modify
Full_Name: Rein Tollevik
Version: CVS head
OS: linux and solaris
URL:
Submission from: (NULL) (81.93.160.250)
Submitted by: rein
A deadlock occur in bdb_cache_modify() when it calls bdb_cache_entry_db_relock()
if adding an entry triggers a modify of the same entry. Seen by adding the
suffix entry of a backend with the syncprov overlay and syncprov-checkpoint set
to "1 1", i.e the add causes syncprov_checkpoint() to be called.
The problem is that bdb_add() calls send_ldap_result() while the entry is
locked. But I'm not sure whether releasing the entry before it is done is
correct or not. Nor if this should be considered a usage bug in the first
place...
Rein Tollevik
Basefarm AS