HBASE-582 HBase 554 forgot to clear results on each iteration caused by a filter
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648798 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ebbdb04cc9
commit
9ad3122021
|
@ -7,6 +7,8 @@ Hbase Change Log
|
||||||
HBASE-12 When hbase regionserver restarts, it says "impossible state for
|
HBASE-12 When hbase regionserver restarts, it says "impossible state for
|
||||||
createLease()"
|
createLease()"
|
||||||
HBASE-575 master dies with stack overflow error if rootdir isn't qualified
|
HBASE-575 master dies with stack overflow error if rootdir isn't qualified
|
||||||
|
HBASE-582 HBase 554 forgot to clear results on each iteration caused by a filter
|
||||||
|
(Clint Morgan via Stack)
|
||||||
|
|
||||||
IMPROVEMENTS
|
IMPROVEMENTS
|
||||||
HBASE-559 MR example job to count table rows
|
HBASE-559 MR example job to count table rows
|
||||||
|
|
|
@ -1742,6 +1742,7 @@ public class HRegion implements HConstants {
|
||||||
public boolean next(HStoreKey key, SortedMap<Text, byte[]> results)
|
public boolean next(HStoreKey key, SortedMap<Text, byte[]> results)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
boolean moreToFollow = false;
|
boolean moreToFollow = false;
|
||||||
|
boolean filtered = false;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
// Find the lowest-possible key.
|
// Find the lowest-possible key.
|
||||||
|
@ -1804,7 +1805,13 @@ public class HRegion implements HConstants {
|
||||||
// If we got no results, then there is no more to follow.
|
// If we got no results, then there is no more to follow.
|
||||||
moreToFollow = false;
|
moreToFollow = false;
|
||||||
}
|
}
|
||||||
} while(filter != null && filter.filterNotNull(results) && moreToFollow);
|
|
||||||
|
filtered = filter == null ? false : filter.filterNotNull(results);
|
||||||
|
|
||||||
|
if (filtered && moreToFollow) {
|
||||||
|
results.clear();
|
||||||
|
}
|
||||||
|
} while(filtered && moreToFollow);
|
||||||
|
|
||||||
// Make sure scanners closed if no more results
|
// Make sure scanners closed if no more results
|
||||||
if (!moreToFollow) {
|
if (!moreToFollow) {
|
||||||
|
|
Loading…
Reference in New Issue