KYLIN-1297 avoid unnecessary converter creation

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

Branch: refs/heads/KYLIN-1122
Commit: 44a47ae7f393e258e8243b23b0368e29ea8ca2ec
Parents: 08181d2
Author: honma <ho...@ebay.com>
Authored: Thu Jan 14 18:34:35 2016 +0800
Committer: Xiaoyu Wang <wangxia...@apache.org>
Committed: Mon Jan 18 13:38:31 2016 +0800

----------------------------------------------------------------------
 .../storage/hbase/cube/v2/SequentialCubeTupleIterator.java     | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/44a47ae7/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SequentialCubeTupleIterator.java
----------------------------------------------------------------------
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SequentialCubeTupleIterator.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SequentialCubeTupleIterator.java
index 7e70a4d..dcc3aba 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SequentialCubeTupleIterator.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SequentialCubeTupleIterator.java
@@ -56,6 +56,7 @@ public class SequentialCubeTupleIterator implements 
ITupleIterator {
 
     @Override
     public boolean hasNext() {
+        logger.info("hasNext called");
         if (next != null)
             return true;
         
@@ -75,7 +76,10 @@ public class SequentialCubeTupleIterator implements 
ITupleIterator {
             if (scannerIterator.hasNext()) {
                 curScanner = scannerIterator.next();
                 curRecordIterator = curScanner.iterator();
-                curTupleConverter = new CubeTupleConverter(curScanner.cubeSeg, 
cuboid, selectedDimensions, selectedMetrics, tupleInfo);
+                if (curRecordIterator.hasNext()) {
+                    //if the segment does not has any tuples, don't bother to 
create a converter
+                    curTupleConverter = new 
CubeTupleConverter(curScanner.cubeSeg, cuboid, selectedDimensions, 
selectedMetrics, tupleInfo);
+                }
             } else {
                 return false;
             }

Reply via email to