You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2011/10/29 00:37:57 UTC
svn commit: r1190644 - in
/incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter:
BloomFilter.java DynamicBloomFilter.java Filter.java
Author: kturner
Date: Fri Oct 28 22:37:56 2011
New Revision: 1190644
URL: http://svn.apache.org/viewvc?rev=1190644&view=rev
Log:
ACCUMULO-98 stopped incrementing record count when duplicate data is inserted into bloom filter
Modified:
incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/BloomFilter.java
incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/DynamicBloomFilter.java
incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/Filter.java
Modified: incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/BloomFilter.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/BloomFilter.java?rev=1190644&r1=1190643&r2=1190644&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/BloomFilter.java (original)
+++ incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/BloomFilter.java Fri Oct 28 22:37:56 2011
@@ -106,7 +106,7 @@ public class BloomFilter extends Filter
}
@Override
- public void add(Key key) {
+ public boolean add(Key key) {
if (key == null) {
throw new NullPointerException("key cannot be null");
}
@@ -114,9 +114,14 @@ public class BloomFilter extends Filter
int[] h = hash.hash(key);
hash.clear();
+ boolean bitsSet = false;
+
for (int i = 0; i < nbHash; i++) {
+ bitsSet |= !bits.get(h[i]);
bits.set(h[i]);
}
+
+ return bitsSet;
}
@Override
Modified: incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/DynamicBloomFilter.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/DynamicBloomFilter.java?rev=1190644&r1=1190643&r2=1190644&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/DynamicBloomFilter.java (original)
+++ incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/DynamicBloomFilter.java Fri Oct 28 22:37:56 2011
@@ -124,7 +124,7 @@ public class DynamicBloomFilter extends
}
@Override
- public void add(Key key) {
+ public boolean add(Key key) {
if (key == null) {
throw new NullPointerException("Key can not be null");
}
@@ -137,9 +137,12 @@ public class DynamicBloomFilter extends
currentNbRecord = 0;
}
- bf.add(key);
+ boolean added = bf.add(key);
- currentNbRecord++;
+ if (added)
+ currentNbRecord++;
+
+ return added;
}
@Override
Modified: incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/Filter.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/Filter.java?rev=1190644&r1=1190643&r2=1190644&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/Filter.java (original)
+++ incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/bloomfilter/Filter.java Fri Oct 28 22:37:56 2011
@@ -113,8 +113,9 @@ public abstract class Filter implements
*
* @param key
* The key to add.
+ * @return
*/
- public abstract void add(Key key);
+ public abstract boolean add(Key key);
/**
* Determines whether a specified key belongs to <i>this</i> filter.