From 714c43e3b40e90802dcd67ebb509943a6c24d02c Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 04 Sep 2013 08:43:15 +0000
Subject: [PATCH] In javadocs, variable names, method names, etc., renamed: - "draft change number" to "change number" - "draftCN" to "change number" - "sn" to "cn" in tests. Fixed wrong usage of seqnum (only defined for CSNs - see the various IETF draft)
---
opendj-sdk/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java | 167 ++++++++++++++++++++++++++++---------------------------
1 files changed, 86 insertions(+), 81 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 64bfbfc..ff7da17 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
@@ -69,14 +69,13 @@
private boolean draftCompat = false;
/**
- * Specifies the last draft changer number (seqnum) requested.
+ * Specifies the last changer number requested.
*/
- private int lastDraftCN = 0;
+ private int lastChangeNumber = 0;
/**
- * Specifies whether the draft change number (seqnum) db has been read until
- * its end.
+ * Specifies whether the change number db has been read until its end.
*/
- private boolean isEndOfDraftCNReached = false;
+ private boolean isEndOfCNIndexDBReached = false;
/**
* Specifies whether the current search has been requested to be persistent
* or not.
@@ -118,8 +117,8 @@
"[" +
"[draftCompat=" + draftCompat +
"] [persistent=" + isPersistent +
- "] [lastDraftCN=" + lastDraftCN +
- "] [isEndOfDraftCNReached=" + isEndOfDraftCNReached +
+ "] [startChangeNumber=" + lastChangeNumber +
+ "] [isEndOfDraftCNReached=" + isEndOfCNIndexDBReached +
"] [searchPhase=" + searchPhase +
"] [startCookie=" + startCookie +
"] [previousCookie=" + previousCookie +
@@ -516,18 +515,21 @@
}
/**
- * Initialize the handler from a provided draft first change number.
- * @param startDraftCN The provided draft first change number.
- * @throws DirectoryException When an error is raised.
+ * Initialize the handler from a provided first change number.
+ *
+ * @param startChangeNumber
+ * The provided first change number.
+ * @throws DirectoryException
+ * When an error is raised.
*/
- private void initializeCLSearchFromDraftCN(int startDraftCN)
+ private void initializeCLSearchFromChangeNumber(int startChangeNumber)
throws DirectoryException
{
try
{
this.draftCompat = true;
- final String providedCookie = findCookie(startDraftCN);
+ final String providedCookie = findCookie(startChangeNumber);
initializeChangelogDomainCtxts(providedCookie, true);
}
catch(DirectoryException de)
@@ -548,91 +550,93 @@
}
/**
- * Finds in the draft changelog DB the cookie corresponding to the passed in
- * startDraftCN.
+ * Finds in the {@link ChangeNumberIndexDB} the cookie corresponding to the
+ * passed in startChangeNumber.
*
- * @param startDraftCN
- * the start draftCN coming from the request filter.
- * @return the cookie corresponding to the passed in startDraftCN.
+ * @param startChangeNumber
+ * the start change number coming from the request filter.
+ * @return the cookie corresponding to the passed in startChangeNumber.
* @throws Exception
* if a database problem occurred
* @throws DirectoryException
* if a database problem occurred
*/
- private String findCookie(final int startDraftCN) throws ChangelogException,
+ private String findCookie(final int startChangeNumber)
+ throws ChangelogException,
DirectoryException
{
final ChangeNumberIndexDB cnIndexDB =
replicationServer.getChangeNumberIndexDB();
- if (startDraftCN <= 1)
+ if (startChangeNumber <= 1)
{
- // Request filter DOES NOT contain any firstDraftCN
- // So we'll generate from the first DraftCN in the DraftCNdb
+ // Request filter DOES NOT contain any first change number
+ // So we'll generate from the first change number in the DraftCNdb
if (cnIndexDB.isEmpty())
{
// FIXME JNR if we find a way to make draftCNDb.isEmpty() a non costly
// operation, then I think we can move this check to the top of this
// method
- isEndOfDraftCNReached = true;
+ isEndOfCNIndexDBReached = true;
return null;
}
- final int firstDraftCN = cnIndexDB.getFirstDraftCN();
+ final int firstChangeNumber = cnIndexDB.getFirstChangeNumber();
final String crossDomainStartState =
- cnIndexDB.getPreviousCookie(firstDraftCN);
- cnIndexDBCursor = cnIndexDB.getCursorFrom(firstDraftCN);
+ cnIndexDB.getPreviousCookie(firstChangeNumber);
+ cnIndexDBCursor = cnIndexDB.getCursorFrom(firstChangeNumber);
return crossDomainStartState;
}
- // Request filter DOES contain a startDraftCN
+ // Request filter DOES contain a startChangeNumber
- // Read the draftCNDb to see whether it contains startDraftCN
- String crossDomainStartState = cnIndexDB.getPreviousCookie(startDraftCN);
+ // Read the draftCNDb to see whether it contains startChangeNumber
+ String crossDomainStartState =
+ cnIndexDB.getPreviousCookie(startChangeNumber);
if (crossDomainStartState != null)
{
- // found the provided startDraftCN, let's return it
- cnIndexDBCursor = cnIndexDB.getCursorFrom(startDraftCN);
+ // found the provided startChangeNumber, let's return it
+ cnIndexDBCursor = cnIndexDB.getCursorFrom(startChangeNumber);
return crossDomainStartState;
}
- // startDraftCN provided in the request IS NOT in the DraftCNDb
+ // startChangeNumber provided in the request IS NOT in the DraftCNDb
/*
* Get the draftLimits (from the eligibleCSN got at the beginning of the
- * operation) in order to have the first and possible last DraftCN.
+ * operation) in order to have the first and possible last change number.
*/
- final int[] limits =
- replicationServer.getECLDraftCNLimits(eligibleCSN, excludedBaseDNs);
- final int firstDraftCN = limits[0];
- final int lastDraftCN = limits[1];
+ final int[] limits = replicationServer.getECLChangeNumberLimits(
+ eligibleCSN, excludedBaseDNs);
+ final int firstChangeNumber = limits[0];
+ final int lastChangeNumber = limits[1];
- // If the startDraftCN provided is lower than the first Draft CN in
+ // If the startChangeNumber provided is lower than the firstChangeNumber in
// the DB, let's use the lower limit.
- if (startDraftCN < firstDraftCN)
+ if (startChangeNumber < firstChangeNumber)
{
- crossDomainStartState = cnIndexDB.getPreviousCookie(firstDraftCN);
+ crossDomainStartState = cnIndexDB.getPreviousCookie(firstChangeNumber);
if (crossDomainStartState != null)
{
- cnIndexDBCursor = cnIndexDB.getCursorFrom(firstDraftCN);
+ cnIndexDBCursor = cnIndexDB.getCursorFrom(firstChangeNumber);
return crossDomainStartState;
}
// This should not happen
- isEndOfDraftCNReached = true;
+ isEndOfCNIndexDBReached = true;
return null;
}
- else if (startDraftCN <= lastDraftCN)
+ else if (startChangeNumber <= lastChangeNumber)
{
- // startDraftCN is between first and potential last and has never
+ // startChangeNumber is between first and potential last and has never
// been returned yet
if (cnIndexDB.isEmpty())
{
- isEndOfDraftCNReached = true;
+ isEndOfCNIndexDBReached = true;
return null;
}
- final int lastKey = cnIndexDB.getLastDraftCN();
+ final int lastKey = cnIndexDB.getLastChangeNumber();
crossDomainStartState = cnIndexDB.getPreviousCookie(lastKey);
cnIndexDBCursor = cnIndexDB.getCursorFrom(lastKey);
return crossDomainStartState;
@@ -641,7 +645,7 @@
// this may be very long. Work on perf improvement here.
}
- // startDraftCN is greater than the potential last DraftCN
+ // startChangeNumber is greater than the potential lastChangeNumber
throw new DirectoryException(ResultCode.SUCCESS, Message.raw(""));
}
@@ -999,7 +1003,7 @@
this.operationId = startECLSessionMsg.getOperationId();
isPersistent = startECLSessionMsg.isPersistent();
- lastDraftCN = startECLSessionMsg.getLastDraftChangeNumber();
+ lastChangeNumber = startECLSessionMsg.getLastChangeNumber();
searchPhase = INIT_PHASE;
try
{
@@ -1117,9 +1121,9 @@
{
initializeCLSearchFromGenState(msg.getCrossDomainServerState());
}
- else if (requestType == REQUEST_TYPE_FROM_DRAFT_CHANGE_NUMBER)
+ else if (requestType == REQUEST_TYPE_FROM_CHANGE_NUMBER)
{
- initializeCLSearchFromDraftCN(msg.getFirstDraftChangeNumber());
+ initializeCLSearchFromChangeNumber(msg.getFirstChangeNumber());
}
}
@@ -1131,8 +1135,7 @@
* ServerHandler.
* @exception DirectoryException when an error occurs.
*/
- public ECLUpdateMsg takeECLUpdate()
- throws DirectoryException
+ public ECLUpdateMsg takeECLUpdate() throws DirectoryException
{
ECLUpdateMsg msg = getNextECLUpdate();
@@ -1235,18 +1238,18 @@
(LDAPUpdateMsg) oldestContext.nextMsg,
null, // cookie will be set later
oldestContext.rsd.getBaseDn(),
- 0); // draftChangeNumber may be set later
+ 0); // changeNumber may be set later
oldestContext.nextMsg = null;
// Default is not to loop, with one exception
continueLooping = false;
if (draftCompat)
{
- continueLooping = !assignDraftCN(change);
+ continueLooping = !assignChangeNumber(change);
}
// here we have the right oldest change
- // and in the draft case, we have its draft changenumber
+ // and in the draft case, we have its change number
// Set and test the domain of the oldestChange see if we reached
// the end of the phase for this domain
@@ -1257,8 +1260,9 @@
{
oldestContext.active = false;
}
- if (draftCompat && (lastDraftCN>0) &&
- (change.getDraftChangeNumber()>lastDraftCN))
+ if (draftCompat
+ && lastChangeNumber > 0
+ && change.getChangeNumber() > lastChangeNumber)
{
oldestContext.active = false;
}
@@ -1334,17 +1338,17 @@
}
/**
- * Either retrieves a draftCN from the draftCNDb, or assign a new draftCN and
- * store in the db.
+ * Either retrieves a change number from the DB, or assign a new change number
+ * and store in the DB.
*
* @param oldestChange
- * the oldestChange where to assign the draftCN
- * @return <code>true</code> if a draftCN has been assigned to the provided
- * oldestChange, <code>false</code> otherwise
+ * the oldestChange where to assign the change number
+ * @return <code>true</code> if a change number has been assigned to the
+ * provided oldestChange, <code>false</code> otherwise
* @throws DirectoryException
* if any problem occur
*/
- private boolean assignDraftCN(final ECLUpdateMsg oldestChange)
+ private boolean assignChangeNumber(final ECLUpdateMsg oldestChange)
throws DirectoryException
{
// We also need to check if the draftCNdb is consistent with
@@ -1361,7 +1365,7 @@
while (true)
{
- if (isEndOfDraftCNReached)
+ if (isEndOfCNIndexDBReached)
{
// we are at the end of the DraftCNdb in the append mode
assignNewDraftCNAndStore(oldestChange);
@@ -1369,12 +1373,12 @@
}
- // the next change from the DraftCN db
+ // the next change from the CNIndexDB
CSN csnFromDraftCNDb = cnIndexDBCursor.getCSN();
String dnFromDraftCNDb = cnIndexDBCursor.getBaseDN();
if (debugEnabled())
- TRACER.debugInfo("getNextECLUpdate generating draftCN "
+ TRACER.debugInfo("assignChangeNumber() generating change number "
+ " comparing the 2 db DNs :" + dnFromChangelogDb + "?="
+ csnFromChangelogDb + " timestamps:"
+ new Date(csnFromChangelogDb.getTime()) + " ?older"
@@ -1385,11 +1389,11 @@
csnFromDraftCNDb, dnFromDraftCNDb))
{
if (debugEnabled())
- TRACER.debugInfo("getNextECLUpdate generating draftCN "
- + " assigning draftCN=" + cnIndexDBCursor.getDraftCN()
+ TRACER.debugInfo("assignChangeNumber() generating change number "
+ + " assigning changeNumber=" + cnIndexDBCursor.getChangeNumber()
+ " to change=" + oldestChange);
- oldestChange.setDraftChangeNumber(cnIndexDBCursor.getDraftCN());
+ oldestChange.setChangeNumber(cnIndexDBCursor.getChangeNumber());
return true;
}
@@ -1400,7 +1404,8 @@
// it should have been stored lately
// let's continue to traverse the changelogdb
if (debugEnabled())
- TRACER.debugInfo("getNextECLUpdate: will skip " + csnFromChangelogDb
+ TRACER.debugInfo("assignChangeNumber(): will skip "
+ + csnFromChangelogDb
+ " and read next from the regular changelog.");
return false; // TO BE CHECKED
}
@@ -1414,17 +1419,17 @@
// let's traverse the DraftCNdb searching for the change
// found in the changelogDb.
if (debugEnabled())
- TRACER.debugInfo("getNextECLUpdate generating draftCN "
+ TRACER.debugInfo("assignChangeNumber() generating change number "
+ " will skip " + csnFromDraftCNDb
- + " and read next change from the DraftCNDb.");
+ + " and read next change from the CNIndexDB.");
- isEndOfDraftCNReached = !cnIndexDBCursor.next();
+ isEndOfCNIndexDBReached = !cnIndexDBCursor.next();
if (debugEnabled())
- TRACER.debugInfo("getNextECLUpdate generating draftCN "
- + " has skipped to " + " sn=" + cnIndexDBCursor.getDraftCN()
- + " csn=" + cnIndexDBCursor.getCSN()
- + " End of draftCNDb ?" + isEndOfDraftCNReached);
+ TRACER.debugInfo("assignChangeNumber() generating change number has"
+ + "skipped to changeNumber=" + cnIndexDBCursor.getChangeNumber()
+ + " csn=" + cnIndexDBCursor.getCSN() + " End of CNIndexDB ?"
+ + isEndOfCNIndexDBReached);
}
catch (ChangelogException e)
{
@@ -1448,13 +1453,13 @@
private void assignNewDraftCNAndStore(ECLUpdateMsg change)
throws DirectoryException
{
- // generate a new draftCN and assign to this change
- change.setDraftChangeNumber(replicationServer.getNewDraftCN());
+ // generate a new change number and assign to this change
+ change.setChangeNumber(replicationServer.getNewChangeNumber());
- // store in changelogDB the pair
- // (DraftCN of the current change, state before this change)
+ // store in CNIndexDB the pair
+ // (change number of the current change, state before this change)
replicationServer.getChangeNumberIndexDB().add(
- change.getDraftChangeNumber(),
+ change.getChangeNumber(),
previousCookie.toString(),
change.getBaseDN(),
change.getUpdateMsg().getCSN());
--
Gitblit v1.10.0