From 8480c9ba20d5966c24630233e0384ab9ca55ab03 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Wed, 02 Jul 2014 08:18:44 +0000
Subject: [PATCH] OPENDJ-1471 File based changelog : improve cursor behavior CR-3920
---
opendj-sdk/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java | 11 +++++------
1 files changed, 5 insertions(+), 6 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 ed15dd4..a4591c6 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
@@ -548,12 +548,11 @@
// Read the CNIndexDB to see whether it contains startChangeNumber
DBCursor<ChangeNumberIndexRecord> cursor =
cnIndexDB.getCursorFrom(startChangeNumber);
- final ChangeNumberIndexRecord startRecord = cursor.getRecord();
- if (startRecord != null)
+ if (cursor.next())
{
// found the provided startChangeNumber, let's return it
cnIndexDBCursor = cursor;
- return startRecord.getPreviousCookie();
+ return cursor.getRecord().getPreviousCookie();
}
close(cursor);
@@ -572,8 +571,7 @@
if (startChangeNumber < oldestChangeNumber)
{
cursor = cnIndexDB.getCursorFrom(oldestChangeNumber);
- final ChangeNumberIndexRecord oldestRecord = cursor.getRecord();
- if (oldestRecord == null)
+ if (!cursor.next())
{
// This should not happen
close(cursor);
@@ -582,7 +580,7 @@
}
cnIndexDBCursor = cursor;
- return oldestRecord.getPreviousCookie();
+ return cursor.getRecord().getPreviousCookie();
}
else if (startChangeNumber <= newestChangeNumber)
{
@@ -613,6 +611,7 @@
{
DBCursor<ChangeNumberIndexRecord> cursor =
cnIndexDB.getCursorFrom(startChangeNumber);
+ cursor.next();
if (cursor.getRecord() == null)
{
close(cursor);
--
Gitblit v1.10.0