From 84cf626ebcae1b535abe9efd3eed5cdf78bdd319 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 05 Sep 2013 07:51:54 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB
---
opends/src/server/org/opends/server/replication/server/ReplicationServer.java | 30 +++++++++++++++---------------
1 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
index 90bb23f..11f6507 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -52,6 +52,7 @@
import org.opends.server.replication.common.*;
import org.opends.server.replication.plugin.MultimasterReplication;
import org.opends.server.replication.protocol.*;
+import org.opends.server.replication.server.changelog.api.CNIndexData;
import org.opends.server.replication.server.changelog.api.ChangeNumberIndexDB;
import org.opends.server.replication.server.changelog.api.ChangelogException;
import org.opends.server.replication.server.changelog.je.DbHandler;
@@ -1699,37 +1700,36 @@
* (this diff is done domain by domain)
*/
- long lastChangeNumber;
- boolean dbEmpty = false;
final ChangeNumberIndexDB cnIndexDB = getChangeNumberIndexDB();
-
try
{
- long firstChangeNumber = cnIndexDB.getFirstChangeNumber();
+ boolean dbEmpty = true;
+ long firstChangeNumber = 0;
+ long lastChangeNumber = 0;
+
+ final CNIndexData firstCNData = cnIndexDB.getFirstCNIndexData();
+ final CNIndexData lastCNData = cnIndexDB.getLastCNIndexData();
+
Map<String, ServerState> domainsServerStateForLastCN = null;
CSN csnForLastCN = null;
String domainForLastCN = null;
- if (firstChangeNumber < 1)
+ if (firstCNData != null)
{
- dbEmpty = true;
- firstChangeNumber = 0;
- lastChangeNumber = 0;
- }
- else
- {
- lastChangeNumber = cnIndexDB.getLastChangeNumber();
+ dbEmpty = false;
+ firstChangeNumber = firstCNData.getChangeNumber();
+ lastChangeNumber = lastCNData.getChangeNumber();
// Get the generalized state associated with the current last change
// number and initializes from it the startStates table
- String lastCNGenState = cnIndexDB.getPreviousCookie(lastChangeNumber);
+ String lastCNGenState = lastCNData.getPreviousCookie();
if (lastCNGenState != null && lastCNGenState.length() > 0)
{
domainsServerStateForLastCN = MultiDomainServerState
.splitGenStateToServerStates(lastCNGenState);
}
- csnForLastCN = cnIndexDB.getCSN(lastChangeNumber);
- domainForLastCN = cnIndexDB.getBaseDN(lastChangeNumber);
+ csnForLastCN = lastCNData.getCSN();
+ domainForLastCN = lastCNData.getBaseDN();
}
long newestDate = 0;
--
Gitblit v1.10.0