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/DraftCNDB.java |   11 +++--------
 1 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java b/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java
index fb5faf6..a8f14f9 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java
@@ -653,14 +653,9 @@
         return;
       }
 
-      String dbName = db.getDatabaseName();
-
-      // 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.getOrCreateDraftCNDb();
@@ -687,6 +682,6 @@
    */
   private boolean isDBClosed()
   {
-    return db == null;
+    return db == null || !db.getEnvironment().isValid();
   }
 }

--
Gitblit v1.10.0