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;
     }