From ff3780d4b157202e13413fce11958bbf59cc737a Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Mon, 30 Nov 2009 09:36:32 +0000
Subject: [PATCH] Fix for 4373 : Replication initialization can take a long time at startup

---
 opendj-sdk/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java b/opendj-sdk/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
index e34aa13..c738d45 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
@@ -119,6 +119,8 @@
 
   private boolean isRegistered = false;
 
+  private static boolean initializationCompleted = true;
+
   /**
    * Finds the domain for a given DN.
    *
@@ -268,6 +270,7 @@
       ReplicationSynchronizationProviderCfg configuration)
   throws ConfigException
   {
+    initializationCompleted = false;
     domains.clear();
     replicationServerListener = new ReplicationServerListener(configuration);
 
@@ -307,6 +310,8 @@
 
     DirectoryServer.registerSupportedControl(
         ReplicationRepairRequestControl.OID_REPLICATION_REPAIR_CONTROL);
+
+    initializationCompleted = true;
   }
 
   /**
@@ -843,6 +848,9 @@
    */
   public static boolean isLocalServerId(Integer serverId)
   {
+    if (!initializationCompleted)
+      return true;
+
     for (LDAPReplicationDomain domain : domains.values())
     {
       if (domain.getServerId() == serverId)

--
Gitblit v1.10.0