You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2015/02/18 14:34:02 UTC
svn commit: r1660631 -
/directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/BulkLoader.java
Author: elecharny
Date: Wed Feb 18 13:34:02 2015
New Revision: 1660631
URL: http://svn.apache.org/r1660631
Log:
Fixed the way we count elements in the bulk loader : when two tuples have the same key, they count for one single element.
Modified:
directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/BulkLoader.java
Modified: directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/BulkLoader.java
URL: http://svn.apache.org/viewvc/directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/BulkLoader.java?rev=1660631&r1=1660630&r2=1660631&view=diff
==============================================================================
--- directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/BulkLoader.java (original)
+++ directory/mavibot/trunk/mavibot/src/main/java/org/apache/directory/mavibot/btree/BulkLoader.java Wed Feb 18 13:34:02 2015
@@ -30,6 +30,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -149,18 +150,25 @@ public class BulkLoader<K, V>
int nbIteration = 0;
int nbElems = 0;
boolean inMemory = true;
+ Set<K> keys = new HashSet<K>();
while ( true )
{
nbIteration++;
tuples.clear();
+ keys.clear();
// Read up to chukSize elements
while ( iterator.hasNext() && ( nbRead < chunkSize ) )
{
Tuple<K, V> tuple = iterator.next();
tuples.add( tuple );
- nbRead++;
+
+ if ( !keys.contains( tuple.getKey() ) )
+ {
+ keys.add( tuple.getKey() );
+ nbRead++;
+ }
}
if ( nbRead < chunkSize )