From ce949f4b26b4c2adcaae36784180e15a3d68abde Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 07 Oct 2011 10:09:52 +0000
Subject: [PATCH] Fix OPENDJ-115: Make replication connection timeouts and various monitoring intervals configurable

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

diff --git a/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java b/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
index 294e65f..80acfb0 100644
--- a/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
+++ b/opends/src/server/org/opends/server/replication/plugin/MultimasterReplication.java
@@ -123,6 +123,11 @@
   private static boolean initializationCompleted = true;
 
   /**
+   * The configurable connection/handshake timeout.
+   */
+  private static volatile int connectionTimeoutMS = 5000;
+
+  /**
    * Finds the domain for a given DN.
    *
    * @param dn         The DN for which the domain must be returned.
@@ -285,6 +290,8 @@
     configuration.addReplicationChangeListener(this);
 
     replayThreadNumber = configuration.getNumUpdateReplayThreads();
+    connectionTimeoutMS = (int) Math.min(configuration.getConnectionTimeout(),
+        Integer.MAX_VALUE);
 
     //  Create the list of domains that are already defined.
     for (String name : configuration.listReplicationDomains())
@@ -821,6 +828,9 @@
       createReplayThreads();
     }
 
+    connectionTimeoutMS = (int) Math.min(configuration.getConnectionTimeout(),
+        Integer.MAX_VALUE);
+
     return new ConfigChangeResult(ResultCode.SUCCESS, false);
   }
 
@@ -882,4 +892,14 @@
     return false;
   }
 
+  /**
+   * Returns the connection timeout in milli-seconds.
+   *
+   * @return The connection timeout in milli-seconds.
+   */
+  public static int getConnectionTimeoutMS()
+  {
+    return connectionTimeoutMS;
+  }
+
 }

--
Gitblit v1.10.0