opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/BufferManager.java
@@ -147,11 +147,18 @@ KeyHashElement curElem = iter.next(); //Never flush undefined elements. if(curElem.isDefined()) { int oldSize = curElem.getMemorySize(); Index index = curElem.getIndex(); index.insert(null, new DatabaseEntry(curElem.getKey()), curElem.getIDSet()); memoryUsage -= TREEMAP_ENTRY_OVERHEAD + curElem.getMemorySize(); iter.remove(); if(curElem.isDefined()) { memoryUsage -= TREEMAP_ENTRY_OVERHEAD + curElem.getMemorySize(); iter.remove(); } else { //Went undefined don't remove the element, just substract the //memory size difference. memoryUsage -= (oldSize - curElem.getMemorySize()); } } } else { //Wrapped around, start at the first element. opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/ImportIDSet.java
@@ -80,4 +80,9 @@ */ public boolean merge(byte[] dbBytes, ImportIDSet bufImportIDSet, int entryLimit); /** * Set the import ID set to the undefined state. */ public void setUndefined(); } opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/IntegerImportIDSet.java
@@ -79,6 +79,14 @@ } /** * {@inheritDoc} */ public void setUndefined() { array = null; isDefined = false; } /** * {@inheritDoc} @@ -110,6 +118,7 @@ isDefined=false; incrLimitCount=true; count = 0; importIdSet.setUndefined(); } else { count = array.length; addAll((IntegerImportIDSet) importIdSet); opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/LongImportIDSet.java
@@ -91,6 +91,14 @@ return isDefined; } /** * {@inheritDoc} */ public void setUndefined() { array = null; isDefined = false; } /** * {@inheritDoc} @@ -121,6 +129,7 @@ if(array.length + importIdSet.size() > limit) { isDefined=false; incrLimitCount=true; importIdSet.setUndefined(); } else { count = array.length; addAll((LongImportIDSet) importIdSet);