HBASE-8316 JoinedHeap for non essential column families should reseek instead of seek

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1466711 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
larsh 2013-04-10 22:15:21 +00:00
parent 85859441a1
commit 6d32cc0881
1 changed files with 4 additions and 3 deletions

View File

@ -3625,9 +3625,10 @@ public class HRegion implements HeapSize { // , Writable{
// If joinedHeap is pointing to some other row, try to seek to a correct one. // If joinedHeap is pointing to some other row, try to seek to a correct one.
boolean mayHaveData = boolean mayHaveData =
(nextJoinedKv != null && nextJoinedKv.matchingRow(currentRow, offset, length)) (nextJoinedKv != null && nextJoinedKv.matchingRow(currentRow, offset, length))
|| (this.joinedHeap.seek(KeyValue.createFirstOnRow(currentRow, offset, length)) || (this.joinedHeap.requestSeek(KeyValue.createFirstOnRow(currentRow, offset, length),
&& joinedHeap.peek() != null true, true)
&& joinedHeap.peek().matchingRow(currentRow, offset, length)); && joinedHeap.peek() != null
&& joinedHeap.peek().matchingRow(currentRow, offset, length));
if (mayHaveData) { if (mayHaveData) {
joinedContinuationRow = current; joinedContinuationRow = current;
populateFromJoinedHeap(results, limit, metric); populateFromJoinedHeap(results, limit, metric);