adamwill / 389-ds-base

Forked from 389-ds-base 4 years ago
Clone

2786adb Ticket #47737 - Under heavy stress, failure of turning a tombstone into glue makes the server hung

Authored and Committed by nhosoi 10 years ago
    Ticket #47737 - Under heavy stress, failure of turning a tombstone into glue makes the server hung
    
    Description: Turning a tombstone entry to a glue entry is done in a
    while loop (create_glue_entry:urp_glue.c) Unless the transformation
    is successful (or LDAP_NO_SUCH_OBJECT), it cannot exit from the loop.
    But under a stress, there could be a tombstone and a conflict entry
    coexist, and do_create_glue_entry keeps returning LDAP_ALREADY_EXISTS.
    In such a case, we need to give up creating a glue.
    
    https://fedorahosted.org/389/ticket/47737
    
    Reviewed by rmeggins@redhat.com (Thank you, Rich!)
    (cherry picked from commit a84dab5923de59cfda9bd4e78813d0c22bab35ae)
    (cherry picked from commit 97fa6d25159bcdbc6701c4696d675683bed34761)
    (cherry picked from commit b92eb1ad96039df4bea35f6e318912adf0d63014)