From 9a13d05fcb1b17c52c7b91b8445d334bce3f9e28 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 22 Nov 2013 09:24:10 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-1174 Transfer responsibility for populating the ChangeNumberIndexDB to ChangelogDB
---
opends/src/server/org/opends/server/replication/common/ServerState.java | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/common/ServerState.java b/opends/src/server/org/opends/server/replication/common/ServerState.java
index ae33dff..edfb1a9 100644
--- a/opends/src/server/org/opends/server/replication/common/ServerState.java
+++ b/opends/src/server/org/opends/server/replication/common/ServerState.java
@@ -192,6 +192,36 @@
}
/**
+ * Removes the mapping to the provided CSN if it is present in this
+ * ServerState.
+ *
+ * @param expectedCSN
+ * the CSN to be removed
+ * @return true if the CSN could be removed, false otherwise.
+ */
+ public boolean removeCSN(CSN expectedCSN)
+ {
+ if (expectedCSN == null)
+ return false;
+
+ synchronized (serverIdToCSN)
+ {
+ for (Iterator<CSN> iter = serverIdToCSN.values().iterator();
+ iter.hasNext();)
+ {
+ final CSN csn = iter.next();
+ if (expectedCSN.equals(csn))
+ {
+ iter.remove();
+ saved = false;
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
* Replace the Server State with another ServerState.
*
* @param serverState The ServerState.
--
Gitblit v1.10.0