You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/10/27 10:03:36 UTC
kylin git commit: KYLIN-1971 fix ITStorageTest
Repository: kylin
Updated Branches:
refs/heads/master 3b9be1963 -> d06a425e3
KYLIN-1971 fix ITStorageTest
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/d06a425e
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/d06a425e
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/d06a425e
Branch: refs/heads/master
Commit: d06a425e3b30b52ae895954a9faa034da1ad0e04
Parents: 3b9be19
Author: Li Yang <li...@apache.org>
Authored: Thu Oct 27 18:03:22 2016 +0800
Committer: Li Yang <li...@apache.org>
Committed: Thu Oct 27 18:03:22 2016 +0800
----------------------------------------------------------------------
.../apache/kylin/metadata/model/TableRef.java | 8 +++
.../apache/kylin/storage/StorageMockUtils.java | 52 +++++++++++---------
.../kylin/storage/hbase/ITStorageTest.java | 18 +++----
3 files changed, 46 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/d06a425e/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableRef.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableRef.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableRef.java
index 254ce18..7089eba 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableRef.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableRef.java
@@ -70,6 +70,8 @@ public class TableRef {
return Collections.unmodifiableCollection(columns.values());
}
+ // for test only
+ @Deprecated
public TblColRef makeFakeColumn(String name) {
ColumnDesc colDesc = new ColumnDesc();
colDesc.setName(name);
@@ -77,6 +79,12 @@ public class TableRef {
return new TblColRef(this, colDesc);
}
+ // for test only
+ @Deprecated
+ public TblColRef makeFakeColumn(ColumnDesc colDesc) {
+ return new TblColRef(this, colDesc);
+ }
+
@Override
public boolean equals(Object o) {
if (this == o)
http://git-wip-us.apache.org/repos/asf/kylin/blob/d06a425e/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
----------------------------------------------------------------------
diff --git a/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java b/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
index 456e768..0786f32 100644
--- a/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
+++ b/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
@@ -28,9 +28,11 @@ import org.apache.kylin.metadata.filter.CompareTupleFilter;
import org.apache.kylin.metadata.filter.ConstantTupleFilter;
import org.apache.kylin.metadata.filter.LogicalTupleFilter;
import org.apache.kylin.metadata.filter.TupleFilter;
+import org.apache.kylin.metadata.model.ColumnDesc;
+import org.apache.kylin.metadata.model.DataModelDesc;
import org.apache.kylin.metadata.model.FunctionDesc;
import org.apache.kylin.metadata.model.ParameterDesc;
-import org.apache.kylin.metadata.model.TableDesc;
+import org.apache.kylin.metadata.model.TableRef;
import org.apache.kylin.metadata.model.TblColRef;
import org.apache.kylin.metadata.tuple.TupleInfo;
@@ -39,7 +41,14 @@ import com.google.common.collect.ImmutableList;
/**
*/
public class StorageMockUtils {
- public static TupleInfo newTupleInfo(List<TblColRef> groups, List<FunctionDesc> aggregations) {
+
+ final DataModelDesc model;
+
+ public StorageMockUtils(DataModelDesc model) {
+ this.model = model;
+ }
+
+ public TupleInfo newTupleInfo(List<TblColRef> groups, List<FunctionDesc> aggregations) {
TupleInfo info = new TupleInfo();
int idx = 0;
@@ -47,34 +56,32 @@ public class StorageMockUtils {
info.setField(col.getName(), col, idx++);
}
- TableDesc sourceTable = groups.get(0).getColumnDesc().getTable();
+ TableRef sourceTable = groups.get(0).getTableRef();
for (FunctionDesc func : aggregations) {
- TblColRef col = func.newFakeRewriteColumn(sourceTable).getRef();
+ ColumnDesc colDesc = func.newFakeRewriteColumn(sourceTable.getTableDesc());
+ TblColRef col = sourceTable.makeFakeColumn(colDesc);
info.setField(col.getName(), col, idx++);
}
return info;
}
- public static List<TblColRef> buildGroups() {
+ public List<TblColRef> buildGroups() {
List<TblColRef> groups = new ArrayList<TblColRef>();
- TableDesc t1 = TableDesc.mockup("DEFAULT.TEST_KYLIN_FACT");
- TblColRef c1 = TblColRef.mockup(t1, 2, "CAL_DT", "date");
+ TblColRef c1 = model.findColumn("DEFAULT.TEST_KYLIN_FACT.CAL_DT");
groups.add(c1);
- TableDesc t2 = TableDesc.mockup("DEFAULT.TEST_CATEGORY_GROUPINGS");
- TblColRef c2 = TblColRef.mockup(t2, 14, "META_CATEG_NAME", "string");
+ TblColRef c2 = model.findColumn("DEFAULT.TEST_CATEGORY_GROUPINGS.META_CATEG_NAME");
groups.add(c2);
return groups;
}
- public static List<FunctionDesc> buildAggregations1() {
+ public List<FunctionDesc> buildAggregations1() {
List<FunctionDesc> functions = new ArrayList<FunctionDesc>();
- TableDesc t1 = TableDesc.mockup("DEFAULT.TEST_KYLIN_FACT");
- TblColRef priceCol = TblColRef.mockup(t1, 7, "PRICE", "decimal(19,4)");
+ TblColRef priceCol = model.findColumn("DEFAULT.TEST_KYLIN_FACTPRICE");
FunctionDesc f1 = new FunctionDesc();
f1.setExpression("SUM");
@@ -89,12 +96,11 @@ public class StorageMockUtils {
return functions;
}
- public static List<FunctionDesc> buildAggregations() {
+ public List<FunctionDesc> buildAggregations() {
List<FunctionDesc> functions = new ArrayList<FunctionDesc>();
- TableDesc t1 = TableDesc.mockup("DEFAULT.TEST_KYLIN_FACT");
- TblColRef priceCol = TblColRef.mockup(t1, 7, "PRICE", "decimal(19,4)");
- TblColRef sellerCol = TblColRef.mockup(t1, 9, "SELLER_ID", "bigint");
+ TblColRef priceCol = model.findColumn("DEFAULT.TEST_KYLIN_FACT.PRICE");
+ TblColRef sellerCol = model.findColumn("DEFAULT.TEST_KYLIN_FACT.SELLER_ID");
FunctionDesc f1 = new FunctionDesc();
f1.setExpression("SUM");
@@ -119,7 +125,7 @@ public class StorageMockUtils {
return functions;
}
- public static CompareTupleFilter buildTs2010Filter(TblColRef column) {
+ public CompareTupleFilter buildTs2010Filter(TblColRef column) {
CompareTupleFilter compareFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.GT);
ColumnTupleFilter columnFilter1 = new ColumnTupleFilter(column);
compareFilter.addChild(columnFilter1);
@@ -128,7 +134,7 @@ public class StorageMockUtils {
return compareFilter;
}
- public static CompareTupleFilter buildTs2011Filter(TblColRef column) {
+ public CompareTupleFilter buildTs2011Filter(TblColRef column) {
CompareTupleFilter compareFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.GT);
ColumnTupleFilter columnFilter1 = new ColumnTupleFilter(column);
compareFilter.addChild(columnFilter1);
@@ -137,7 +143,7 @@ public class StorageMockUtils {
return compareFilter;
}
- public static CompareTupleFilter buildFilter1(TblColRef column) {
+ public CompareTupleFilter buildFilter1(TblColRef column) {
CompareTupleFilter compareFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.LTE);
ColumnTupleFilter columnFilter1 = new ColumnTupleFilter(column);
compareFilter.addChild(columnFilter1);
@@ -146,7 +152,7 @@ public class StorageMockUtils {
return compareFilter;
}
- public static CompareTupleFilter buildFilter2(TblColRef column) {
+ public CompareTupleFilter buildFilter2(TblColRef column) {
CompareTupleFilter compareFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.EQ);
ColumnTupleFilter columnFilter2 = new ColumnTupleFilter(column);
compareFilter.addChild(columnFilter2);
@@ -155,7 +161,7 @@ public class StorageMockUtils {
return compareFilter;
}
- public static CompareTupleFilter buildFilter3(TblColRef column) {
+ public CompareTupleFilter buildFilter3(TblColRef column) {
CompareTupleFilter compareFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.EQ);
ColumnTupleFilter columnFilter1 = new ColumnTupleFilter(column);
compareFilter.addChild(columnFilter1);
@@ -164,7 +170,7 @@ public class StorageMockUtils {
return compareFilter;
}
- public static TupleFilter buildAndFilter(List<TblColRef> columns) {
+ public TupleFilter buildAndFilter(List<TblColRef> columns) {
CompareTupleFilter compareFilter1 = buildFilter1(columns.get(0));
CompareTupleFilter compareFilter2 = buildFilter2(columns.get(1));
LogicalTupleFilter andFilter = new LogicalTupleFilter(TupleFilter.FilterOperatorEnum.AND);
@@ -173,7 +179,7 @@ public class StorageMockUtils {
return andFilter;
}
- public static TupleFilter buildOrFilter(List<TblColRef> columns) {
+ public TupleFilter buildOrFilter(List<TblColRef> columns) {
CompareTupleFilter compareFilter1 = buildFilter1(columns.get(0));
CompareTupleFilter compareFilter2 = buildFilter2(columns.get(1));
LogicalTupleFilter logicFilter = new LogicalTupleFilter(TupleFilter.FilterOperatorEnum.OR);
http://git-wip-us.apache.org/repos/asf/kylin/blob/d06a425e/kylin-it/src/test/java/org/apache/kylin/storage/hbase/ITStorageTest.java
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/java/org/apache/kylin/storage/hbase/ITStorageTest.java b/kylin-it/src/test/java/org/apache/kylin/storage/hbase/ITStorageTest.java
index c30455e..ea3cbdb 100644
--- a/kylin-it/src/test/java/org/apache/kylin/storage/hbase/ITStorageTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/storage/hbase/ITStorageTest.java
@@ -53,6 +53,7 @@ public class ITStorageTest extends HBaseMetadataTestCase {
private IStorageQuery storageEngine;
private CubeInstance cube;
private StorageContext context;
+ private StorageMockUtils mockup;
@BeforeClass
public static void setupResource() throws Exception {
@@ -73,6 +74,7 @@ public class ITStorageTest extends HBaseMetadataTestCase {
String url = KylinConfig.getInstanceFromEnv().getStorageUrl();
context = new StorageContext();
context.setConnUrl(url);
+ mockup = new StorageMockUtils(cube.getDataModelDesc());
}
@After
@@ -84,20 +86,20 @@ public class ITStorageTest extends HBaseMetadataTestCase {
@Ignore
public void testScanOutOfLimit() {
context.setThreshold(1);
- List<TblColRef> groups = StorageMockUtils.buildGroups();
- List<FunctionDesc> aggregations = StorageMockUtils.buildAggregations();
+ List<TblColRef> groups = mockup.buildGroups();
+ List<FunctionDesc> aggregations = mockup.buildAggregations();
search(groups, aggregations, null, context);
}
@Test
public void test01() {
- List<TblColRef> groups = StorageMockUtils.buildGroups();
- List<FunctionDesc> aggregations = StorageMockUtils.buildAggregations();
- TupleFilter filter = StorageMockUtils.buildFilter1(groups.get(0));
+ List<TblColRef> groups = mockup.buildGroups();
+ List<FunctionDesc> aggregations = mockup.buildAggregations();
+ TupleFilter filter = mockup.buildFilter1(groups.get(0));
int count = search(groups, aggregations, filter, context);
- assertTrue(count > 0);
+ assertTrue(count >= 0);
}
/*
@@ -145,14 +147,12 @@ public class ITStorageTest extends HBaseMetadataTestCase {
ITupleIterator iterator = null;
try {
SQLDigest sqlDigest = new SQLDigest("default.test_kylin_fact", filter, null, Collections.<TblColRef> emptySet(), groups, Collections.<TblColRef> emptySet(), Collections.<TblColRef> emptySet(), aggregations, Collections.<SQLCall> emptyList(), new ArrayList<TblColRef>(), new ArrayList<SQLDigest.OrderEnum>());
- iterator = storageEngine.search(context, sqlDigest, StorageMockUtils.newTupleInfo(groups, aggregations));
+ iterator = storageEngine.search(context, sqlDigest, mockup.newTupleInfo(groups, aggregations));
while (iterator.hasNext()) {
ITuple tuple = iterator.next();
System.out.println("Tuple = " + tuple);
count++;
}
- } catch (Exception e) {
- e.printStackTrace();
} finally {
if (iterator != null)
iterator.close();