You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ji...@apache.org on 2008/08/28 20:29:11 UTC
svn commit: r689925 - in /hadoop/hbase/branches/0.2: CHANGES.txt
src/java/org/onelab/filter/DynamicBloomFilter.java
src/java/org/onelab/filter/Key.java
Author: jimk
Date: Thu Aug 28 11:29:10 2008
New Revision: 689925
URL: http://svn.apache.org/viewvc?rev=689925&view=rev
Log:
HBASE-552 Bloom filter bugs (Andrzej Bialecki via Jim Kellerman)
Modified:
hadoop/hbase/branches/0.2/CHANGES.txt
hadoop/hbase/branches/0.2/src/java/org/onelab/filter/DynamicBloomFilter.java
hadoop/hbase/branches/0.2/src/java/org/onelab/filter/Key.java
Modified: hadoop/hbase/branches/0.2/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.2/CHANGES.txt?rev=689925&r1=689924&r2=689925&view=diff
==============================================================================
--- hadoop/hbase/branches/0.2/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.2/CHANGES.txt Thu Aug 28 11:29:10 2008
@@ -35,6 +35,7 @@
Kellerman)
HBASE-843 Deleting and recreating a table in a single process does not work
(Jonathan Gray via Jim Kellerman)
+ HBASE-552 Bloom filter bugs (Andrzej Bialecki via Jim Kellerman)
IMPROVEMENTS
HBASE-801 When a table haven't disable, shell could response in a "user
Modified: hadoop/hbase/branches/0.2/src/java/org/onelab/filter/DynamicBloomFilter.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.2/src/java/org/onelab/filter/DynamicBloomFilter.java?rev=689925&r1=689924&r2=689925&view=diff
==============================================================================
--- hadoop/hbase/branches/0.2/src/java/org/onelab/filter/DynamicBloomFilter.java (original)
+++ hadoop/hbase/branches/0.2/src/java/org/onelab/filter/DynamicBloomFilter.java Thu Aug 28 11:29:10 2008
@@ -88,17 +88,22 @@
/**
* Threshold for the maximum number of key to record in a dynamic Bloom filter row.
*/
- int nr;
+ private int nr;
/**
* The number of keys recorded in the current standard active Bloom filter.
*/
- int currentNbRecord;
+ private int currentNbRecord;
/**
* The matrix of Bloom filter.
*/
- BloomFilter[] matrix;
+ private BloomFilter[] matrix;
+
+ /**
+ * Zero-args constructor for the serialization.
+ */
+ public DynamicBloomFilter() { }
/**
* Constructor.
@@ -253,7 +258,10 @@
@Override
public void write(DataOutput out) throws IOException {
super.write(out);
- for(int i = 0; i < matrix.length; i++) {
+ out.writeInt(nr);
+ out.writeInt(currentNbRecord);
+ out.writeInt(matrix.length);
+ for (int i = 0; i < matrix.length; i++) {
matrix[i].write(out);
}
}
@@ -262,8 +270,12 @@
@Override
public void readFields(DataInput in) throws IOException {
super.readFields(in);
- matrix = new BloomFilter[vectorSize];
- for(int i = 0; i < matrix.length; i++) {
+ nr = in.readInt();
+ currentNbRecord = in.readInt();
+ int len = in.readInt();
+ matrix = new BloomFilter[len];
+ for (int i = 0; i < matrix.length; i++) {
+ matrix[i] = new BloomFilter();
matrix[i].readFields(in);
}
}
Modified: hadoop/hbase/branches/0.2/src/java/org/onelab/filter/Key.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.2/src/java/org/onelab/filter/Key.java?rev=689925&r1=689924&r2=689925&view=diff
==============================================================================
--- hadoop/hbase/branches/0.2/src/java/org/onelab/filter/Key.java (original)
+++ hadoop/hbase/branches/0.2/src/java/org/onelab/filter/Key.java Thu Aug 28 11:29:10 2008
@@ -91,13 +91,17 @@
* @param weight The weight associated to <i>this</i> key.
*/
public Key(byte[] value, double weight) {
+ set(value, weight);
+ }//end constructor
+
+ public void set(byte[] value, double weight) {
if(value == null) {
throw new IllegalArgumentException("value can not be null");
}
this.bytes = value;
this.weight = weight;
- }//end constructor
-
+ }
+
/** @return byte[] The value of <i>this</i> key. */
public byte[] getBytes() {
return this.bytes;