From c5d246665c8d72aa524009a12af556f8fba76fe4 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 26 May 2015 13:01:55 +0000
Subject: [PATCH] OPENDJ-2016 Implement new on disk merge import strategy based on storage engine

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/ImportIDSet.java |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 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 3725947..3e3b2d2 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
@@ -42,6 +42,7 @@
  * the configured ID limit. If the limit it reached, the class stops tracking
  * individual IDs and marks the set as undefined. This class is not thread safe.
  */
+@SuppressWarnings("javadoc")
 final class ImportIDSet implements Iterable<EntryID> {
 
   /** The encapsulated entryIDSet where elements are stored until reaching the limit. */
@@ -127,18 +128,23 @@
   boolean merge(ImportIDSet importIdSet)
   {
     checkNotNull(importIdSet, "importIdSet must not be null");
+    return merge(importIdSet.entryIDSet);
+  }
 
-    boolean definedBeforeMerge = isDefined();
-    final long mergedSize = addWithoutOverflow(entryIDSet.size(), importIdSet.entryIDSet.size());
+  boolean merge(EntryIDSet entryIDSet)
+  {
+    checkNotNull(entryIDSet, "entryID must not be null");
+    boolean definedBeforeMerge = this.entryIDSet.isDefined();
+    final long mergedSize = addWithoutOverflow(this.entryIDSet.size(), entryIDSet.size());
 
-    if (!definedBeforeMerge || !importIdSet.isDefined() || mergedSize > indexEntryLimitSize)
+    if (!definedBeforeMerge || !entryIDSet.isDefined() || mergedSize > indexEntryLimitSize)
     {
-      entryIDSet = newUndefinedSetWithKey(key);
+      this.entryIDSet = newUndefinedSetWithKey(key);
       return definedBeforeMerge;
     }
-    else if (isDefined())
+    else if (this.entryIDSet.isDefined())
     {
-      entryIDSet.addAll(importIdSet.entryIDSet);
+      this.entryIDSet.addAll(entryIDSet);
     }
     return false;
   }

--
Gitblit v1.10.0