From 210d5f1b76962b2722db7b4d74c3372c22bcd0ca Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 03 Jan 2014 14:34:26 +0000
Subject: [PATCH] Fixed test failure for JEChangeNumberIndexDBTest.testClear(). Problem was due to the CNIndexDB state not being properly cleaned up. I chose to rely on ReplicationTestCase.remove(ReplicationServer) to clean up the state of the ChangeNumberIndexDB.

---
 opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java b/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
index 0f588a2..fbd19e8 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
@@ -678,6 +678,18 @@
   @Override
   public ChangeNumberIndexDB getChangeNumberIndexDB()
   {
+    return getChangeNumberIndexDB(true);
+  }
+
+  /**
+   * Returns the {@link ChangeNumberIndexDB} object.
+   *
+   * @param startTrimmingThread
+   *          whether the trimming thread should be started
+   * @return the {@link ChangeNumberIndexDB} object
+   */
+  ChangeNumberIndexDB getChangeNumberIndexDB(boolean startTrimmingThread)
+  {
     synchronized (cnIndexDBLock)
     {
       if (cnIndexDB == null)
@@ -685,7 +697,10 @@
         try
         {
           cnIndexDB = new JEChangeNumberIndexDB(replicationServer, this.dbEnv);
-          cnIndexDB.startTrimmingThread();
+          if (startTrimmingThread)
+          {
+            cnIndexDB.startTrimmingThread();
+          }
         }
         catch (Exception e)
         {

--
Gitblit v1.10.0