From 5f57c0e25899bbe8f02d43afe1d9ffc043d0d44c Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 06 Sep 2013 09:08:26 +0000
Subject: [PATCH] OPENDJ-1116 Introduce abstraction for the changelog DB
---
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java | 26 ++--
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNData.java | 28 ++--
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDB.java | 30 +++--
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java | 48 ++++-----
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandler.java | 55 +++++-----
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbIterator.java | 4
opendj-sdk/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java | 44 ++++----
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/CNIndexRecord.java | 4
opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDBCursor.java | 6
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandlerTest.java | 42 ++++----
10 files changed, 143 insertions(+), 144 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
index e3cdc07..8621480 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
@@ -571,15 +571,15 @@
{
// Request filter DOES NOT contain any first change number
// So we'll generate from the first change number in the DraftCNdb
- final CNIndexData firstCNData = cnIndexDB.getFirstCNIndexData();
- if (firstCNData == null)
+ final CNIndexRecord firstCNRecord = cnIndexDB.getFirstRecord();
+ if (firstCNRecord == null)
{ // DB is empty or closed
isEndOfCNIndexDBReached = true;
return null;
}
- final long firstChangeNumber = firstCNData.getChangeNumber();
- final String crossDomainStartState = firstCNData.getPreviousCookie();
+ final long firstChangeNumber = firstCNRecord.getChangeNumber();
+ final String crossDomainStartState = firstCNRecord.getPreviousCookie();
cnIndexDBCursor = cnIndexDB.getCursorFrom(firstChangeNumber);
return crossDomainStartState;
}
@@ -587,11 +587,11 @@
// Request filter DOES contain a startChangeNumber
// Read the draftCNDb to see whether it contains startChangeNumber
- CNIndexData startCNData = cnIndexDB.getCNIndexData(startChangeNumber);
- if (startCNData != null)
+ CNIndexRecord startCNRecord = cnIndexDB.getRecord(startChangeNumber);
+ if (startCNRecord != null)
{
// found the provided startChangeNumber, let's return it
- final String crossDomainStartState = startCNData.getPreviousCookie();
+ final String crossDomainStartState = startCNRecord.getPreviousCookie();
cnIndexDBCursor = cnIndexDB.getCursorFrom(startChangeNumber);
return crossDomainStartState;
}
@@ -611,10 +611,10 @@
// the DB, let's use the lower limit.
if (startChangeNumber < firstChangeNumber)
{
- CNIndexData firstCNData = cnIndexDB.getCNIndexData(firstChangeNumber);
- if (firstCNData != null)
+ CNIndexRecord firstCNRecord = cnIndexDB.getRecord(firstChangeNumber);
+ if (firstCNRecord != null)
{
- final String crossDomainStartState = firstCNData.getPreviousCookie();
+ final String crossDomainStartState = firstCNRecord.getPreviousCookie();
cnIndexDBCursor = cnIndexDB.getCursorFrom(firstChangeNumber);
return crossDomainStartState;
}
@@ -627,15 +627,15 @@
{
// startChangeNumber is between first and potential last and has never
// been returned yet
- final CNIndexData lastCNData = cnIndexDB.getLastCNIndexData();
- if (lastCNData == null)
+ final CNIndexRecord lastCNRecord = cnIndexDB.getLastRecord();
+ if (lastCNRecord == null)
{
isEndOfCNIndexDBReached = true;
return null;
}
- final long lastKey = lastCNData.getChangeNumber();
- final String crossDomainStartState = lastCNData.getPreviousCookie();
+ final long lastKey = lastCNRecord.getChangeNumber();
+ final String crossDomainStartState = lastCNRecord.getPreviousCookie();
cnIndexDBCursor = cnIndexDB.getCursorFrom(lastKey);
return crossDomainStartState;
@@ -1370,9 +1370,9 @@
// the next change from the CNIndexDB
- final CNIndexData cnIndexData = cnIndexDBCursor.getCNIndexData();
- final CSN csnFromDraftCNDb = cnIndexData.getCSN();
- final String dnFromDraftCNDb = cnIndexData.getBaseDN();
+ final CNIndexRecord currentRecord = cnIndexDBCursor.getRecord();
+ final CSN csnFromDraftCNDb = currentRecord.getCSN();
+ final String dnFromDraftCNDb = currentRecord.getBaseDN();
if (debugEnabled())
TRACER.debugInfo("assignChangeNumber() generating change number "
@@ -1387,10 +1387,10 @@
{
if (debugEnabled())
TRACER.debugInfo("assignChangeNumber() generating change number "
- + " assigning changeNumber=" + cnIndexData.getChangeNumber()
+ + " assigning changeNumber=" + currentRecord.getChangeNumber()
+ " to change=" + oldestChange);
- oldestChange.setChangeNumber(cnIndexData.getChangeNumber());
+ oldestChange.setChangeNumber(currentRecord.getChangeNumber());
return true;
}
@@ -1424,8 +1424,8 @@
if (debugEnabled())
TRACER.debugInfo("assignChangeNumber() generating change number has"
- + "skipped to changeNumber=" + cnIndexData.getChangeNumber()
- + " csn=" + cnIndexData.getCSN() + " End of CNIndexDB ?"
+ + "skipped to changeNumber=" + currentRecord.getChangeNumber()
+ + " csn=" + currentRecord.getCSN() + " End of CNIndexDB ?"
+ isEndOfCNIndexDBReached);
}
catch (ChangelogException e)
@@ -1455,7 +1455,7 @@
// store in CNIndexDB the pair
// (change number of the current change, state before this change)
- replicationServer.getChangeNumberIndexDB().add(new CNIndexData(
+ replicationServer.getChangeNumberIndexDB().addRecord(new CNIndexRecord(
change.getChangeNumber(),
previousCookie.toString(),
change.getBaseDN(),
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
index 7ea509d..a9d179e 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -52,7 +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.CNIndexRecord;
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;
@@ -1626,11 +1626,11 @@
if (cnIndexDB == null)
{
cnIndexDB = new DraftCNDbHandler(this, this.dbEnv);
- final CNIndexData lastCNData = cnIndexDB.getLastCNIndexData();
+ final CNIndexRecord lastCNRecord = cnIndexDB.getLastRecord();
// initialization of the lastGeneratedChangeNumebr from the DB content
- // if DB is empty => lastCNData is null => Default to 0
+ // if DB is empty => last record does not exist => default to 0
lastGeneratedChangeNumber =
- (lastCNData != null) ? lastCNData.getChangeNumber() : 0;
+ (lastCNRecord != null) ? lastCNRecord.getChangeNumber() : 0;
}
return cnIndexDB;
}
@@ -1698,15 +1698,15 @@
long firstChangeNumber = 0;
long lastChangeNumber = 0;
- final CNIndexData firstCNData = cnIndexDB.getFirstCNIndexData();
- final CNIndexData lastCNData = cnIndexDB.getLastCNIndexData();
+ final CNIndexRecord firstCNRecord = cnIndexDB.getFirstRecord();
+ final CNIndexRecord lastCNRecord = cnIndexDB.getLastRecord();
Map<String, ServerState> domainsServerStateForLastCN = null;
CSN csnForLastCN = null;
String domainForLastCN = null;
- if (firstCNData != null)
+ if (firstCNRecord != null)
{
- if (lastCNData == null)
+ if (lastCNRecord == null)
{
// Edge case: DB was cleaned or closed in between call to getFirst*()
// and getLast*(). The only remaining solution is to fail fast.
@@ -1715,20 +1715,20 @@
}
dbEmpty = false;
- firstChangeNumber = firstCNData.getChangeNumber();
- lastChangeNumber = lastCNData.getChangeNumber();
+ firstChangeNumber = firstCNRecord.getChangeNumber();
+ lastChangeNumber = lastCNRecord.getChangeNumber();
// Get the generalized state associated with the current last change
// number and initializes from it the startStates table
- String lastCNGenState = lastCNData.getPreviousCookie();
+ String lastCNGenState = lastCNRecord.getPreviousCookie();
if (lastCNGenState != null && lastCNGenState.length() > 0)
{
domainsServerStateForLastCN = MultiDomainServerState
.splitGenStateToServerStates(lastCNGenState);
}
- csnForLastCN = lastCNData.getCSN();
- domainForLastCN = lastCNData.getBaseDN();
+ csnForLastCN = lastCNRecord.getCSN();
+ domainForLastCN = lastCNRecord.getBaseDN();
}
long newestDate = 0;
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/CNIndexData.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/CNIndexRecord.java
similarity index 95%
rename from opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/CNIndexData.java
rename to opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/CNIndexRecord.java
index 9a4348e..4363a21 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/CNIndexData.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/CNIndexRecord.java
@@ -32,7 +32,7 @@
* The Change Number Index Data class represents records stored in the
* {@link ChangeNumberIndexDB}.
*/
-public class CNIndexData
+public class CNIndexRecord
{
/** This is the key used to store the rest of the . */
@@ -53,7 +53,7 @@
* @param csn
* the replication CSN field
*/
- public CNIndexData(long changeNumber, String previousCookie, String baseDN,
+ public CNIndexRecord(long changeNumber, String previousCookie, String baseDN,
CSN csn)
{
super();
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDB.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDB.java
index 5caee34..b97f471 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDB.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDB.java
@@ -28,8 +28,8 @@
/**
* This class stores an index of all the changes seen by this server in the form
- * of {@link CNIndexData}. The index is sorted by a global ordering as defined
- * in the CSN class. The index links a <code>changeNumber</code> to the
+ * of {@link CNIndexRecord}s. The records are sorted by a global ordering as
+ * defined in the CSN class. The index links a <code>changeNumber</code> to the
* corresponding CSN. The CSN then links to a corresponding change in one of the
* ReplicaDBs.
*
@@ -43,33 +43,35 @@
{
/**
- * Get the {@link CNIndexData} record associated to a provided change number.
+ * Get the record associated to a provided change number.
*
* @param changeNumber
* the provided change number.
- * @return the {@link CNIndexData} record, null when none.
+ * @return the {@link CNIndexRecord}, null when none.
* @throws ChangelogException
* if a database problem occurs.
*/
- CNIndexData getCNIndexData(long changeNumber) throws ChangelogException;
+ CNIndexRecord getRecord(long changeNumber) throws ChangelogException;
/**
- * Get the first {@link CNIndexData} record stored in this DB.
+ * Get the first record stored in this DB.
*
- * @return Returns the first {@link CNIndexData} record in this DB.
+ * @return Returns the first {@link CNIndexRecord} in this DB, null when the
+ * DB is empty or closed
* @throws ChangelogException
* if a database problem occurs.
*/
- CNIndexData getFirstCNIndexData() throws ChangelogException;
+ CNIndexRecord getFirstRecord() throws ChangelogException;
/**
- * Get the last {@link CNIndexData} record stored in this DB.
+ * Get the last record stored in this DB.
*
- * @return Returns the last {@link CNIndexData} record in this DB
+ * @return Returns the last {@link CNIndexRecord} in this DB, null when the DB
+ * is empty or closed
* @throws ChangelogException
* if a database problem occurs.
*/
- CNIndexData getLastCNIndexData() throws ChangelogException;
+ CNIndexRecord getLastRecord() throws ChangelogException;
/**
* Add an update to the list of messages that must be saved to this DB managed
@@ -78,12 +80,12 @@
* This method is blocking if the size of the list of message is larger than
* its maximum.
*
- * @param cnIndexData
- * The {@link CNIndexData} record to add to this DB.
+ * @param record
+ * The {@link CNIndexRecord} to add to this DB.
* @throws ChangelogException
* if a database problem occurs.
*/
- void add(CNIndexData cnIndexData) throws ChangelogException;
+ void addRecord(CNIndexRecord record) throws ChangelogException;
/**
* Generate a new {@link ChangeNumberIndexDBCursor} that allows to browse the
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDBCursor.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDBCursor.java
index a5a02a3..599c9c8 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDBCursor.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/api/ChangeNumberIndexDBCursor.java
@@ -37,11 +37,11 @@
{
/**
- * Getter for the {@link CNIndexData} record.
+ * Getter for the record.
*
- * @return The replication CNIndexData record.
+ * @return The current {@link CNIndexRecord}.
*/
- CNIndexData getCNIndexData();
+ CNIndexRecord getRecord();
/**
* Skip to the next record of the database.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java
index 7319e1e..dd878d9 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDB.java
@@ -34,7 +34,7 @@
import org.opends.messages.Message;
import org.opends.messages.MessageBuilder;
import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.replication.server.changelog.api.CNIndexData;
+import org.opends.server.replication.server.changelog.api.CNIndexRecord;
import org.opends.server.replication.server.changelog.api.ChangelogException;
import org.opends.server.types.DebugLogLevel;
@@ -81,20 +81,19 @@
}
/**
- * Add an entry to the database.
+ * Add a record to the database.
*
- * @param cnIndexData
- * the provided {@link CNIndexData} to be stored.
+ * @param record
+ * the provided {@link CNIndexRecord} to be stored.
*/
- public void addEntry(CNIndexData cnIndexData)
+ public void addRecord(CNIndexRecord record)
{
try
{
- final long changeNumber = cnIndexData.getChangeNumber();
+ final long changeNumber = record.getChangeNumber();
DatabaseEntry key = new ReplicationDraftCNKey(changeNumber);
- DatabaseEntry data =
- new DraftCNData(changeNumber, cnIndexData.getPreviousCookie(),
- cnIndexData.getBaseDN(), cnIndexData.getCSN());
+ DatabaseEntry data = new DraftCNData(changeNumber,
+ record.getPreviousCookie(), record.getBaseDN(), record.getCSN());
// Use a transaction so that we can override durability.
Transaction txn = null;
@@ -221,7 +220,7 @@
* @throws ChangelogException
* if a database problem occurred
*/
- public CNIndexData readFirstCNIndexData() throws ChangelogException
+ public CNIndexRecord readFirstRecord() throws ChangelogException
{
try
{
@@ -243,7 +242,7 @@
return null;
}
- return newCNIndexData(key, entry);
+ return newCNIndexRecord(key, entry);
}
finally
{
@@ -257,11 +256,10 @@
}
}
- private CNIndexData newCNIndexData(ReplicationDraftCNKey key,
+ private CNIndexRecord newCNIndexRecord(ReplicationDraftCNKey key,
DatabaseEntry data) throws ChangelogException
{
- return new DraftCNData(key.getChangeNumber(), data.getData())
- .getCNIndexData();
+ return new DraftCNData(key.getChangeNumber(), data.getData()).getRecord();
}
/**
@@ -299,7 +297,7 @@
* @throws ChangelogException
* if a database problem occurred
*/
- public CNIndexData readLastCNIndexData() throws ChangelogException
+ public CNIndexRecord readLastRecord() throws ChangelogException
{
try
{
@@ -321,7 +319,7 @@
return null;
}
- return newCNIndexData(key, entry);
+ return newCNIndexRecord(key, entry);
}
finally
{
@@ -359,7 +357,7 @@
private final Transaction txn;
private final ReplicationDraftCNKey key;
private final DatabaseEntry entry = new DatabaseEntry();
- private CNIndexData cnIndexData;
+ private CNIndexRecord record;
private boolean isClosed = false;
@@ -413,12 +411,12 @@
}
else
{
- cnIndexData = newCNIndexData(this.key, entry);
+ record = newCNIndexRecord(this.key, entry);
}
}
else
{
- cnIndexData = newCNIndexData(this.key, entry);
+ record = newCNIndexRecord(this.key, entry);
}
}
@@ -549,11 +547,11 @@
}
/**
- * Returns the {@link CNIndexData} at the current position of the cursor.
+ * Returns the {@link CNIndexRecord} at the current position of the cursor.
*
- * @return The current {@link CNIndexData}.
+ * @return The current {@link CNIndexRecord}.
*/
- public CNIndexData currentData()
+ public CNIndexRecord currentRecord()
{
if (isClosed)
{
@@ -562,7 +560,7 @@
try
{
- return cnIndexData;
+ return record;
}
catch (Exception e)
{
@@ -588,10 +586,10 @@
OperationStatus status = cursor.getNext(key, entry, LockMode.DEFAULT);
if (status != OperationStatus.SUCCESS)
{
- cnIndexData = null;
+ record = null;
return false;
}
- cnIndexData = newCNIndexData(this.key, entry);
+ record = newCNIndexRecord(this.key, entry);
}
catch(Exception e)
{
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNData.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNData.java
index 8335497..77e2efd 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNData.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNData.java
@@ -31,7 +31,7 @@
import org.opends.messages.Message;
import org.opends.server.replication.common.CSN;
-import org.opends.server.replication.server.changelog.api.CNIndexData;
+import org.opends.server.replication.server.changelog.api.CNIndexRecord;
import org.opends.server.replication.server.changelog.api.ChangelogException;
import com.sleepycat.je.DatabaseEntry;
@@ -48,7 +48,7 @@
private static final long serialVersionUID = 1L;
private long changeNumber;
- private CNIndexData cnIndexData;
+ private CNIndexRecord record;
/**
* Creates a record to be stored in the DraftCNDB.
@@ -84,27 +84,27 @@
public DraftCNData(long changeNumber, byte[] data) throws ChangelogException
{
this.changeNumber = changeNumber;
- this.cnIndexData = decodeData(changeNumber, data);
+ this.record = decodeData(changeNumber, data);
}
/**
- * Decode and returns a {@link CNIndexData} record.
+ * Decode and returns a {@link CNIndexRecord}.
*
* @param changeNumber
* @param data
* the provided byte array.
- * @return the decoded {@link CNIndexData} record
+ * @return the decoded {@link CNIndexRecord}
* @throws ChangelogException
* when a problem occurs.
*/
- private CNIndexData decodeData(long changeNumber, byte[] data)
+ private CNIndexRecord decodeData(long changeNumber, byte[] data)
throws ChangelogException
{
try
{
String stringData = new String(data, "UTF-8");
String[] str = stringData.split(FIELD_SEPARATOR, 3);
- return new CNIndexData(changeNumber, str[0], str[1], new CSN(str[2]));
+ return new CNIndexRecord(changeNumber, str[0], str[1], new CSN(str[2]));
}
catch (UnsupportedEncodingException e)
{
@@ -115,17 +115,17 @@
}
/**
- * Getter for the decoded {@link CNIndexData} record.
+ * Getter for the decoded record.
*
- * @return the CNIndexData record.
+ * @return the {@link CNIndexRecord} record.
* @throws ChangelogException
* when a problem occurs.
*/
- public CNIndexData getCNIndexData() throws ChangelogException
+ public CNIndexRecord getRecord() throws ChangelogException
{
- if (cnIndexData == null)
- cnIndexData = decodeData(changeNumber, getData());
- return cnIndexData;
+ if (record == null)
+ record = decodeData(changeNumber, getData());
+ return record;
}
/**
@@ -135,7 +135,7 @@
@Override
public String toString()
{
- return "DraftCNData : [" + cnIndexData + "]";
+ return "DraftCNData : [" + record + "]";
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandler.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandler.java
index 4a10839..a070ac2 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandler.java
@@ -123,8 +123,8 @@
// DB initialization
db = new DraftCNDB(dbenv);
- firstChangeNumber = getChangeNumber(db.readFirstCNIndexData());
- lastChangeNumber = getChangeNumber(db.readLastCNIndexData());
+ firstChangeNumber = getChangeNumber(db.readFirstRecord());
+ lastChangeNumber = getChangeNumber(db.readLastRecord());
// Trimming thread
thread = new DirectoryThread(this, "Replication DraftCN db");
@@ -135,38 +135,37 @@
DirectoryServer.registerMonitorProvider(dbMonitor);
}
- private long getChangeNumber(CNIndexData cnIndexData)
- throws ChangelogException
+ private long getChangeNumber(CNIndexRecord record) throws ChangelogException
{
- if (cnIndexData != null)
+ if (record != null)
{
- return cnIndexData.getChangeNumber();
+ return record.getChangeNumber();
}
return 0;
}
/** {@inheritDoc} */
@Override
- public void add(CNIndexData cnIndexData) throws ChangelogException
+ public void addRecord(CNIndexRecord record) throws ChangelogException
{
- db.addEntry(cnIndexData);
+ db.addRecord(record);
if (debugEnabled())
- TRACER.debugInfo("In DraftCNDbhandler.add, added: " + cnIndexData);
+ TRACER.debugInfo("In DraftCNDbhandler.add, added: " + record);
}
/** {@inheritDoc} */
@Override
- public CNIndexData getFirstCNIndexData() throws ChangelogException
+ public CNIndexRecord getFirstRecord() throws ChangelogException
{
- return db.readFirstCNIndexData();
+ return db.readFirstRecord();
}
/** {@inheritDoc} */
@Override
- public CNIndexData getLastCNIndexData() throws ChangelogException
+ public CNIndexRecord getLastRecord() throws ChangelogException
{
- return db.readLastCNIndexData();
+ return db.readLastRecord();
}
/**
@@ -182,7 +181,7 @@
@Override
public boolean isEmpty() throws ChangelogException
{
- return getLastCNIndexData() == null;
+ return getLastRecord() == null;
}
/**
@@ -321,8 +320,8 @@
}
// From the draftCNDb change record, get the domain and CSN
- final CNIndexData data = cursor.currentData();
- final String baseDN = data.getBaseDN();
+ final CNIndexRecord record = cursor.currentRecord();
+ final String baseDN = record.getBaseDN();
if (baseDNToClear != null && baseDNToClear.equalsIgnoreCase(baseDN))
{
cursor.delete();
@@ -340,11 +339,11 @@
continue;
}
- final CSN csn = data.getCSN();
+ final CSN csn = record.getCSN();
final ServerState startState = domain.getStartState();
final CSN fcsn = startState.getCSN(csn.getServerId());
- final long currentChangeNumber = data.getChangeNumber();
+ final long currentChangeNumber = record.getChangeNumber();
if (csn.older(fcsn))
{
@@ -357,7 +356,7 @@
{
Map<String, ServerState> csnStartStates =
MultiDomainServerState.splitGenStateToServerStates(
- data.getPreviousCookie());
+ record.getPreviousCookie());
csnVector = csnStartStates.get(baseDN);
if (debugEnabled())
@@ -424,8 +423,8 @@
try
{
- CNIndexData firstCNData = db.readFirstCNIndexData();
- String firstCN = String.valueOf(firstCNData.getChangeNumber());
+ CNIndexRecord firstCNRecord = db.readFirstRecord();
+ String firstCN = String.valueOf(firstCNRecord.getChangeNumber());
attributes.add(Attributes.create("first-draft-changenumber", firstCN));
}
catch (ChangelogException e)
@@ -437,10 +436,10 @@
try
{
- CNIndexData lastCNData = db.readLastCNIndexData();
- if (lastCNData != null)
+ CNIndexRecord lastCNRecord = db.readLastRecord();
+ if (lastCNRecord != null)
{
- String lastCN = String.valueOf(lastCNData.getChangeNumber());
+ String lastCN = String.valueOf(lastCNRecord.getChangeNumber());
attributes.add(Attributes.create("last-draft-changenumber", lastCN));
}
}
@@ -498,8 +497,8 @@
public void clear() throws ChangelogException
{
db.clear();
- firstChangeNumber = getChangeNumber(db.readFirstCNIndexData());
- lastChangeNumber = getChangeNumber(db.readLastCNIndexData());
+ firstChangeNumber = getChangeNumber(db.readFirstRecord());
+ lastChangeNumber = getChangeNumber(db.readLastRecord());
}
private ReentrantLock lock = new ReentrantLock();
@@ -532,14 +531,14 @@
/** {@inheritDoc} */
@Override
- public CNIndexData getCNIndexData(long changeNumber)
+ public CNIndexRecord getRecord(long changeNumber)
throws ChangelogException
{
DraftCNDBCursor cursor = null;
try
{
cursor = db.openReadCursor(changeNumber);
- return cursor.currentData();
+ return cursor.currentRecord();
}
finally
{
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbIterator.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbIterator.java
index 762d027..ab7a5e7 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbIterator.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbIterator.java
@@ -67,11 +67,11 @@
/** {@inheritDoc} */
@Override
- public CNIndexData getCNIndexData()
+ public CNIndexRecord getRecord()
{
try
{
- return this.draftCNDbCursor.currentData();
+ return this.draftCNDbCursor.currentRecord();
}
catch (Exception e)
{
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandlerTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandlerTest.java
index b6e34f2..b82861c 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandlerTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/changelog/je/DraftCNDbHandlerTest.java
@@ -36,7 +36,7 @@
import org.opends.server.replication.common.CSNGenerator;
import org.opends.server.replication.server.ReplServerFakeConfiguration;
import org.opends.server.replication.server.ReplicationServer;
-import org.opends.server.replication.server.changelog.api.CNIndexData;
+import org.opends.server.replication.server.changelog.api.CNIndexRecord;
import org.opends.server.replication.server.changelog.api.ChangeNumberIndexDBCursor;
import org.opends.server.replication.server.changelog.api.ChangelogException;
import org.opends.server.replication.server.changelog.je.DraftCNDB.DraftCNDBCursor;
@@ -102,26 +102,26 @@
CSN csn3 = gen.newCSN();
// Add records
- handler.add(new CNIndexData(cn1, value1, baseDN1, csn1));
- handler.add(new CNIndexData(cn2, value2, baseDN2, csn2));
- handler.add(new CNIndexData(cn3, value3, baseDN3, csn3));
+ handler.addRecord(new CNIndexRecord(cn1, value1, baseDN1, csn1));
+ handler.addRecord(new CNIndexRecord(cn2, value2, baseDN2, csn2));
+ handler.addRecord(new CNIndexRecord(cn3, value3, baseDN3, csn3));
// The ChangeNumber should not get purged
- final long firstChangeNumber = handler.getFirstCNIndexData().getChangeNumber();
+ final long firstChangeNumber = handler.getFirstRecord().getChangeNumber();
assertEquals(firstChangeNumber, cn1);
- assertEquals(handler.getLastCNIndexData().getChangeNumber(), cn3);
+ assertEquals(handler.getLastRecord().getChangeNumber(), cn3);
DraftCNDBCursor dbc = handler.getReadCursor(firstChangeNumber);
try
{
- assertEqualTo(dbc.currentData(), csn1, baseDN1, value1);
+ assertEqualTo(dbc.currentRecord(), csn1, baseDN1, value1);
assertTrue(dbc.toString().length() != 0);
assertTrue(dbc.next());
- assertEqualTo(dbc.currentData(), csn2, baseDN2, value2);
+ assertEqualTo(dbc.currentRecord(), csn2, baseDN2, value2);
assertTrue(dbc.next());
- assertEqualTo(dbc.currentData(), csn3, baseDN3, value3);
+ assertEqualTo(dbc.currentRecord(), csn3, baseDN3, value3);
assertFalse(dbc.next());
}
@@ -137,8 +137,8 @@
{
Thread.sleep(200);
}
- assertNull(handler.getFirstCNIndexData());
- assertNull(handler.getLastCNIndexData());
+ assertNull(handler.getFirstRecord());
+ assertNull(handler.getLastRecord());
assertEquals(handler.count(), 0);
}
finally
@@ -153,7 +153,7 @@
}
}
- private void assertEqualTo(CNIndexData data, CSN csn, String baseDN,
+ private void assertEqualTo(CNIndexRecord data, CSN csn, String baseDN,
String cookie)
{
assertEquals(data.getCSN(), csn);
@@ -229,14 +229,14 @@
CSN csn3 = gen.newCSN();
// Add records
- handler.add(new CNIndexData(cn1, value1, baseDN1, csn1));
- handler.add(new CNIndexData(cn2, value2, baseDN2, csn2));
- handler.add(new CNIndexData(cn3, value3, baseDN3, csn3));
+ handler.addRecord(new CNIndexRecord(cn1, value1, baseDN1, csn1));
+ handler.addRecord(new CNIndexRecord(cn2, value2, baseDN2, csn2));
+ handler.addRecord(new CNIndexRecord(cn3, value3, baseDN3, csn3));
Thread.sleep(500);
// Checks
- assertEquals(handler.getFirstCNIndexData().getChangeNumber(), cn1);
- assertEquals(handler.getLastCNIndexData().getChangeNumber(), cn3);
+ assertEquals(handler.getFirstRecord().getChangeNumber(), cn1);
+ assertEquals(handler.getLastRecord().getChangeNumber(), cn3);
assertEquals(handler.count(), 3, "Db count");
assertFalse(handler.isEmpty());
@@ -257,8 +257,8 @@
handler.clear();
// Check the db is cleared.
- assertNull(handler.getFirstCNIndexData());
- assertNull(handler.getLastCNIndexData());
+ assertNull(handler.getFirstRecord());
+ assertNull(handler.getLastRecord());
assertEquals(handler.count(), 0);
assertTrue(handler.isEmpty());
}
@@ -279,7 +279,7 @@
ChangeNumberIndexDBCursor cursor = handler.getCursorFrom(changeNumber);
try
{
- return cursor.getCNIndexData().getPreviousCookie();
+ return cursor.getRecord().getPreviousCookie();
}
finally
{
@@ -294,7 +294,7 @@
{
for (int i = 0; i < sns.length; i++)
{
- assertEquals(cursor.getCNIndexData().getChangeNumber(), sns[i]);
+ assertEquals(cursor.getRecord().getChangeNumber(), sns[i]);
final boolean isNotLast = i + 1 < sns.length;
assertEquals(cursor.next(), isNotLast);
}
--
Gitblit v1.10.0