From de36fa06856d8d04652401bb24e49c3259aef154 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 30 Apr 2014 10:26:42 +0000
Subject: [PATCH] OPENDJ-1259 (CR-3443) Make the Medium Consistency Point support replicas temporarily leaving the topology

---
 opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java b/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
index e2fddc1..8462ce6 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
@@ -2530,11 +2530,29 @@
    * value received, and forwarding the message to the other RSes.
    * @param senderHandler The handler for the server that sent the heartbeat.
    * @param msg The message to process.
+   * @throws DirectoryException
+   *           if a problem occurs
    */
   void processChangeTimeHeartbeatMsg(ServerHandler senderHandler,
-      ChangeTimeHeartbeatMsg msg)
+      ChangeTimeHeartbeatMsg msg) throws DirectoryException
   {
-    domainDB.replicaHeartbeat(baseDN, msg.getCSN());
+    try
+    {
+      if (msg.isReplicaOfflineMsg())
+      {
+        domainDB.replicaOffline(baseDN, msg.getCSN());
+      }
+      else
+      {
+        domainDB.replicaHeartbeat(baseDN, msg.getCSN());
+      }
+    }
+    catch (ChangelogException e)
+    {
+      throw new DirectoryException(ResultCode.OPERATIONS_ERROR, e
+          .getMessageObject(), e);
+    }
+
     if (senderHandler.isDataServer())
     {
       /*

--
Gitblit v1.10.0