77fdecc Ticket #167 - Mixing transaction and non-transaction plugins can cause deadlock

Authored and Committed by rmeggins 10 years ago
    Ticket #167 - Mixing transaction and non-transaction plugins can cause deadlock
    
    https://fedorahosted.org/389/ticket/167
    Resolves: Ticket #167
    Bug Description: Mixing transaction and non-transaction plugins can cause deadlock
    Reviewed by: nhosoi (Thanks!)
    Branch: master
    Fix Description: Make all code that uses internal database operations be
    transaction aware.  This excludes code that works exclusively on the
    config DSEs such as cn=schema or cn=config.  This also excludes code in
    a couple of areas, because of difficulty in passing in the txn handle:
    1) views_entry_exists Slapi APIB functions
    2) acllas.c code that does internal searching
    3) cos_cache_follow_pointer()
    Also allow dna, linkedattrs, automember, and mep to run as betxn plugins by
    configuring the plugin config entry in the dse
    Platforms tested: RHEL6 x86_64, Fedora 16
    Flag Day: no
    Doc impact: no
    
        
file modified
+110 -60
file modified
+117 -55
file modified
+3 -1
file modified
+8 -3
file modified
+9 -7
file modified
+19 -7