ldap/servers/plugins/replication/repl5_replica_config.c | 1 +
1 file changed, 1 insertion(+)
New commits:
commit 2764bc455bef2e88713fc014d917c74df9c484ae
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Fri Nov 6 14:41:36 2015 -0500
Ticket 48325 - Replica promotion leaves RUV out of order
Bug Description: When promoting a consumer to a master the new RUV
element is appended to the RUV. However, when trying
to replicate from the newly promoted replica the
remote replica checks the first element in the RUV
and sees that its the same replica ID, and aborts the
replication session. Essentailly this completely
breaks replication between the two servers, and can
actually corrupt other RUVs on other replicas.
Fix Description: When promoting a replica to a master, reorder the RUV
so that it is the first in the list.
https://fedorahosted.org/389/ticket/48325
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit b896840d270a540698f35a4aac4f7a91742952b0)
diff --git a/ldap/servers/plugins/replication/repl5_replica_config.c
b/ldap/servers/plugins/replication/repl5_replica_config.c
index 8718f92..849184f 100644
--- a/ldap/servers/plugins/replication/repl5_replica_config.c
+++ b/ldap/servers/plugins/replication/repl5_replica_config.c
@@ -1032,6 +1032,7 @@ replica_config_change_type_and_id (Replica *r, const char
*new_type,
csngen_rewrite_rid(gen, rid);
if(purl && type == REPLICA_TYPE_UPDATABLE){
ruv_add_replica(ruv, rid, purl);
+ ruv_move_local_supplier_to_first(ruv, rid);
replica_reset_csn_pl(r);
}
ruv_delete_replica(ruv, oldrid);