From 7caa8a1662944431a40331436042922f2afba021 Mon Sep 17 00:00:00 2001
From: Jan-Peter Nilsson <67913129+jpn-e@users.noreply.github.com>
Date: Wed, 02 Sep 2020 09:04:34 +0000
Subject: [PATCH] Don't replay ModifyMsg on the same DN in parallel (#142)

---
 opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java
index 8b38f33..06d3797 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/RemotePendingChanges.java
@@ -39,6 +39,7 @@
 import org.opends.server.replication.protocol.DeleteMsg;
 import org.opends.server.replication.protocol.LDAPUpdateMsg;
 import org.opends.server.replication.protocol.ModifyDNMsg;
+import org.opends.server.replication.protocol.ModifyMsg;
 import org.opends.server.replication.protocol.OperationContext;
 import org.opends.server.types.Operation;
 
@@ -397,6 +398,15 @@
           addDependency(change);
         }
       }
+      else if (pendingMsg instanceof ModifyMsg)
+      {
+        if (pendingMsg.getDN().equals(targetDN))
+        {
+          // it is another modify on the same DN, they depend
+          hasDependencies = true;
+          addDependency(change);
+        }
+      }
     }
     return hasDependencies;
   }

--
Gitblit v1.10.0