From 24d7644bb126bc3d798b49208d74a22e86d13f49 Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 04 Sep 2015 09:38:21 +0000
Subject: [PATCH] OPENDJ-2234 Change number indexer lags behind under load
---
opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java | 20 ++++++--------------
1 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java
index 996eacd..2dcbff4 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java
@@ -80,6 +80,8 @@
/** Indicates if log is enabled for write. */
private final boolean isWriteEnabled;
+ private Record<K, V> newestRecord;
+
/**
* Creates a new log file.
*
@@ -243,6 +245,7 @@
{
checkLogIsEnabledForWrite();
writer.write(record);
+ newestRecord = record;
}
/**
@@ -366,22 +369,11 @@
*/
Record<K, V> getNewestRecord() throws ChangelogException
{
- // TODO : need a more efficient way to retrieve it
- DBCursor<Record<K, V>> cursor = null;
- try
+ if (newestRecord == null)
{
- cursor = getCursor();
- Record<K, V> record = null;
- while (cursor.next())
- {
- record = cursor.getRecord();
- }
- return record;
+ newestRecord = getReader().getNewestRecord();
}
- finally
- {
- StaticUtils.close(cursor);
- }
+ return newestRecord;
}
/**
--
Gitblit v1.10.0