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 2017/01/04 16:21:33 UTC
hbase git commit: HBASE-17403 ClientAsyncPrefetchScanner doesn’t load any data if the MaxResultSize is too small (ChiaPing Tsai)
Repository: hbase
Updated Branches:
refs/heads/master 05ab41d1b -> 63bd8be57
HBASE-17403 ClientAsyncPrefetchScanner doesn\u2019t load any data if the MaxResultSize is too small (ChiaPing Tsai)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/63bd8be5
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/63bd8be5
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/63bd8be5
Branch: refs/heads/master
Commit: 63bd8be576b02981afda4cc491f6de89253e9ca9
Parents: 05ab41d
Author: tedyu <yu...@gmail.com>
Authored: Wed Jan 4 08:21:25 2017 -0800
Committer: tedyu <yu...@gmail.com>
Committed: Wed Jan 4 08:21:25 2017 -0800
----------------------------------------------------------------------
.../hadoop/hbase/client/ClientAsyncPrefetchScanner.java | 6 +++---
.../hbase/TestServerSideScanMetricsFromClientSide.java | 12 +++++++++++-
2 files changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/63bd8be5/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientAsyncPrefetchScanner.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientAsyncPrefetchScanner.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientAsyncPrefetchScanner.java
index 6b70a88..ee323a9 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientAsyncPrefetchScanner.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientAsyncPrefetchScanner.java
@@ -186,7 +186,7 @@ public class ClientAsyncPrefetchScanner extends ClientScanner {
capacity = DEFAULT_QUEUE_CAPACITY;
}
}
- return capacity;
+ return Math.max(capacity, 1);
}
private boolean prefetchCondition() {
@@ -197,11 +197,11 @@ public class ClientAsyncPrefetchScanner extends ClientScanner {
}
private int getCountThreshold() {
- return cacheCapacity / 2 ;
+ return Math.max(cacheCapacity / 2, 1);
}
private long getSizeThreshold() {
- return maxScannerResultSize / 2 ;
+ return Math.max(maxScannerResultSize / 2, 1);
}
private long getCacheSizeInBytes() {
http://git-wip-us.apache.org/repos/asf/hbase/blob/63bd8be5/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.java
index 6f91515..b516cbb 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerSideScanMetricsFromClientSide.java
@@ -152,11 +152,21 @@ public class TestServerSideScanMetricsFromClientSide {
}
@Test
- public void testRowsSeenMetric() throws Exception {
+ public void testRowsSeenMetricWithSync() throws Exception {
+ testRowsSeenMetric(false);
+ }
+
+ @Test
+ public void testRowsSeenMetricWithAsync() throws Exception {
+ testRowsSeenMetric(true);
+ }
+
+ private void testRowsSeenMetric(boolean async) throws Exception {
// Base scan configuration
Scan baseScan;
baseScan = new Scan();
baseScan.setScanMetricsEnabled(true);
+ baseScan.setAsyncPrefetch(async);
testRowsSeenMetric(baseScan);
// Test case that only a single result will be returned per RPC to the serer