4561c4c Ticket #374 - consumer can go into total update mode for no reason

Authored and Committed by rmeggins 11 years ago
    Ticket #374 - consumer can go into total update mode for no reason
    
    https://fedorahosted.org/389/ticket/374
    Reviewed by: rmeggins
    Contributed by: telackey (Thanks!)
    Branch: master
    Fix Description: In the consumer replication extop code, ensure exclusive
    access to the connection extension by checking the new fields, connid and
    opid.  If the connid and opid in the extension are not the same as the
    current thread, just return an LDAP_BUSY to the supplier.  Otherwise, set
    the connid and opid of the current thread in the extension.  This should
    ensure that no other thread can access the connection extension.
    Includes some test code that should help cause the problem during an
    incremental update.  Set the environment variable
     export SLAPD_TEST_TICKET_374=1
    in /etc/sysconfig/dirsrv-INST and restart the server.
    Platforms tested: RHEL6 x86_64
    Flag Day: no
    Doc impact: no
    (cherry picked from commit f1e01ac448ad5eb3a42b380d8a1f53d35bcf9fed)