From a279ca9e1d01c9bd3f5cb6d05786dbd88ae784f8 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 20 Dec 2013 16:52:22 +0000
Subject: [PATCH] OPENDJ-1231 Make the Medium Consistency Point support replica heartbeats
---
opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java b/opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java
index 40cccc9..1a80a17 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/je/ChangeNumberIndexer.java
@@ -37,6 +37,7 @@
import org.opends.server.replication.common.CSN;
import org.opends.server.replication.common.MultiDomainServerState;
import org.opends.server.replication.common.ServerState;
+import org.opends.server.replication.plugin.MultimasterReplication;
import org.opends.server.replication.protocol.UpdateMsg;
import org.opends.server.replication.server.ChangelogState;
import org.opends.server.replication.server.changelog.api.*;
@@ -175,6 +176,11 @@
*/
public void publishHeartbeat(DN baseDN, CSN heartbeatCSN)
{
+ if (isExcludedFromECL(baseDN))
+ {
+ return;
+ }
+
lastAliveCSNs.update(baseDN, heartbeatCSN);
tryNotify(baseDN);
}
@@ -192,6 +198,11 @@
public void publishUpdateMsg(DN baseDN, UpdateMsg updateMsg)
throws ChangelogException
{
+ if (isExcludedFromECL(baseDN))
+ {
+ return;
+ }
+
final CSN csn = updateMsg.getCSN();
lastAliveCSNs.update(baseDN, csn);
// only keep the oldest CSN that will be the new cursor's starting point
@@ -199,6 +210,12 @@
tryNotify(baseDN);
}
+ private boolean isExcludedFromECL(DN baseDN)
+ {
+ Set<String> excludedDNs = MultimasterReplication.getECLDisabledDomains();
+ return excludedDNs.contains(baseDN.toNormalizedString());
+ }
+
/**
* Returns the last time each serverId was seen alive for the specified
* replication domain.
--
Gitblit v1.10.0