Author: stack
Date: Fri Sep 9 03:47:00 2011
New Revision: 1166982
URL: http://svn.apache.org/viewvc?rev=1166982&view=rev
Log:
HBASE-4350 Fix a Bloom filter bug introduced by HFile v2 and
TestMultiColumnScanner that caught it
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanDeleteTracker.java
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=1166982&r1=1166981&r2=1166982&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Fri Sep 9 03:47:00 2011
@@ -251,6 +251,8 @@ Release 0.91.0 - Unreleased
(Jan Lukavsky)
HBASE-4015 Refactor the TimeoutMonitor to make it less racy
(ramkrishna.s.vasudevan)
+ HBASE-4350 Fix a Bloom filter bug introduced by HFile v2 and
+ TestMultiColumnScanner that caught it (Mikhail Bautin)
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanDeleteTracker.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanDeleteTracker.java?rev=1166982&r1=1166981&r2=1166982&view=diff
==============================================================================
---
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanDeleteTracker.java
(original)
+++
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanDeleteTracker.java
Fri Sep 9 03:47:00 2011
@@ -130,7 +130,11 @@ public class ScanDeleteTracker implement
// Next column case.
deleteBuffer = null;
} else {
- //Should never happen, throw Exception
+ throw new IllegalStateException("isDelete failed: deleteBuffer="
+ + Bytes.toStringBinary(deleteBuffer, deleteOffset, deleteLength)
+ + ", qualifier="
+ + Bytes.toStringBinary(buffer, qualifierOffset, qualifierLength)
+ + ", timestamp=" + timestamp + ", comparison result: " + ret);
}
}
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=1166982&r1=1166981&r2=1166982&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
Fri Sep 9 03:47:00 2011
@@ -1073,6 +1073,9 @@ public class StoreFile {
private boolean passesBloomFilter(Scan scan,
final SortedSet<byte[]> columns) {
+ if (!scan.isGetScan())
+ return true;
+
BloomFilter bloomFilter = this.bloomFilter;
if (bloomFilter == null) {
return true;