From 3108952a616e5a7548f646555c716bdc52db91ea Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Mon, 31 May 2010 12:06:59 +0000
Subject: [PATCH] Resolve an issue where some changes might appear to be missing after restoring a backend. A replayed change that resolve in no change still must update the historical information.

---
 opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java b/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
index c738d45..921d86e 100644
--- a/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
+++ b/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2006-2009 Sun Microsystems, Inc.
+ *      Copyright 2006-2010 Sun Microsystems, Inc.
  */
 package org.opends.server.replication.plugin;
 
@@ -506,6 +506,16 @@
 
     historicalInformation.generateState(modifyOperation);
 
+    if (modifyOperation.getModifications().isEmpty())
+    {
+      /*
+       * This operation becomes a no-op due to conflict resolution
+       * stop the processing and send an OK result
+       */
+      return new SynchronizationProviderResult.StopProcessing(
+          ResultCode.SUCCESS, null);
+    }
+
     return new SynchronizationProviderResult.ContinueProcessing();
   }
 

--
Gitblit v1.10.0