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