From c642f6a72a4ac8bd65607fc2ffdd29e92a3ab055 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 05 Dec 2013 09:50:44 +0000
Subject: [PATCH] Fixed a readWriteLock deadlock happening on calling ChangelogDB.removeDB() which then calls ReplicationDB.shutdown(). Code is blocked acquiring a writeLock on the dbCloseLock, but a readLock is never unlocked. Debugging showed that the ChangeNumberIndexDB is holding a cursor on a ReplicationDB, said cursor holds the readLock. The solution is to not try to call ReplicationDB.shutdown() in ReplicationServerDomain.shutdownDomain() because it will be closed by JEChangelogDB.shutdownDB().

---
 opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java |    8 --------
 1 files changed, 0 insertions(+), 8 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java b/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java
index b92dc07..786dc64 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java
@@ -84,14 +84,6 @@
   long getDomainLatestTrimDate(DN baseDN);
 
   /**
-   * Shutdown all the replica databases for the specified replication domain.
-   *
-   * @param baseDN
-   *          the replication domain baseDN
-   */
-  void shutdownDomain(DN baseDN);
-
-  /**
    * Removes all the data relating to the specified replication domain and
    * shutdown all its replica databases. In particular, it will:
    * <ol>

--
Gitblit v1.10.0