You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ma...@apache.org on 2016/04/01 08:49:03 UTC

[3/4] kylin git commit: add RAWSCAN backdoor to coprocessor scanning

add RAWSCAN backdoor to coprocessor scanning


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/27f79174
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/27f79174
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/27f79174

Branch: refs/heads/master
Commit: 27f79174eaddc4c9192889e5025378dd4706620f
Parents: 195f751
Author: Hongbin Ma <ma...@apache.org>
Authored: Fri Apr 1 10:10:31 2016 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Fri Apr 1 14:45:57 2016 +0800

----------------------------------------------------------------------
 .../hbase/common/coprocessor/CoprocessorBehavior.java       | 1 +
 .../cube/v2/coprocessor/endpoint/CubeVisitService.java      | 9 +++++++++
 2 files changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/27f79174/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/CoprocessorBehavior.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/CoprocessorBehavior.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/CoprocessorBehavior.java
index 21dc0d1..f4e5966 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/CoprocessorBehavior.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/CoprocessorBehavior.java
@@ -21,6 +21,7 @@ package org.apache.kylin.storage.hbase.common.coprocessor;
 /**
  */
 public enum CoprocessorBehavior {
+    RAW_SCAN,//on use RegionScanner to scan raw data, for testing hbase scan speed
     SCAN, //only scan data, used for profiling tuple scan speed. Will not return any result
     SCAN_FILTER, //only scan+filter used,used for profiling filter speed.  Will not return any result
     SCAN_FILTER_AGGR, //aggregate the result.  Will return results

http://git-wip-us.apache.org/repos/asf/kylin/blob/27f79174/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
index 9f42c1c..1e7b1b5 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
@@ -185,6 +185,15 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement
             innerScanner = region.getScanner(scan);
             CoprocessorBehavior behavior = CoprocessorBehavior.valueOf(request.getBehavior());
 
+            if (behavior.ordinal() < CoprocessorBehavior.SCAN.ordinal()) {
+                List<Cell> temp = Lists.newArrayList();
+                int counter = 0;
+                while (innerScanner.nextRaw(temp)) {
+                    counter++;
+                }
+                sb.append("Scanned " + counter + " rows in " + (System.currentTimeMillis() - serviceStartTime) + ",");
+            }
+
             InnerScannerAsIterator cellListIterator = new InnerScannerAsIterator(innerScanner);
             if (behavior.ordinal() < CoprocessorBehavior.SCAN_FILTER_AGGR_CHECKMEM.ordinal()) {
                 scanReq.setAggrCacheGB(0); // disable mem check if so told