From 7b44fa6b33c5441b25e900fb906e280641ce3737 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 24 Apr 2015 09:14:28 +0000
Subject: [PATCH] (CR-6756) Fixed IllegalArgumentException when import triggers index entry limits

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ImportIDSet.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ImportIDSet.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ImportIDSet.java
index 1300026..d0bc347 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ImportIDSet.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ImportIDSet.java
@@ -84,10 +84,14 @@
     return entryIDSet.isDefined();
   }
 
-  private void setUndefined() {
+  void setUndefined() {
     entryIDSet = newUndefinedSetWithKey(key);
   }
 
+  private void setUndefinedWithSize(final long newSize) {
+    entryIDSet = maintainCount ? newUndefinedSetWithSize(key, newSize) : newUndefinedSetWithKey(key);
+  }
+
   /**
    * @param entryID The entry ID to add to an import ID set.
    * @throws NullPointerException if entryID is null
@@ -103,7 +107,7 @@
   {
     Reject.ifTrue(entryID < 0, "entryID must always be positive");
     if (isDefined() && size() + 1 > indexEntryLimitSize) {
-      entryIDSet = maintainCount ? newUndefinedSetWithSize(key, size() + 1) : newUndefinedSetWithKey(key);
+      setUndefinedWithSize(size() + 1);
     } else if (isDefined() || maintainCount) {
       entryIDSet.add(new EntryID(entryID));
     }
@@ -138,7 +142,7 @@
 
     if (!definedBeforeMerge || !importIdSet.isDefined() || mergedSize > indexEntryLimitSize)
     {
-      entryIDSet = maintainCount ? newUndefinedSetWithSize(key, mergedSize) : newUndefinedSetWithKey(key);
+      setUndefinedWithSize(mergedSize);
       return definedBeforeMerge;
     }
     else if (isDefined() || maintainCount)

--
Gitblit v1.10.0