From 761ba8a31ca6ea11cd1965ab66c3bea4bcd5a01a Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Wed, 06 Jan 2016 14:35:15 +0000
Subject: [PATCH] OPENDJ-2580 File-based changelog growing and filling up the disk when using modrate

---
 opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/MultimasterReplication.java |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/MultimasterReplication.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/MultimasterReplication.java
index 9642cf3..2de69e0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/MultimasterReplication.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/plugin/MultimasterReplication.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2006-2010 Sun Microsystems, Inc.
- *      Portions Copyright 2011-2015 ForgeRock AS
+ *      Portions Copyright 2011-2016 ForgeRock AS
  */
 package org.opends.server.replication.plugin;
 
@@ -866,6 +866,31 @@
    */
   public static boolean isECLEnabledDomain(DN baseDN)
   {
+    waitForStartup();
+    // if state is STOPPING, then we need to return from this method
+    final LDAPReplicationDomain domain = domains.get(baseDN);
+    return domain != null && domain.isECLEnabled();
+  }
+
+  /**
+   * Returns whether the external change-log contains data from at least a domain.
+   * @return whether the external change-log contains data from at least a domain
+   */
+  public static boolean isECLEnabled()
+  {
+    waitForStartup();
+    for (LDAPReplicationDomain domain : domains.values())
+    {
+      if (domain.isECLEnabled())
+      {
+        return true;
+      }
+    }
+    return false;
+  }
+
+  private static void waitForStartup()
+  {
     if (State.STARTING.equals(state.get()))
     {
       synchronized (state)
@@ -883,9 +908,6 @@
         }
       }
     }
-    // if state is STOPPING, then we need to return from this method
-    final LDAPReplicationDomain domain = domains.get(baseDN);
-    return domain != null && domain.isECLEnabled();
   }
 
   /**

--
Gitblit v1.10.0