From 329d0afabe7be59137b61f6fa95ca052a4f98a67 Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Wed, 23 Sep 2026 12:37:49 +0000
Subject: [PATCH] [#1059] Give no key up on import or rebuild under an index-entry-limit of 0 (#1060)

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java
index efb49c5..cd8bb92 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java
@@ -3553,6 +3553,17 @@
   }
 
   /**
+   * The number of entry IDs at which the collectors give a key up. An index-entry-limit of 0 is no
+   * limit at all ("For no limit, use 0 for the value"), as the live index takes it; compared as a
+   * count it would have every key given up.
+   */
+  private static int entryLimitOf(DefaultIndex index)
+  {
+    final int indexEntryLimit = index.getIndexEntryLimit();
+    return indexEntryLimit > 0 ? indexEntryLimit : Integer.MAX_VALUE;
+  }
+
+  /**
    * {@link Collector} that accepts encoded {@link EntryIDSet} objects and
    * produces a {@link ByteString} representing the merged {@link EntryIDSet}.
    */
@@ -3564,7 +3575,7 @@
     EntryIDsCollector(DefaultIndex index)
     {
       this.index = index;
-      this.indexLimit = index.getIndexEntryLimit();
+      this.indexLimit = entryLimitOf(index);
     }
 
     @Override
@@ -3638,7 +3649,7 @@
     EntryIDSetsCollector(DefaultIndex index)
     {
       this.index = index;
-      this.indexLimit = index.getIndexEntryLimit();
+      this.indexLimit = entryLimitOf(index);
     }
 
     @Override

--
Gitblit v1.10.0