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