Author: stack
Date: Thu Jun 16 21:24:57 2011
New Revision: 1136689
URL: http://svn.apache.org/viewvc?rev=1136689&view=rev
Log:
HBASE-3987 Fix a NullPointerException on a failure to load Bloom filter data
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
Modified: hbase/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1136689&r1=1136688&r2=1136689&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Thu Jun 16 21:24:57 2011
@@ -335,6 +335,9 @@ Release 0.90.4 - Unreleased
instead of localhost. (Li Pi)
HBASE-3985 Same Region could be picked out twice in LoadBalance
(Jieshan Bean)
+ HBASE-3987 Fix a NullPointerException on a failure to load Bloom filter
data
+ (Mikhail Bautin)
+
IMPROVEMENT
HBASE-3882 hbase-config.sh needs to be updated so it can auto-detects the
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java?rev=1136689&r1=1136688&r2=1136689&view=diff
==============================================================================
---
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
(original)
+++
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
Thu Jun 16 21:24:57 2011
@@ -983,7 +983,8 @@ public class StoreFile {
}
private boolean passesBloomFilter(Scan scan, final SortedSet<byte[]>
columns) {
- if (this.bloomFilter == null || !scan.isGetScan()) {
+ BloomFilter bm = this.bloomFilter;
+ if (bm == null || !scan.isGetScan()) {
return true;
}
byte[] row = scan.getStartRow();
@@ -1011,11 +1012,11 @@ public class StoreFile {
// columns, a file might be skipped if using row+col Bloom filter.
// In order to ensure this file is included an additional check is
// required looking only for a row bloom.
- return this.bloomFilter.contains(key, bloom) ||
- this.bloomFilter.contains(row, bloom);
+ return bm.contains(key, bloom) ||
+ bm.contains(row, bloom);
}
else {
- return this.bloomFilter.contains(key, bloom);
+ return bm.contains(key, bloom);
}
}
} catch (IOException e) {