From 49a471eba37e2fc79c349792d4b6c840401311fb Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Mon, 17 Aug 2015 08:36:09 +0000
Subject: [PATCH] OPENDJ-2233 CR-7906 Changelog cursoring seems to rely on exception handling too much.
---
opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/BlockLogReader.java | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/BlockLogReader.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/BlockLogReader.java
index 1fb9849..0b9e6b7 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/BlockLogReader.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/BlockLogReader.java
@@ -295,8 +295,12 @@
{
try
{
- // read length of record
+ // read length of record if not already at EOF
final long filePosition = reader.getFilePointer();
+ if (reader.length() == filePosition)
+ {
+ return null;
+ }
int distanceToBlockStart = getDistanceToNextBlockStart(filePosition, blockSize);
final int recordLength = readRecordLength(distanceToBlockStart);
--
Gitblit v1.10.0