You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2016/08/02 01:02:41 UTC
[1/2] hbase git commit: HBASE-16296 Reverse scan performance degrades
when using filter lists (Ted Yu)
Repository: hbase
Updated Branches:
refs/heads/branch-1 198312621 -> c8903cc20
refs/heads/master aa0235f98 -> 78361243c
HBASE-16296 Reverse scan performance degrades when using filter lists (Ted Yu)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c8903cc2
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c8903cc2
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c8903cc2
Branch: refs/heads/branch-1
Commit: c8903cc20ac734cba9a8f7c7adff76a23b7f88ec
Parents: 1983126
Author: Andrew Purtell <ap...@apache.org>
Authored: Mon Aug 1 11:13:47 2016 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Aug 1 17:41:06 2016 -0700
----------------------------------------------------------------------
.../main/java/org/apache/hadoop/hbase/regionserver/HRegion.java | 4 ++++
1 file changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/c8903cc2/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index c497ec0..4a2ae50 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -6023,6 +6023,10 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
// Technically, if we hit limits before on this row, we don't need this call.
if (filterRowKey(currentRow, offset, length)) {
incrementCountOfRowsFilteredMetric(scannerContext);
+ // early check, see HBASE-16296
+ if (isFilterDoneInternal()) {
+ return scannerContext.setScannerState(NextState.NO_MORE_VALUES).hasMoreValues();
+ }
// Typically the count of rows scanned is incremented inside #populateResult. However,
// here we are filtering a row based purely on its row key, preventing us from calling
// #populateResult. Thus, perform the necessary increment here to rows scanned metric
[2/2] hbase git commit: HBASE-16296 Reverse scan performance degrades
when using filter lists (Ted Yu)
Posted by ap...@apache.org.
HBASE-16296 Reverse scan performance degrades when using filter lists (Ted Yu)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/78361243
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/78361243
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/78361243
Branch: refs/heads/master
Commit: 78361243c862189924e26581de31909d9ff5b899
Parents: aa0235f
Author: Andrew Purtell <ap...@apache.org>
Authored: Mon Aug 1 11:13:47 2016 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Aug 1 17:41:10 2016 -0700
----------------------------------------------------------------------
.../main/java/org/apache/hadoop/hbase/regionserver/HRegion.java | 4 ++++
1 file changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/78361243/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index 89e723e..b7950df 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -5951,6 +5951,10 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
// Technically, if we hit limits before on this row, we don't need this call.
if (filterRowKey(current)) {
incrementCountOfRowsFilteredMetric(scannerContext);
+ // early check, see HBASE-16296
+ if (isFilterDoneInternal()) {
+ return scannerContext.setScannerState(NextState.NO_MORE_VALUES).hasMoreValues();
+ }
// Typically the count of rows scanned is incremented inside #populateResult. However,
// here we are filtering a row based purely on its row key, preventing us from calling
// #populateResult. Thus, perform the necessary increment here to rows scanned metric