fix issues in upgrading 2.0

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

Branch: refs/heads/2.x-staging
Commit: 000d883b189fb01522e78ee2017ca6f3783cff1f
Parents: bd5fc00
Author: honma <ho...@ebay.com>
Authored: Tue Jan 19 15:10:41 2016 +0800
Committer: honma <ho...@ebay.com>
Committed: Tue Jan 19 15:10:41 2016 +0800

----------------------------------------------------------------------
 .../org/apache/kylin/query/routing/RoutingRule.java   |  3 +++
 .../org/apache/kylin/storage/hbase/HBaseStorage.java  |  6 +++++-
 .../storage/hbase/cube/v2/CubeHBaseEndpointRPC.java   | 14 +++++++-------
 3 files changed, 15 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/000d883b/query/src/main/java/org/apache/kylin/query/routing/RoutingRule.java
----------------------------------------------------------------------
diff --git 
a/query/src/main/java/org/apache/kylin/query/routing/RoutingRule.java 
b/query/src/main/java/org/apache/kylin/query/routing/RoutingRule.java
index 3d15a51..11498d6 100644
--- a/query/src/main/java/org/apache/kylin/query/routing/RoutingRule.java
+++ b/query/src/main/java/org/apache/kylin/query/routing/RoutingRule.java
@@ -56,6 +56,9 @@ public abstract class RoutingRule {
         for (Candidate candidate : candidates) {
             IRealization r = candidate.realization;
             sb.append(r.getName());
+            sb.append("(");
+            sb.append(r.getType());
+            sb.append(")");
             sb.append(",");
         }
         if (sb.charAt(sb.length() - 1) != '[')

http://git-wip-us.apache.org/repos/asf/kylin/blob/000d883b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseStorage.java
----------------------------------------------------------------------
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseStorage.java 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseStorage.java
index c61212c..e71434f 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseStorage.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseStorage.java
@@ -26,6 +26,7 @@ import org.apache.kylin.engine.mr.IMROutput2;
 import org.apache.kylin.invertedindex.IIInstance;
 import org.apache.kylin.metadata.MetadataManager;
 import org.apache.kylin.metadata.model.DataModelDesc;
+import org.apache.kylin.metadata.model.IStorageAware;
 import org.apache.kylin.metadata.model.PartitionDesc;
 import org.apache.kylin.metadata.model.TblColRef;
 import org.apache.kylin.metadata.realization.IRealization;
@@ -71,8 +72,11 @@ public class HBaseStorage implements IStorage {
             }
         } else if (realization.getType() == RealizationType.CUBE) {
 
+            CubeInstance cubeInstance = (CubeInstance) realization;
             String cubeStorageQuery;
-            if (overwriteStorageQuery != null) {
+            if (cubeInstance.getStorageType() == IStorageAware.ID_HBASE) {//v2 
query engine cannot go with v1 storage now
+                cubeStorageQuery = v1CubeStorageQuery;
+            } else if (overwriteStorageQuery != null) {
                 cubeStorageQuery = overwriteStorageQuery;
             } else if 
("v1".equalsIgnoreCase(BackdoorToggles.getHbaseCubeQueryVersion())) {
                 cubeStorageQuery = v1CubeStorageQuery;

http://git-wip-us.apache.org/repos/asf/kylin/blob/000d883b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
----------------------------------------------------------------------
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
index 5cca195..d6ef16c 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
@@ -255,11 +255,11 @@ public class CubeHBaseEndpointRPC extends CubeHBaseRPC {
         final ExpectedSizeIterator epResultItr = new 
ExpectedSizeIterator(scanRequests.size() * shardNum);
 
         for (final Pair<byte[], byte[]> epRange : 
getEPKeyRanges(cuboidBaseShard, shardNum, totalShards)) {
-            for (int i = 0; i < scanRequests.size(); ++i) {
-                final int scanIndex = i;
-                executorService.submit(new Runnable() {
-                    @Override
-                    public void run() {
+            executorService.submit(new Runnable() {
+                @Override
+                public void run() {
+                    for (int i = 0; i < scanRequests.size(); ++i) {
+                        int scanIndex = i;
                         CubeVisitProtos.CubeVisitRequest.Builder builder = 
CubeVisitProtos.CubeVisitRequest.newBuilder();
                         
builder.setGtScanRequest(scanRequestByteStrings.get(scanIndex)).setHbaseRawScan(rawScanByteStrings.get(scanIndex));
                         for (IntList intList : hbaseColumnsToGTIntList) {
@@ -285,8 +285,8 @@ public class CubeHBaseEndpointRPC extends CubeHBaseRPC {
                             }
                         }
                     }
-                });
-            }
+                }
+            });
         }
 
         return new EndpointResultsAsGTScanner(fullGTInfo, epResultItr, 
scanRequests.get(0).getColumns(), totalScannedCount.get());

Reply via email to