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());