From d75e907c8b122cb1a50c164077dcbbb9491d69a2 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Mon, 23 Jun 2014 15:37:48 +0000
Subject: [PATCH] 

---
 opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java              |   29 ++++++++++++++++++++++-------
 opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ExternalChangeLogTest.java |    2 +-
 2 files changed, 23 insertions(+), 8 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java b/opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java
index 7060e55..57cc0cf 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java
@@ -25,7 +25,16 @@
  */
 package org.opends.server.replication.server.changelog.je;
 
-import java.util.*;
+import static org.opends.messages.ReplicationMessages.*;
+import static org.opends.server.loggers.debug.DebugLogger.*;
+import static org.opends.server.util.StaticUtils.*;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ConcurrentSkipListMap;
@@ -40,17 +49,17 @@
 import org.opends.server.replication.plugin.MultimasterReplication;
 import org.opends.server.replication.protocol.UpdateMsg;
 import org.opends.server.replication.server.ChangelogState;
-import org.opends.server.replication.server.changelog.api.*;
+import org.opends.server.replication.server.changelog.api.ChangeNumberIndexRecord;
+import org.opends.server.replication.server.changelog.api.ChangelogDB;
+import org.opends.server.replication.server.changelog.api.ChangelogException;
+import org.opends.server.replication.server.changelog.api.DBCursor;
+import org.opends.server.replication.server.changelog.api.ReplicationDomainDB;
 import org.opends.server.types.DN;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.util.StaticUtils;
 
 import com.forgerock.opendj.util.Pair;
 
-import static org.opends.messages.ReplicationMessages.*;
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import static org.opends.server.util.StaticUtils.*;
-
 /**
  * Thread responsible for inserting replicated changes into the ChangeNumber
  * Index DB (CNIndexDB for short). Only changes older than the medium
@@ -708,7 +717,13 @@
       {
         StaticUtils.close(map.values());
       }
-      newCursors.remove(baseDN);
+      for (Iterator<Pair<DN, Integer>> it = newCursors.keySet().iterator(); it.hasNext();)
+      {
+        if (it.next().getFirst().equals(baseDN))
+        {
+          it.remove();
+        }
+      }
     }
   }
 
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ExternalChangeLogTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ExternalChangeLogTest.java
index 46da8a1..431f226 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ExternalChangeLogTest.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/ExternalChangeLogTest.java
@@ -226,7 +226,7 @@
     ECLCompatWriteReadAllOps(5);
   }
 
-  @Test(enabled=true, dependsOnMethods = { "PrimaryTest"})
+  @Test(enabled = true, dependsOnMethods = { "TestWithAndWithoutControl" })
   public void TestWithIncludeAttributes() throws Exception
   {
     ECLIncludeAttributes();

--
Gitblit v1.10.0