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