From 62e6e3728581850763dee59915e865d7368e95a1 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Mon, 22 Sep 2014 12:59:17 +0000
Subject: [PATCH] OPENDJ-1471 File based changelog : improve cursor behavior CR-3920
---
opendj3-server-dev/src/server/org/opends/server/replication/server/ECLServerHandler.java | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/replication/server/ECLServerHandler.java b/opendj3-server-dev/src/server/org/opends/server/replication/server/ECLServerHandler.java
index acf4fd4..b015eac 100644
--- a/opendj3-server-dev/src/server/org/opends/server/replication/server/ECLServerHandler.java
+++ b/opendj3-server-dev/src/server/org/opends/server/replication/server/ECLServerHandler.java
@@ -552,12 +552,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);
@@ -576,8 +575,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);
@@ -586,7 +584,7 @@
}
cnIndexDBCursor = cursor;
- return oldestRecord.getPreviousCookie();
+ return cursor.getRecord().getPreviousCookie();
}
else if (startChangeNumber <= newestChangeNumber)
{
@@ -617,6 +615,7 @@
{
DBCursor<ChangeNumberIndexRecord> cursor =
cnIndexDB.getCursorFrom(startChangeNumber);
+ cursor.next();
if (cursor.getRecord() == null)
{
close(cursor);
--
Gitblit v1.10.0