From b8a4d35f03b7fa5cf0d80a9424224f6ddeb3b3f9 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Mon, 19 Oct 2026 08:52:10 +0000
Subject: [PATCH] [#1206] Take a late handler of a replication server back to its queue only once its consumer has every change the queue lacks (#1219)

---
 opendj-server-legacy/src/main/java/org/opends/server/replication/server/changelog/file/LogFile.java |    7 +++++--
 1 files changed, 5 insertions(+), 2 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 a385f58..299ca53 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
@@ -253,10 +253,12 @@
    *
    * @param record
    *          The record to add.
+   * @return {@code true} if the record was appended, {@code false} if its key is not higher than
+   *         the key of the last record added
    * @throws ChangelogException
    *           If the record can't be added to the log.
    */
-  void append(final Record<K, V> record) throws ChangelogException
+  boolean append(final Record<K, V> record) throws ChangelogException
   {
     checkLogIsEnabledForWrite();
     exclusiveLock.lock();
@@ -264,10 +266,11 @@
     {
       if (appendWouldBreakKeyOrdering(record))
       {
-        return;
+        return false;
       }
       writer.write(record);
       newestRecord = record;
+      return true;
     }
     finally
     {

--
Gitblit v1.10.0