You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2013/02/02 03:22:58 UTC
svn commit: r1441686 -
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
Author: tedyu
Date: Sat Feb 2 02:22:58 2013
New Revision: 1441686
URL: http://svn.apache.org/viewvc?rev=1441686&view=rev
Log:
HBASE-7740 Recheck matching row for joined scanners (Sergey)
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1441686&r1=1441685&r2=1441686&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Sat Feb 2 02:22:58 2013
@@ -3793,10 +3793,11 @@ public class HRegion implements HeapSize
if (this.joinedHeap != null) {
KeyValue nextJoinedKv = joinedHeap.peek();
// If joinedHeap is pointing to some other row, try to seek to a correct one.
- // We don't need to recheck that row here - populateResult will take care of that.
boolean mayHaveData =
(nextJoinedKv != null && nextJoinedKv.matchingRow(currentRow, offset, length))
- || this.joinedHeap.seek(KeyValue.createFirstOnRow(currentRow, offset, length));
+ || (this.joinedHeap.seek(KeyValue.createFirstOnRow(currentRow, offset, length))
+ && joinedHeap.peek() != null
+ && joinedHeap.peek().matchingRow(currentRow, offset, length));
if (mayHaveData) {
joinedContinuationRow = current;
populateFromJoinedHeap(limit, metric);