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