From 020a870af63f7407d3145feb74351bee3c2ce837 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 17 Dec 2013 11:08:12 +0000
Subject: [PATCH] OPENDJ-1231 (CR-2724) Make the Medium Consistency Point support replica heartbeats and replicas shutting down

---
 opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java b/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
index 61991fc..7a52433 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/je/JEChangelogDB.java
@@ -539,6 +539,23 @@
 
   /** {@inheritDoc} */
   @Override
+  public ServerState getDomainLastAliveCSNs(DN baseDN)
+  {
+    final ChangeNumberIndexer indexer = this.cnIndexer.get();
+    if (indexer != null)
+    {
+      final ServerState results = indexer.getDomainLastAliveCSNs(baseDN);
+      if (results != null)
+      {
+        // return a copy to protect against concurrent modifications
+        return results.duplicate();
+      }
+    }
+    return null;
+  }
+
+  /** {@inheritDoc} */
+  @Override
   public void removeDomain(DN baseDN) throws ChangelogException
   {
     // Remember the first exception because :
@@ -791,8 +808,11 @@
   @Override
   public void replicaHeartbeat(DN baseDN, CSN heartbeatCSN)
   {
-    // TODO implement this when the changelogDB will be responsible for
-    // maintaining the medium consistency point
+    final ChangeNumberIndexer indexer = cnIndexer.get();
+    if (indexer != null)
+    {
+      indexer.publishHeartbeat(baseDN, heartbeatCSN);
+    }
   }
 
   /** {@inheritDoc} */

--
Gitblit v1.10.0