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/1.5.x-HBase1.1.3 Commit: 27f79174eaddc4c9192889e5025378dd4706620f Parents: 195f751 Author: Hongbin Ma <mahong...@apache.org> Authored: Fri Apr 1 10:10:31 2016 +0800 Committer: Hongbin Ma <mahong...@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