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/04/22 06:12:18 UTC
[49/50] [abbrv] kylin git commit: Revert "KYLIN-1556 remove the left
hybrid and refine candidate priority for IT"
Revert "KYLIN-1556 remove the left hybrid and refine candidate priority for IT"
This reverts commit 30d60e2280969ef9bb58801cc2d2132cbf68b778.
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/3c2c4206
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/3c2c4206
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/3c2c4206
Branch: refs/heads/1.5.x-HBase1.1.3
Commit: 3c2c42067e9aadec89e9d836addf26476c9c67cc
Parents: fb55677
Author: lidongsjtu <li...@apache.org>
Authored: Fri Apr 22 09:14:36 2016 +0800
Committer: lidongsjtu <li...@apache.org>
Committed: Fri Apr 22 09:14:36 2016 +0800
----------------------------------------------------------------------
.../apache/kylin/cube/CubeCapabilityChecker.java | 2 +-
.../kylin/metadata/model/FunctionDesc.java | 12 +-----------
.../metadata/realization/CapabilityResult.java | 2 +-
.../hybrid/test_kylin_hybrid_left_join.json | 14 ++++++++++++++
.../localmeta/project/default.json | 5 +++++
.../apache/kylin/query/ITCombinationTest.java | 12 ------------
.../org/apache/kylin/query/ITIIQueryTest.java | 8 +++++++-
.../org/apache/kylin/query/ITKylinQueryTest.java | 11 -----------
.../apache/kylin/query/routing/Candidate.java | 19 +++++++------------
9 files changed, 36 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/3c2c4206/core-cube/src/main/java/org/apache/kylin/cube/CubeCapabilityChecker.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeCapabilityChecker.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeCapabilityChecker.java
index bd45d07..e21dc2b 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeCapabilityChecker.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeCapabilityChecker.java
@@ -177,7 +177,7 @@ public class CubeCapabilityChecker {
// calcite can do aggregation from columns on-the-fly
List<TblColRef> neededCols = functionDesc.getParameter().getColRefs();
- if (neededCols.size() > 0 && cubeDesc.listDimensionColumnsIncludingDerived().containsAll(neededCols) && FunctionDesc.BUILT_IN_AGGREGATIONS.contains(functionDesc.getExpression())) {
+ if (neededCols.size() > 0 && cubeDesc.listDimensionColumnsIncludingDerived().containsAll(neededCols)) {
result.influences.add(new CapabilityResult.DimensionAsMeasure(functionDesc));
it.remove();
continue;
http://git-wip-us.apache.org/repos/asf/kylin/blob/3c2c4206/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
index f3a81d6..9e3effb 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
@@ -21,7 +21,6 @@ package org.apache.kylin.metadata.model;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.Set;
import org.apache.kylin.measure.MeasureType;
import org.apache.kylin.measure.MeasureTypeFactory;
@@ -32,7 +31,6 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
/**
*/
@@ -43,14 +41,6 @@ public class FunctionDesc {
public static final String FUNC_MIN = "MIN";
public static final String FUNC_MAX = "MAX";
public static final String FUNC_COUNT = "COUNT";
- public static final Set<String> BUILT_IN_AGGREGATIONS = Sets.newHashSet();
-
- static {
- BUILT_IN_AGGREGATIONS.add(FUNC_COUNT);
- BUILT_IN_AGGREGATIONS.add(FUNC_MAX);
- BUILT_IN_AGGREGATIONS.add(FUNC_MIN);
- BUILT_IN_AGGREGATIONS.add(FUNC_SUM);
- }
public static final String PARAMETER_TYPE_CONSTANT = "constant";
public static final String PARAMETER_TYPE_COLUMN = "column";
@@ -77,7 +67,7 @@ public class FunctionDesc {
ArrayList<TblColRef> colRefs = Lists.newArrayList();
for (ParameterDesc p = parameter; p != null; p = p.getNextParameter()) {
if (p.isColumnType()) {
- ColumnDesc sourceColumn = findColumn(factTable, lookupTables, p.getValue());
+ ColumnDesc sourceColumn = findColumn(factTable,lookupTables,p.getValue());
TblColRef colRef = new TblColRef(sourceColumn);
colRefs.add(colRef);
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/3c2c4206/core-metadata/src/main/java/org/apache/kylin/metadata/realization/CapabilityResult.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/CapabilityResult.java b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/CapabilityResult.java
index 2241e6a..3b55728 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/realization/CapabilityResult.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/realization/CapabilityResult.java
@@ -53,7 +53,7 @@ public class CapabilityResult {
@Override
public double suggestCostMultiplier() {
- return 1;
+ return 1.0;
}
public FunctionDesc getMeasureFunction() {
http://git-wip-us.apache.org/repos/asf/kylin/blob/3c2c4206/examples/test_case_data/localmeta/hybrid/test_kylin_hybrid_left_join.json
----------------------------------------------------------------------
diff --git a/examples/test_case_data/localmeta/hybrid/test_kylin_hybrid_left_join.json b/examples/test_case_data/localmeta/hybrid/test_kylin_hybrid_left_join.json
new file mode 100644
index 0000000..3a18f87
--- /dev/null
+++ b/examples/test_case_data/localmeta/hybrid/test_kylin_hybrid_left_join.json
@@ -0,0 +1,14 @@
+{
+ "uuid": "5ca78590-64b6-4367-8fb5-7500eb95fd9c",
+
+ "name": "test_kylin_hybrid_left_join",
+ "realizations": [
+ {
+ "type": "CUBE",
+ "realization": "test_kylin_cube_with_slr_left_join_empty"
+ }
+ ],
+ "cost": 100,
+ "last_modified": 1420016227424,
+ "create_time": null
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/kylin/blob/3c2c4206/examples/test_case_data/localmeta/project/default.json
----------------------------------------------------------------------
diff --git a/examples/test_case_data/localmeta/project/default.json b/examples/test_case_data/localmeta/project/default.json
index 41ac6da..6359ff5 100644
--- a/examples/test_case_data/localmeta/project/default.json
+++ b/examples/test_case_data/localmeta/project/default.json
@@ -39,6 +39,11 @@
"realization": "test_streaming_table_cube"
},
{
+ "name": "test_kylin_hybrid_left_join",
+ "type": "HYBRID",
+ "realization": "test_kylin_hybrid_left_join"
+ },
+ {
"name": "test_kylin_hybrid_inner_join",
"type": "HYBRID",
"realization": "test_kylin_hybrid_inner_join"
http://git-wip-us.apache.org/repos/asf/kylin/blob/3c2c4206/kylin-it/src/test/java/org/apache/kylin/query/ITCombinationTest.java
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/java/org/apache/kylin/query/ITCombinationTest.java b/kylin-it/src/test/java/org/apache/kylin/query/ITCombinationTest.java
index 4191462..1845587 100644
--- a/kylin-it/src/test/java/org/apache/kylin/query/ITCombinationTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/query/ITCombinationTest.java
@@ -21,10 +21,7 @@ package org.apache.kylin.query;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Map;
-import org.apache.kylin.metadata.realization.RealizationType;
-import org.apache.kylin.query.routing.Candidate;
import org.apache.kylin.storage.hbase.HBaseStorage;
import org.apache.kylin.storage.hbase.cube.v1.coprocessor.observer.ObserverEnabler;
import org.junit.AfterClass;
@@ -32,8 +29,6 @@ import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
-import com.google.common.collect.Maps;
-
/**
*/
@RunWith(Parameterized.class)
@@ -41,12 +36,6 @@ public class ITCombinationTest extends ITKylinQueryTest {
@BeforeClass
public static void setUp() throws SQLException {
- Map<RealizationType, Integer> priorities = Maps.newHashMap();
- priorities.put(RealizationType.INVERTED_INDEX, 2);
- priorities.put(RealizationType.HYBRID, 0);
- priorities.put(RealizationType.CUBE, 0);
- Candidate.setPriorities(priorities);
-
printInfo("setUp in ITCombinationTest");
}
@@ -55,7 +44,6 @@ public class ITCombinationTest extends ITKylinQueryTest {
printInfo("tearDown in ITCombinationTest");
clean();
HBaseStorage.overwriteStorageQuery = null;
- Candidate.restorePriorities();
}
/**
http://git-wip-us.apache.org/repos/asf/kylin/blob/3c2c4206/kylin-it/src/test/java/org/apache/kylin/query/ITIIQueryTest.java
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/java/org/apache/kylin/query/ITIIQueryTest.java b/kylin-it/src/test/java/org/apache/kylin/query/ITIIQueryTest.java
index 3f470cb..67033dd 100644
--- a/kylin-it/src/test/java/org/apache/kylin/query/ITIIQueryTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/query/ITIIQueryTest.java
@@ -46,12 +46,18 @@ public class ITIIQueryTest extends ITKylinQueryTest {
priorities.put(RealizationType.HYBRID, 1);
priorities.put(RealizationType.CUBE, 2);
Candidate.setPriorities(priorities);
+
}
@AfterClass
public static void tearDown() throws Exception {
ITKylinQueryTest.tearDown();//invoke super class
- Candidate.restorePriorities();
+
+ Map<RealizationType, Integer> priorities = Maps.newHashMap();
+ priorities.put(RealizationType.INVERTED_INDEX, 1);
+ priorities.put(RealizationType.CUBE, 0);
+ priorities.put(RealizationType.HYBRID, 0);
+ Candidate.setPriorities(priorities);
}
@Parameterized.Parameters
http://git-wip-us.apache.org/repos/asf/kylin/blob/3c2c4206/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
----------------------------------------------------------------------
diff --git a/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java b/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
index 7de0484..09fcf4b 100644
--- a/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
@@ -23,18 +23,14 @@ import static org.junit.Assert.assertTrue;
import java.io.File;
import java.sql.DriverManager;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
-import com.google.common.collect.Maps;
import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.util.HBaseMetadataTestCase;
import org.apache.kylin.metadata.project.ProjectInstance;
-import org.apache.kylin.metadata.realization.RealizationType;
import org.apache.kylin.query.enumerator.OLAPQuery;
import org.apache.kylin.query.relnode.OLAPContext;
-import org.apache.kylin.query.routing.Candidate;
import org.apache.kylin.query.schema.OLAPSchemaFactory;
import org.apache.kylin.storage.hbase.cube.v1.coprocessor.observer.ObserverEnabler;
import org.dbunit.database.DatabaseConnection;
@@ -49,12 +45,6 @@ public class ITKylinQueryTest extends KylinTestBase {
@BeforeClass
public static void setUp() throws Exception {
- Map<RealizationType, Integer> priorities = Maps.newHashMap();
- priorities.put(RealizationType.INVERTED_INDEX, 2);
- priorities.put(RealizationType.HYBRID, 0);
- priorities.put(RealizationType.CUBE, 0);
- Candidate.setPriorities(priorities);
-
printInfo("setUp in KylinQueryTest");
joinType = "left";
@@ -63,7 +53,6 @@ public class ITKylinQueryTest extends KylinTestBase {
@AfterClass
public static void tearDown() throws Exception {
- Candidate.restorePriorities();
printInfo("tearDown in KylinQueryTest");
clean();
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/3c2c4206/query/src/main/java/org/apache/kylin/query/routing/Candidate.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/routing/Candidate.java b/query/src/main/java/org/apache/kylin/query/routing/Candidate.java
index 28c60a8..9be8f5e 100644
--- a/query/src/main/java/org/apache/kylin/query/routing/Candidate.java
+++ b/query/src/main/java/org/apache/kylin/query/routing/Candidate.java
@@ -29,23 +29,18 @@ import com.google.common.collect.Maps;
public class Candidate implements Comparable<Candidate> {
- static Map<RealizationType, Integer> DEFAULT_PRIORITIES = Maps.newHashMap();
- static Map<RealizationType, Integer> PRIORITIES = DEFAULT_PRIORITIES;
+ static final Map<RealizationType, Integer> PRIORITIES = Maps.newHashMap();
static {
- DEFAULT_PRIORITIES.put(RealizationType.HYBRID, 0);
- DEFAULT_PRIORITIES.put(RealizationType.CUBE, 1);
- DEFAULT_PRIORITIES.put(RealizationType.INVERTED_INDEX, 2);
+ PRIORITIES.put(RealizationType.HYBRID, 0);
+ PRIORITIES.put(RealizationType.CUBE, 1);
+ PRIORITIES.put(RealizationType.INVERTED_INDEX, 2);
}
/** for test only */
public static void setPriorities(Map<RealizationType, Integer> priorities) {
- PRIORITIES = priorities;
- }
-
- /** for test only */
- public static void restorePriorities() {
- PRIORITIES = DEFAULT_PRIORITIES;
+ PRIORITIES.clear();
+ PRIORITIES.putAll(priorities);
}
// ============================================================================
@@ -92,7 +87,7 @@ public class Candidate implements Comparable<Candidate> {
if (comp != 0) {
return comp;
}
-
+
return 0;
}