amoralej / rpms / 389-ds-base

Forked from rpms/389-ds-base 5 years ago
Clone

Blame SOURCES/0049-Ticket-49413-Changelog-trimming-ignores-disabled-rep.patch

96373c
From 7cb2e56db2da439c90bbfd35f132a85708942490 Mon Sep 17 00:00:00 2001
96373c
From: Ludwig Krispenz <lkrispen@redhat.com>
96373c
Date: Tue, 14 Nov 2017 11:25:18 +0100
96373c
Subject: [PATCH] Ticket 49413 - Changelog trimming ignores disabled
96373c
 replica-agreement
96373c
96373c
Bug: if a replication agreement is disabled it is not taken into account when
96373c
     changelog trimming determines where to stop.
96373c
     If the agreement is reenabled later replication can fail
96373c
96373c
Fix: do not ignore disabled agreements in changelog trimming
96373c
96373c
Reviewed by: Thierry, thanks
96373c
---
96373c
 ldap/servers/plugins/replication/cl5_api.c | 10 ++++------
96373c
 1 file changed, 4 insertions(+), 6 deletions(-)
96373c
96373c
diff --git a/ldap/servers/plugins/replication/cl5_api.c b/ldap/servers/plugins/replication/cl5_api.c
96373c
index 721013abf..dc2857910 100644
96373c
--- a/ldap/servers/plugins/replication/cl5_api.c
96373c
+++ b/ldap/servers/plugins/replication/cl5_api.c
96373c
@@ -4283,12 +4283,10 @@ _cl5GetRUV2Purge2(Object *fileObj, RUV **ruv)
96373c
     while (agmtObj) {
96373c
         agmt = (Repl_Agmt *)object_get_data(agmtObj);
96373c
         PR_ASSERT(agmt);
96373c
-
96373c
-        if (!agmt_is_enabled(agmt)) {
96373c
-            agmtObj = agmtlist_get_next_agreement_for_replica(r, agmtObj);
96373c
-            continue;
96373c
-        }
96373c
-
96373c
+        /* we need to handle all agreements, also if they are not enabled
96373c
+         * if they will be later enabled and changes are trimmed
96373c
+         * replication can fail
96373c
+         */
96373c
         consRUVObj = agmt_get_consumer_ruv(agmt);
96373c
         if (consRUVObj) {
96373c
             consRUV = (RUV *)object_get_data(consRUVObj);
96373c
-- 
96373c
2.13.6
96373c