From 55e5dd13a9d3d646a3a426cf4f0790f0cded735e Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 30 Sep 2013 14:48:34 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB
---
opends/src/server/org/opends/server/replication/server/ReplicationServer.java | 31 +++----------------------------
1 files changed, 3 insertions(+), 28 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 4dc9c43..4cc7ad4 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -150,13 +150,6 @@
*/
private ChangeNumberIndexDB cnIndexDB;
- /**
- * The last value generated of the change number.
- * <p>
- * Guarded by cnIndexDBLock
- **/
- private long lastGeneratedChangeNumber = 0;
-
/** Used for protecting {@link ChangeNumberIndexDB} related state. */
private final Object cnIndexDBLock = new Object();
@@ -1307,7 +1300,6 @@
shutdownCNIndexDB();
- lastGeneratedChangeNumber = 0;
cnIndexDB = null;
}
}
@@ -1528,11 +1520,6 @@
if (cnIndexDB == null)
{
cnIndexDB = this.changelogDB.newChangeNumberIndexDB();
- final CNIndexRecord lastCNRecord = cnIndexDB.getLastRecord();
- // initialization of the lastGeneratedChangeNumber from the DB content
- // if DB is empty => last record does not exist => default to 0
- lastGeneratedChangeNumber =
- (lastCNRecord != null) ? lastCNRecord.getChangeNumber() : 0;
}
return cnIndexDB;
}
@@ -1547,19 +1534,6 @@
}
/**
- * Generate a new change number.
- *
- * @return The generated change number
- */
- public long getNewChangeNumber()
- {
- synchronized (cnIndexDBLock)
- {
- return ++lastGeneratedChangeNumber;
- }
- }
-
- /**
* Get first and last change number.
*
* @param crossDomainEligibleCSN
@@ -1683,8 +1657,9 @@
{
// The database was empty, just keep increasing numbers since last time
// we generated one change number.
- firstChangeNumber += lastGeneratedChangeNumber;
- lastChangeNumber += lastGeneratedChangeNumber;
+ long lastGeneratedCN = this.cnIndexDB.getLastGeneratedChangeNumber();
+ firstChangeNumber += lastGeneratedCN;
+ lastChangeNumber += lastGeneratedCN;
}
return new long[] { firstChangeNumber, lastChangeNumber };
}
--
Gitblit v1.10.0