From 9d5b1c7a628471604be4768f97fcdaf13cf0639f Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 02 Oct 2013 13:45:10 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB

---
 opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDB.java |   11 +++--------
 1 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDB.java b/opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDB.java
index d2fe3b8..56b2a46 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDB.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/je/ReplicationDB.java
@@ -874,17 +874,12 @@
         return;
       }
 
-      String dbName = db.getDatabaseName();
-
       // Clears the reference to this serverID
       dbenv.clearServerId(baseDN, serverId);
 
-      // Closing is requested by the Berkeley DB before truncate
-      db.close();
+      final Database oldDb = db;
       db = null; // In case there's a failure between here and recreation.
-
-      // Clears the changes
-      dbenv.clearDb(dbName);
+      dbenv.clearDb(oldDb);
 
       // RE-create the db
       db = dbenv.getOrAddDb(serverId, baseDN, -1);
@@ -1190,7 +1185,7 @@
    */
   private boolean isDBClosed()
   {
-    return db == null;
+    return db == null || !db.getEnvironment().isValid();
   }
 
 }

--
Gitblit v1.10.0