From e7e4acbc4e2aae2e3c57aacb764dfbaa0f6302c7 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 25 Mar 2011 08:05:53 +0000
Subject: [PATCH] Fix OpenDJ-99 - NoSuchElementExceptions while replaying replicated operations

---
 opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java b/opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
index 306212d..4b69897 100644
--- a/opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
+++ b/opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -2835,7 +2835,23 @@
    */
   public void updateError(ChangeNumber changeNumber)
   {
-    remotePendingChanges.commit(changeNumber);
+    try
+    {
+      remotePendingChanges.commit(changeNumber);
+    }
+    catch (NoSuchElementException e)
+    {
+      // A failure occurred after the change had been removed from the pending
+      // changes table.
+      if (debugEnabled())
+      {
+        TRACER
+            .debugInfo(
+                "LDAPReplicationDomain.updateError: Unable to find remote "
+                    + "pending change for change number %s",
+                changeNumber);
+      }
+    }
   }
 
   /**

--
Gitblit v1.10.0