Subject: MMR: simultaneous total updates on the masters cause deadlock and data loss
https://bugzilla.redhat.com/show_bug.cgi?id=570667
Description: In the MMR topology, if a master receives a total
update request to initialize the other master and being initialized
by the other master at the same time, the 2 replication threads hang
and the replicated backend instance could be wiped out.
To prevent the server running the total update supplier and the
consumer at the same time, REPLICA_TOTAL_EXCLUSIVE bit has
been introduced and set to the replica state flag by the either
operation. Once the bit is detected, the other operation fails with
the error.
Files:
ldap/servers/plugins/replication/repl5.h
ldap/servers/plugins/replication/repl5_protocol.c
ldap/servers/plugins/replication/repl_extop.c
[Fix proposal]
--> (
https://bugzilla.redhat.com/attachment.cgi?id=397962)
git patch file