From 1aaa996b60224f0540d0db87298040561556069f Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Thu, 18 Sep 2014 09:16:51 +0000
Subject: [PATCH] OPENDJ-1487 CR-4580 Prevent opened cursors when cleaning the file-based changelog
---
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/file/FileChangelogDB.java | 37 ++++++++++++++++++-------------------
1 files changed, 18 insertions(+), 19 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/file/FileChangelogDB.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/file/FileChangelogDB.java
index b588dd1..ec88341 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/file/FileChangelogDB.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/file/FileChangelogDB.java
@@ -373,6 +373,24 @@
purger.initiateShutdown();
}
+ // wait for shutdown of the threads holding cursors
+ try
+ {
+ if (indexer != null)
+ {
+ indexer.join();
+ }
+ if (purger != null)
+ {
+ purger.join();
+ }
+ }
+ catch (InterruptedException e)
+ {
+ // do nothing: we are already shutting down
+ }
+
+ // now we can safely shutdown all DBs
try
{
shutdownChangeNumberIndexDB();
@@ -381,7 +399,6 @@
{
firstException = e;
}
-
for (Iterator<ConcurrentMap<Integer, FileReplicaDB>> it =
this.domainToReplicaDBs.values().iterator(); it.hasNext();)
{
@@ -395,26 +412,8 @@
}
}
}
-
if (replicationEnv != null)
{
- // wait for shutdown of the threads holding cursors
- try
- {
- if (indexer != null)
- {
- indexer.join();
- }
- if (purger != null)
- {
- purger.join();
- }
- }
- catch (InterruptedException e)
- {
- // do nothing: we are already shutting down
- }
-
replicationEnv.shutdown();
}
--
Gitblit v1.10.0