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