From 58a4b916a28cd70ab22d6f9483b88f52bbaae6b8 Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Tue, 19 Feb 2008 16:46:56 +0000
Subject: [PATCH] Fix for 2968 : dependent ADD operation can incorrectly generate conflicting entries

---
 opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java b/opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java
index 760d42b..57e665e 100644
--- a/opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java
+++ b/opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java
@@ -1345,7 +1345,7 @@
             {
               ModifyOperation newOp = (ModifyOperation) op;
               dependency = remotePendingChanges.checkDependencies(newOp);
-              if (!dependency)
+              if ((!dependency) && (!firstTry))
               {
                 done = solveNamingConflict(newOp, msg);
               }
@@ -1362,7 +1362,7 @@
               AddOperation newOp = (AddOperation) op;
               AddMsg addMsg = (AddMsg) msg;
               dependency = remotePendingChanges.checkDependencies(newOp);
-              if (!dependency)
+              if ((!dependency) && (!firstTry))
               {
                 done = solveNamingConflict(newOp, addMsg);
               }
@@ -1370,7 +1370,7 @@
             {
               ModifyDNMsg newMsg = (ModifyDNMsg) msg;
               dependency = remotePendingChanges.checkDependencies(newMsg);
-              if (!dependency)
+              if ((!dependency) && (!firstTry))
               {
                 ModifyDNOperationBasis newOp = (ModifyDNOperationBasis) op;
                 done = solveNamingConflict(newOp, msg);

--
Gitblit v1.10.0