[1/2] kylin git commit: KYLIN-2428 cleanup unnecessary shade dependency in job/coprocessor/spark/jdbc/tool [Forced Update!]

2017-02-13 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2428 9da563352 -> f10d9d9ba (forced update)


http://git-wip-us.apache.org/repos/asf/kylin/blob/f10d9d9b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkBatchCubingJobBuilder2.java
--
diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkBatchCubingJobBuilder2.java
 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkBatchCubingJobBuilder2.java
index 327d215..00b9378 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkBatchCubingJobBuilder2.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkBatchCubingJobBuilder2.java
@@ -60,6 +60,7 @@ public class SparkBatchCubingJobBuilder2 extends 
BatchCubingJobBuilder2 {
 StringUtil.appendWithSeparator(jars, 
findJar("org.apache.hadoop.hbase.HBaseConfiguration")); // hbase-common.jar
 StringUtil.appendWithSeparator(jars, 
findJar("org.apache.hadoop.hbase.util.ByteStringer")); // hbase-protocol.jar
 StringUtil.appendWithSeparator(jars, 
findJar("com.yammer.metrics.core.Gauge")); // metrics-core.jar
+StringUtil.appendWithSeparator(jars, 
findJar("com.google.common.collect.Maps")); //guava.jar
 
 StringUtil.appendWithSeparator(jars, 
seg.getConfig().getSparkAdditionalJars());
 sparkExecutable.setJars(jars.toString());

http://git-wip-us.apache.org/repos/asf/kylin/blob/f10d9d9b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCubingByLayer.java
--
diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCubingByLayer.java
 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCubingByLayer.java
index 317d2bd..9329c08 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCubingByLayer.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCubingByLayer.java
@@ -17,7 +17,6 @@
 */
 package org.apache.kylin.engine.spark;
 
-import com.google.common.collect.Lists;
 import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
@@ -72,6 +71,7 @@ import java.io.File;
 import java.io.FileFilter;
 import java.io.Serializable;
 import java.nio.ByteBuffer;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
@@ -333,7 +333,7 @@ public class SparkCubingByLayer extends AbstractApplication 
implements Serializa
 }
 }
 
-private static final java.lang.Iterable> 
EMTPY_ITERATOR = Lists.newArrayListWithCapacity(0);
+private static final java.lang.Iterable> 
EMTPY_ITERATOR = new ArrayList(0);
 
 class CuboidFlatMap implements PairFlatMapFunction, ByteArray, Object[]> {
 
@@ -370,7 +370,7 @@ public class SparkCubingByLayer extends AbstractApplication 
implements Serializa
 return EMTPY_ITERATOR;
 }
 
-List> tuples = 
Lists.newArrayListWithCapacity(myChildren.size());
+List> tuples = new 
ArrayList(myChildren.size());
 for (Long child : myChildren) {
 Cuboid childCuboid = Cuboid.findById(cubeDesc, child);
 Pair result = 
ndCuboidBuilder.buildKey(parentCuboid, childCuboid, 
rowKeySplitter.getSplitBuffers());

http://git-wip-us.apache.org/repos/asf/kylin/blob/f10d9d9b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkExecutable.java
--
diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkExecutable.java 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkExecutable.java
index 733a472..015b480 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkExecutable.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkExecutable.java
@@ -20,8 +20,7 @@ package org.apache.kylin.engine.spark;
 import java.io.File;
 import java.util.Map;
 
-import jodd.util.StringUtil;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang.StringUtils;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.CliCommandExecutor;
 import org.apache.kylin.common.util.Logger;
@@ -31,8 +30,6 @@ import org.apache.kylin.job.execution.ExecutableContext;
 import org.apache.kylin.job.execution.ExecuteResult;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Preconditions;
-
 /**
  */
 public class SparkExecutable extends AbstractExecutable {
@@ -74,12 +71,16 @@ public class SparkExecutable extends AbstractExecutable {
 @Override
 protected ExecuteResult doWork(ExecutableContext context) throws 
ExecuteException {
 final KylinConfig config = context.getConfig();
-Preconditions.checkNotNull(config.getSparkHome());
-Preconditions.checkNotNull(config.getKylinJobJarPat

[2/2] kylin git commit: KYLIN-2428 cleanup unnecessary shade dependency in job/coprocessor/spark/jdbc/tool

2017-02-13 Thread billyliu
KYLIN-2428 cleanup unnecessary shade dependency in 
job/coprocessor/spark/jdbc/tool


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

Branch: refs/heads/KYLIN-2428
Commit: f10d9d9ba95878a97f70975547763083c000bcfe
Parents: c93ea9c
Author: Billy Liu 
Authored: Tue Feb 14 13:29:25 2017 +0800
Committer: Billy Liu 
Committed: Tue Feb 14 13:29:25 2017 +0800

--
 assembly/pom.xml|  49 +++-
 atopcalcite/pom.xml |   1 +
 build/bin/get-properties.sh |   3 +-
 build/bin/kylin.sh  |   8 +-
 build/conf/kylin-tools-log4j.properties |   9 +-
 build/script/prepare_libs.sh|   2 +-
 core-common/pom.xml |  22 +-
 .../apache/kylin/common/util/SparkEntry.java|  42 ---
 core-cube/pom.xml   |  18 +-
 .../org/apache/kylin/cube/model/CubeDesc.java   |   2 +-
 .../apache/kylin/gridtable/GTInvertedIndex.java | 223 
 .../gridtable/GTInvertedIndexOfColumn.java  | 133 --
 .../gridtable/SimpleInvertedIndexTest.java  | 196 --
 core-job/pom.xml|   9 +
 core-metadata/pom.xml   |  23 ++
 .../apache/kylin/dimension/BooleanDimEnc.java   |   5 +-
 .../org/apache/kylin/dimension/DateDimEnc.java  |   4 +-
 .../kylin/dimension/DictionaryDimEnc.java   |   3 +-
 .../apache/kylin/dimension/FixedLenDimEnc.java  |   3 +-
 .../kylin/dimension/FixedLenHexDimEnc.java  |   3 +-
 .../org/apache/kylin/dimension/IntDimEnc.java   |   3 +-
 .../apache/kylin/dimension/IntegerDimEnc.java   |   3 +-
 .../kylin/dimension/OneMoreByteVLongDimEnc.java |   3 +-
 .../org/apache/kylin/dimension/TimeDimEnc.java  |   4 +-
 .../kylin/measure/MeasureTypeFactory.java   |   2 +-
 .../measure/hllc/HLLDistinctCountAggFunc.java   |   2 +-
 .../org/apache/kylin/measure/topn/Counter.java  |   3 +-
 .../kylin/metadata/model/DataModelDesc.java |   5 +-
 .../apache/kylin/metadata/model/JoinsTree.java  |   2 +-
 .../kylin/metadata/model/PartitionDesc.java |   2 +-
 .../kylin/metadata/model/SegmentStatusEnum.java |   4 +-
 .../apache/kylin/metadata/model/Segments.java   |   3 +-
 .../realization/RealizationStatusEnum.java  |   4 +-
 core-storage/pom.xml|  20 ++
 engine-spark/pom.xml|  47 +---
 .../engine/spark/KylinKryoRegistrator.java  | 265 ++-
 .../spark/SparkBatchCubingJobBuilder2.java  |   1 +
 .../kylin/engine/spark/SparkCubingByLayer.java  |   6 +-
 .../kylin/engine/spark/SparkExecutable.java |  17 +-
 .../spark/cube/ListBackedCuboidWriter.java  |   4 +-
 .../kylin/engine/spark/util/IteratorUtils.java  |   4 +-
 .../kylin/engine/spark/util/SparkEntry.java |  48 
 .../engine/spark/util/KyroMappingGenerator.java |  56 
 jdbc/pom.xml|  14 +-
 pom.xml | 216 ---
 query/pom.xml   |   6 +
 server/pom.xml  |   4 +
 source-kafka/pom.xml|  16 +-
 storage-hbase/pom.xml   |  19 +-
 tool-assembly/pom.xml   | 135 ++
 tool/pom.xml|  39 ---
 51 files changed, 791 insertions(+), 924 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/f10d9d9b/assembly/pom.xml
--
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 873abff..ba69583 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -19,16 +19,20 @@
 
 http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+4.0.0
+
+kylin-assembly
+Apache Kylin - Assembly
+
 
 kylin
 org.apache.kylin
 2.0.0-SNAPSHOT
-
 
-4.0.0
 
-kylin-assembly
-Apache Kylin - Assembly
+
+org.apache.kylin.job.shaded
+
 
 
 
@@ -180,8 +184,45 @@
 org.apache.zookeeper:*
 net.sf.ehcache:*
 
org.apache.httpcomponents:*
+
org.apache.commons:commons-email:*
+
com.sun.mail:javax.mail:*
+
javax.activation:activation:*
  

kylin git commit: KYLIN-2428 add more Serializable mapping

2017-02-13 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2428 a5a0904a7 -> 9da563352


KYLIN-2428 add more Serializable mapping


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

Branch: refs/heads/KYLIN-2428
Commit: 9da56335253095ff48e5ac87f5c815022d3f0d4f
Parents: a5a0904
Author: Billy Liu 
Authored: Tue Feb 14 13:08:44 2017 +0800
Committer: Billy Liu 
Committed: Tue Feb 14 13:08:44 2017 +0800

--
 .../java/org/apache/kylin/cube/model/CubeDesc.java |  2 +-
 .../org/apache/kylin/dimension/BooleanDimEnc.java  |  3 ++-
 .../org/apache/kylin/dimension/DateDimEnc.java |  4 +++-
 .../apache/kylin/dimension/DictionaryDimEnc.java   |  3 ++-
 .../org/apache/kylin/dimension/FixedLenDimEnc.java |  3 ++-
 .../apache/kylin/dimension/FixedLenHexDimEnc.java  |  3 ++-
 .../java/org/apache/kylin/dimension/IntDimEnc.java |  3 ++-
 .../org/apache/kylin/dimension/IntegerDimEnc.java  |  3 ++-
 .../kylin/dimension/OneMoreByteVLongDimEnc.java|  3 ++-
 .../org/apache/kylin/dimension/TimeDimEnc.java |  4 +++-
 .../org/apache/kylin/measure/topn/Counter.java |  3 ++-
 .../apache/kylin/metadata/model/DataModelDesc.java |  5 +++--
 .../apache/kylin/metadata/model/PartitionDesc.java |  2 +-
 .../kylin/metadata/model/SegmentStatusEnum.java|  4 +++-
 .../org/apache/kylin/metadata/model/Segments.java  |  3 ++-
 .../realization/RealizationStatusEnum.java |  4 +++-
 .../kylin/engine/spark/KylinKryoRegistrator.java   | 17 +
 17 files changed, 52 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/9da56335/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
--
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java 
b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
index 9acb90c..0c1419d 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
@@ -97,7 +97,7 @@ public class CubeDesc extends RootPersistentEntity implements 
IEngineAware {
 }
 }
 
-public enum DeriveType {
+public enum DeriveType implements java.io.Serializable{
 LOOKUP, PK_FK, EXTENDED_COLUMN
 }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/9da56335/core-metadata/src/main/java/org/apache/kylin/dimension/BooleanDimEnc.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/dimension/BooleanDimEnc.java 
b/core-metadata/src/main/java/org/apache/kylin/dimension/BooleanDimEnc.java
index bb759da..fbdb0bb 100644
--- a/core-metadata/src/main/java/org/apache/kylin/dimension/BooleanDimEnc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/dimension/BooleanDimEnc.java
@@ -21,6 +21,7 @@ package org.apache.kylin.dimension;
 import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
+import java.io.Serializable;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Map;
@@ -33,7 +34,7 @@ import com.google.common.collect.Maps;
 /**
  * Encoding Boolean values to bytes
  */
-public class BooleanDimEnc extends DimensionEncoding {
+public class BooleanDimEnc extends DimensionEncoding implements Serializable{
 private static final long serialVersionUID = 1L;
 
 public static final String ENCODING_NAME = "boolean";

http://git-wip-us.apache.org/repos/asf/kylin/blob/9da56335/core-metadata/src/main/java/org/apache/kylin/dimension/DateDimEnc.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/dimension/DateDimEnc.java 
b/core-metadata/src/main/java/org/apache/kylin/dimension/DateDimEnc.java
index 79e00ce..3b390d9 100644
--- a/core-metadata/src/main/java/org/apache/kylin/dimension/DateDimEnc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/dimension/DateDimEnc.java
@@ -18,10 +18,12 @@
 
 package org.apache.kylin.dimension;
 
+import java.io.Serializable;
+
 /**
  * This encoding is meant to be IDENTICAL to DateStrDictionary for 100% 
backward compatibility.
  */
-public class DateDimEnc extends AbstractDateDimEnc {
+public class DateDimEnc extends AbstractDateDimEnc implements Serializable{
 private static final long serialVersionUID = 1L;
 
 public static final int ID__12_31 = 3652426;

http://git-wip-us.apache.org/repos/asf/kylin/blob/9da56335/core-metadata/src/main/java/org/apache/kylin/dimension/DictionaryDimEnc.java
--
diff -

[01/11] kylin git commit: minor, UHCReducerCount change back to 3 by default to make IT cover KYLIN-2135 [Forced Update!]

2017-02-13 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2428 62463b741 -> a5a0904a7 (forced update)


minor, UHCReducerCount change back to 3 by default to make IT cover KYLIN-2135


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

Branch: refs/heads/KYLIN-2428
Commit: edf6cef15753eae8675e9f2f4cf4ba5c7fb4e513
Parents: e09338b
Author: kangkaisen 
Authored: Fri Feb 10 17:36:51 2017 +0800
Committer: kangkaisen 
Committed: Fri Feb 10 17:36:51 2017 +0800

--
 .../src/main/java/org/apache/kylin/common/KylinConfigBase.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/edf6cef1/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java 
b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
index 81f0187..894e28a 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
@@ -746,7 +746,7 @@ abstract public class KylinConfigBase implements 
Serializable {
 
 //UHC: ultra high cardinality columns, contain the ShardByColumns and the 
GlobalDictionaryColumns
 public int getUHCReducerCount() {
-return 
Integer.parseInt(getOptional("kylin.engine.mr.uhc-reducer-count", "1"));
+return 
Integer.parseInt(getOptional("kylin.engine.mr.uhc-reducer-count", "3"));
 }
 
 public boolean isBuildDictInReducerEnabled() {



[03/11] kylin git commit: KYLIN 1875 UI replace table name with alias

2017-02-13 Thread billyliu
KYLIN 1875 UI replace table name with alias

Signed-off-by: lidongsjtu 


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

Branch: refs/heads/KYLIN-2428
Commit: 3c49c9e0c261ad0893c8911cc0f19804afea5516
Parents: 09a0866
Author: chenzhx <346839...@qq.com>
Authored: Fri Feb 10 14:48:47 2017 +0800
Committer: lidongsjtu 
Committed: Fri Feb 10 20:59:55 2017 +0800

--
 .../js/controllers/modelConditionsSettings.js   | 42 ++--
 webapp/app/js/controllers/modelDataModel.js | 10 -
 webapp/app/js/controllers/modelEdit.js  | 13 --
 webapp/app/js/controllers/modelSchema.js| 11 -
 .../app/partials/cubeDesigner/dimensions.html   |  2 +-
 .../modelDesigner/conditions_settings.html  | 32 +--
 .../app/partials/modelDesigner/data_model.html  | 37 +++--
 .../modelDesigner/model_dimensions.html |  4 +-
 .../partials/modelDesigner/model_measures.html  |  2 +-
 webapp/app/partials/models/model_edit.html  |  7 +---
 10 files changed, 96 insertions(+), 64 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/3c49c9e0/webapp/app/js/controllers/modelConditionsSettings.js
--
diff --git a/webapp/app/js/controllers/modelConditionsSettings.js 
b/webapp/app/js/controllers/modelConditionsSettings.js
index b3e4998..004d5bc 100644
--- a/webapp/app/js/controllers/modelConditionsSettings.js
+++ b/webapp/app/js/controllers/modelConditionsSettings.js
@@ -25,14 +25,18 @@
 KylinApp.controller('ModelConditionsSettingsCtrl', function ($scope, 
$modal,MetaModel,modelsManager,VdmUtil) {
   $scope.modelsManager = modelsManager;
   $scope.availableFactTables = [];
-  
$scope.selectedTables={fact:VdmUtil.getNameSpaceAliasName($scope.modelsManager.selectedModel.partition_desc.partition_date_column)}
-  
$scope.availableFactTables.push(VdmUtil.removeNameSpace($scope.modelsManager.selectedModel.fact_table));
-  var joinTable = $scope.modelsManager.selectedModel.lookups;
-  for (var j = 0; j < joinTable.length; j++) {
-if(joinTable[j].kind=='FACT'){
-  $scope.availableFactTables.push(joinTable[j].alias);
+  $scope.initSetting = function (){
+
$scope.selectedTables={fact:VdmUtil.getNameSpaceAliasName($scope.modelsManager.selectedModel.partition_desc.partition_date_column)}
+
$scope.selectedTablesForPartitionTime={fact:VdmUtil.getNameSpaceAliasName($scope.modelsManager.selectedModel.partition_desc.partition_time_column)}
+
$scope.availableFactTables.push(VdmUtil.removeNameSpace($scope.modelsManager.selectedModel.fact_table));
+var joinTable = $scope.modelsManager.selectedModel.lookups;
+for (var j = 0; j < joinTable.length; j++) {
+  if(joinTable[j].kind=='FACT'){
+$scope.availableFactTables.push(joinTable[j].alias);
+  }
 }
   }
+
   $scope.isFormatEdit = {editable:false};
   var judgeFormatEditable = function(dateColumn){
 if(dateColumn == null){
@@ -61,6 +65,21 @@ KylinApp.controller('ModelConditionsSettingsCtrl', function 
($scope, $modal,Meta
 return;
 
   };
+
+  $scope.getPartitonColumns = function(alias){
+var columns = _.filter($scope.getColumnsByAlias(alias),function(column){
+  return 
column.datatype==="date"||column.datatype==="timestamp"||column.datatype==="string"||column.datatype.startsWith("varchar")||column.datatype==="bigint"||column.datatype==="int"||column.datatype==="integer";
+});
+return columns;
+  };
+
+  $scope.getPartitonTimeColumns = function(tableName,filterColumn){
+var columns = 
_.filter($scope.getColumnsByAlias(tableName),function(column){
+  return 
(column.datatype==="time"||column.datatype==="timestamp"||column.datatype==="string"||column.datatype.startsWith("varchar"))&&(tableName+'.'+column.name!=filterColumn);
+});
+return columns;
+  };
+
   $scope.partitionChange = function (dateColumn) {
 judgeFormatEditable(dateColumn);
   };
@@ -68,14 +87,13 @@ KylinApp.controller('ModelConditionsSettingsCtrl', function 
($scope, $modal,Meta
   "hasSeparateTimeColumn" : false
   }
 
-  if (($scope.state.mode=='edit')&&($scope.isEdit = !!$scope.route.params)) {
-
if($scope.modelsManager.selectedModel.partition_desc.partition_time_column){
-  $scope.partitionColumn.hasSeparateTimeColumn = true;
-}
+  if ($scope.state.mode=='edit'){
+$scope.initSetting();
 
judgeFormatEditable($scope.modelsManager.selectedModel.partition_desc.partition_date_column);
   }
-
-
+  if($scope.modelsManager.selectedModel.partition_desc.partition_time_column){
+$scope.partitionColumn.hasSeparateTimeColumn = true;
+  }
   $scope.toggleH

[05/11] kylin git commit: minor, update smoke-test scripts

2017-02-13 Thread billyliu
minor, update smoke-test scripts


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

Branch: refs/heads/KYLIN-2428
Commit: 707b05598a1b65e0c1b85c2dffd57f7cf2ac8dfb
Parents: cd4e116
Author: lidongsjtu 
Authored: Sun Feb 12 09:11:24 2017 +0800
Committer: lidongsjtu 
Committed: Sun Feb 12 09:11:24 2017 +0800

--
 build/smoke-test/testQuery.py | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/707b0559/build/smoke-test/testQuery.py
--
diff --git a/build/smoke-test/testQuery.py b/build/smoke-test/testQuery.py
index 72eb80d..87a2456 100644
--- a/build/smoke-test/testQuery.py
+++ b/build/smoke-test/testQuery.py
@@ -59,6 +59,7 @@ class testQuery(unittest.TestCase):
 del actual_result['duration']
 del actual_result['hitExceptionCache']
 del actual_result['storageCacheUsed']
+del actual_result['totalScanBytes']
 
 expect_result = json.loads(open(sql_file[:-4] + 
'.json').read().strip())
 self.assertEqual(actual_result, expect_result, 'Query result does 
not equal.')



[08/11] kylin git commit: KYLIN-2442 calculate raw data size using custom counter

2017-02-13 Thread billyliu
KYLIN-2442 calculate raw data size using custom counter


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

Branch: refs/heads/KYLIN-2428
Commit: 405dee26d7fe463d15bf5f1d7690359c9e83f678
Parents: 43c0566
Author: Li Yang 
Authored: Fri Feb 10 16:56:21 2017 +0800
Committer: Li Yang 
Committed: Mon Feb 13 10:20:54 2017 +0800

--
 .../kylin/engine/mr/BatchCubingJobBuilder.java  |   1 -
 .../kylin/engine/mr/common/HadoopCmdOutput.java |   9 +-
 .../engine/mr/common/MapReduceExecutable.java   |   8 +-
 .../mr/steps/FactDistinctColumnPartitioner.java |   4 +-
 .../engine/mr/steps/FactDistinctColumnsJob.java |   2 +-
 .../mr/steps/FactDistinctColumnsMapper.java | 262 +++
 .../mr/steps/FactDistinctHiveColumnsMapper.java | 230 
 7 files changed, 272 insertions(+), 244 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/405dee26/engine-mr/src/main/java/org/apache/kylin/engine/mr/BatchCubingJobBuilder.java
--
diff --git 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/BatchCubingJobBuilder.java 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/BatchCubingJobBuilder.java
index 36c12a1..1ec23b6 100644
--- 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/BatchCubingJobBuilder.java
+++ 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/BatchCubingJobBuilder.java
@@ -100,7 +100,6 @@ public class BatchCubingJobBuilder extends 
JobBuilderSupport {
 
 baseCuboidStep.setMapReduceParams(cmd.toString());
 baseCuboidStep.setMapReduceJobClass(BaseCuboidJob.class);
-baseCuboidStep.setCounterSaveAs(CubingJob.SOURCE_RECORD_COUNT + "," + 
CubingJob.SOURCE_SIZE_BYTES);
 return baseCuboidStep;
 }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/405dee26/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopCmdOutput.java
--
diff --git 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopCmdOutput.java
 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopCmdOutput.java
index 9d016cc..2a480e6 100644
--- 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopCmdOutput.java
+++ 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopCmdOutput.java
@@ -25,6 +25,7 @@ import java.util.Map;
 import org.apache.hadoop.mapreduce.Counters;
 import org.apache.hadoop.mapreduce.Job;
 import org.apache.hadoop.mapreduce.TaskCounter;
+import 
org.apache.kylin.engine.mr.steps.FactDistinctColumnsMapper.RawDataCounter;
 import org.apache.kylin.job.constant.ExecutableConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -67,7 +68,7 @@ public class HadoopCmdOutput {
 
 private String mapInputRecords;
 private String hdfsBytesWritten;
-private String hdfsBytesRead;
+private String rawInputBytesRead;
 
 public String getMapInputRecords() {
 return mapInputRecords;
@@ -77,8 +78,8 @@ public class HadoopCmdOutput {
 return hdfsBytesWritten;
 }
 
-public String getHdfsBytesRead() {
-return hdfsBytesRead;
+public String getRawInputBytesRead() {
+return rawInputBytesRead;
 }
 
 public void updateJobCounter() {
@@ -95,7 +96,7 @@ public class HadoopCmdOutput {
 
 mapInputRecords = 
String.valueOf(counters.findCounter(TaskCounter.MAP_INPUT_RECORDS).getValue());
 hdfsBytesWritten = 
String.valueOf(counters.findCounter("FileSystemCounters", 
"HDFS_BYTES_WRITTEN").getValue());
-hdfsBytesRead = 
String.valueOf(counters.findCounter("FileSystemCounters", 
"HDFS_BYTES_READ").getValue());
+rawInputBytesRead = 
String.valueOf(counters.findCounter(RawDataCounter.BYTES).getValue());
 } catch (Exception e) {
 logger.error(e.getLocalizedMessage(), e);
 output.append(e.getLocalizedMessage());

http://git-wip-us.apache.org/repos/asf/kylin/blob/405dee26/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
--
diff --git 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
index 6de07ca..2e7a289 100644
--- 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
+++ 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
@@ -202,14 +202,14 @@ public class MapReduceExecutable extends 
AbstractExecutable {

[09/11] kylin git commit: minor, add scan-whole-table flag in TableDesc

2017-02-13 Thread billyliu
minor, add scan-whole-table flag in TableDesc

Signed-off-by: shaofengshi 


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

Branch: refs/heads/KYLIN-2428
Commit: c93ea9c9cb70c285e9b5ce69be3b7b435220ad91
Parents: 405dee2
Author: Cheng Wang 
Authored: Mon Feb 13 16:03:05 2017 +0800
Committer: shaofengshi 
Committed: Mon Feb 13 18:54:10 2017 +0800

--
 .../org/apache/kylin/metadata/model/TableDesc.java  | 16 +---
 .../org/apache/kylin/source/hive/HiveMRInput.java   |  5 +++--
 2 files changed, 16 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/c93ea9c9/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
index e4fc4c3..be62062 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
@@ -26,8 +26,8 @@ import 
org.apache.kylin.common.persistence.RootPersistentEntity;
 import org.apache.kylin.common.util.StringSplitter;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
@@ -46,9 +46,11 @@ public class TableDesc extends RootPersistentEntity 
implements ISourceAware {
 private ColumnDesc[] columns;
 @JsonProperty("source_type")
 private int sourceType = ISourceAware.ID_HIVE;
+@JsonProperty("whole_scan")
+private boolean wholeScan = true;
 @JsonProperty("table_type")
 private String tableType;
-
+
 @JsonProperty("data_gen")
 @JsonInclude(JsonInclude.Include.NON_NULL)
 private String dataGen;
@@ -101,7 +103,15 @@ public class TableDesc extends RootPersistentEntity 
implements ISourceAware {
 }
 return identity;
 }
-
+
+public void setWholeScan(boolean wholeScan) {
+this.wholeScan = wholeScan;
+}
+
+public boolean getWholeScan() {
+return this.wholeScan;
+}
+
 public boolean isView() {
 return TABLE_TYPE_VIRTUAL_VIEW.equals(tableType);
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/c93ea9c9/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
--
diff --git 
a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java 
b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
index d665dc7..f9c7cfc 100644
--- a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
+++ b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
@@ -22,7 +22,6 @@ import java.io.IOException;
 import java.util.Map;
 import java.util.Set;
 
-import com.google.common.collect.Sets;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -57,10 +56,12 @@ import org.apache.kylin.metadata.model.TableDesc;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.collect.Sets;
+
 public class HiveMRInput implements IMRInput {
 
 public static String getTableNameForHCat(TableDesc table) {
-String tableName = table.isView() ? table.getMaterializedName() : 
table.getName();
+String tableName = (table.isView() || !table.getWholeScan()) ? 
table.getMaterializedName() : table.getName();
 return String.format("%s.%s", table.getDatabase(), 
tableName).toUpperCase();
 }
 



[06/11] kylin git commit: KYLIN-2443 Report coprocessor error information back to client

2017-02-13 Thread billyliu
http://git-wip-us.apache.org/repos/asf/kylin/blob/43c05667/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/generated/CubeVisitProtos.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/generated/CubeVisitProtos.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/generated/CubeVisitProtos.java
index 4b6fc95..b9f2771 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/generated/CubeVisitProtos.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/generated/CubeVisitProtos.java
@@ -121,10 +121,18 @@ public final class CubeVisitProtos {
 // optional int64 maxScanBytes = 8;
 /**
  * optional int64 maxScanBytes = 8;
+ *
+ * 
+ * 0 means no limit
+ * 
  */
 boolean hasMaxScanBytes();
 /**
  * optional int64 maxScanBytes = 8;
+ *
+ * 
+ * 0 means no limit
+ * 
  */
 long getMaxScanBytes();
   }
@@ -972,12 +980,20 @@ public final class CubeVisitProtos {
 private long maxScanBytes_;
 /**
  * optional int64 maxScanBytes = 8;
+ *
+ * 
+ * 0 means no limit
+ * 
  */
 public boolean hasMaxScanBytes() {
   return ((bitField0_ & 0x0040) == 0x0040);
 }
 /**
  * optional int64 maxScanBytes = 8;
+ *
+ * 
+ * 0 means no limit
+ * 
  */
 public long getMaxScanBytes() {
   return maxScanBytes_;
@@ -2050,18 +2066,30 @@ public final class CubeVisitProtos {
   private long maxScanBytes_ ;
   /**
* optional int64 maxScanBytes = 8;
+   *
+   * 
+   * 0 means no limit
+   * 
*/
   public boolean hasMaxScanBytes() {
 return ((bitField0_ & 0x0080) == 0x0080);
   }
   /**
* optional int64 maxScanBytes = 8;
+   *
+   * 
+   * 0 means no limit
+   * 
*/
   public long getMaxScanBytes() {
 return maxScanBytes_;
   }
   /**
* optional int64 maxScanBytes = 8;
+   *
+   * 
+   * 0 means no limit
+   * 
*/
   public Builder setMaxScanBytes(long value) {
 bitField0_ |= 0x0080;
@@ -2071,6 +2099,10 @@ public final class CubeVisitProtos {
   }
   /**
* optional int64 maxScanBytes = 8;
+   *
+   * 
+   * 0 means no limit
+   * 
*/
   public Builder clearMaxScanBytes() {
 bitField0_ = (bitField0_ & ~0x0080);
@@ -2116,6 +2148,32 @@ public final class CubeVisitProtos {
  * required .CubeVisitResponse.Stats stats = 2;
  */
 
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.StatsOrBuilder
 getStatsOrBuilder();
+
+// optional .CubeVisitResponse.ErrorInfo errorInfo = 3;
+/**
+ * optional .CubeVisitResponse.ErrorInfo errorInfo = 3;
+ *
+ * 
+ * should be set when stats.normalComplete == false
+ * 
+ */
+boolean hasErrorInfo();
+/**
+ * optional .CubeVisitResponse.ErrorInfo errorInfo = 3;
+ *
+ * 
+ * should be set when stats.normalComplete == false
+ * 
+ */
+
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo
 getErrorInfo();
+/**
+ * optional .CubeVisitResponse.ErrorInfo errorInfo = 3;
+ *
+ * 
+ * should be set when stats.normalComplete == false
+ * 
+ */
+
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfoOrBuilder
 getErrorInfoOrBuilder();
   }
   /**
* Protobuf type {@code CubeVisitResponse}
@@ -2186,6 +2244,19 @@ public final class CubeVisitProtos {
   bitField0_ |= 0x0002;
   break;
 }
+case 26: {
+  
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.Builder
 subBuilder = null;
+  if (((bitField0_ & 0x0004) == 0x0004)) {
+subBuilder = errorInfo_.toBuilder();
+  }
+  errorInfo_ = 
input.readMessage(org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos.CubeVisitResponse.ErrorInfo.PARSER,
 extensionRegistry);
+  if (subBuilder != null) {
+subBuilder.mergeFrom(errorInfo_);
+errorInfo_ = subBuilder.buildPartial();
+  }
+  bitField0_ |= 0x0004;
+  break;
+}
   }
 }
   } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -2225,6 +2296,97 @@ public final class CubeVisitProtos {
   return PARSER;
 }
 
+/**
+ * Protobuf enum {@code C

[11/11] kylin git commit: KYLIN-2428 cleanup unnecessary shade dependency in job/coprocessor/spark/jdbc/tool

2017-02-13 Thread billyliu
KYLIN-2428 cleanup unnecessary shade dependency in 
job/coprocessor/spark/jdbc/tool


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

Branch: refs/heads/KYLIN-2428
Commit: a5a0904a7bba693b5d7d1b6f191c43dbb1cc7270
Parents: c93ea9c
Author: Billy Liu 
Authored: Tue Feb 14 11:18:40 2017 +0800
Committer: Billy Liu 
Committed: Tue Feb 14 11:18:40 2017 +0800

--
 assembly/pom.xml|  49 +++-
 atopcalcite/pom.xml |   1 +
 build/bin/get-properties.sh |   3 +-
 build/bin/kylin.sh  |   8 +-
 build/conf/kylin-tools-log4j.properties |   9 +-
 build/script/prepare_libs.sh|   2 +-
 core-common/pom.xml |  22 +-
 .../apache/kylin/common/util/SparkEntry.java|  42 
 core-cube/pom.xml   |  18 +-
 .../apache/kylin/gridtable/GTInvertedIndex.java | 223 -
 .../gridtable/GTInvertedIndexOfColumn.java  | 133 ---
 .../gridtable/SimpleInvertedIndexTest.java  | 196 ---
 core-job/pom.xml|   9 +
 core-metadata/pom.xml   |  23 ++
 .../apache/kylin/dimension/BooleanDimEnc.java   |   2 +-
 .../kylin/measure/MeasureTypeFactory.java   |   2 +-
 .../measure/hllc/HLLDistinctCountAggFunc.java   |   2 +-
 .../apache/kylin/metadata/model/JoinsTree.java  |   2 +-
 core-storage/pom.xml|  20 ++
 engine-spark/pom.xml|  47 +---
 .../engine/spark/KylinKryoRegistrator.java  | 238 ++-
 .../spark/SparkBatchCubingJobBuilder2.java  |   1 +
 .../kylin/engine/spark/SparkCubingByLayer.java  |   6 +-
 .../kylin/engine/spark/SparkExecutable.java |  17 +-
 .../spark/cube/ListBackedCuboidWriter.java  |   4 +-
 .../kylin/engine/spark/util/IteratorUtils.java  |   4 +-
 .../kylin/engine/spark/util/SparkEntry.java |  48 
 .../engine/spark/util/KyroMappingGenerator.java |  56 +
 jdbc/pom.xml|  14 +-
 pom.xml | 216 +
 query/pom.xml   |   6 +
 server/pom.xml  |   4 +
 source-kafka/pom.xml|  16 +-
 storage-hbase/pom.xml   |  19 +-
 tool-assembly/pom.xml   | 135 +++
 tool/pom.xml|  39 ---
 36 files changed, 734 insertions(+), 902 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/a5a0904a/assembly/pom.xml
--
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 873abff..ba69583 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -19,16 +19,20 @@
 
 http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+4.0.0
+
+kylin-assembly
+Apache Kylin - Assembly
+
 
 kylin
 org.apache.kylin
 2.0.0-SNAPSHOT
-
 
-4.0.0
 
-kylin-assembly
-Apache Kylin - Assembly
+
+org.apache.kylin.job.shaded
+
 
 
 
@@ -180,8 +184,45 @@
 org.apache.zookeeper:*
 net.sf.ehcache:*
 
org.apache.httpcomponents:*
+
org.apache.commons:commons-email:*
+
com.sun.mail:javax.mail:*
+
javax.activation:activation:*
 
 
+
+
+com.fasterxml.jackson
+
${shadeBase}.com.fasterxml.jackson
+
+
+com.tdunning
+
${shadeBase}.com.tdunning
+
+
+com.fasterxml.jackson
+
${shadeBase}.com.fasterxml.jackson
+
+
+org.apache.commons.codec
+
${shadeBase}.org.apache.commons.codec
+
+ 

[04/11] kylin git commit: minor, make FileResourceStore synchronized

2017-02-13 Thread billyliu
minor, make FileResourceStore synchronized


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

Branch: refs/heads/KYLIN-2428
Commit: cd4e116ac3391d4da975a29c21a0c69f053463a6
Parents: 3c49c9e
Author: Yang Li 
Authored: Fri Feb 10 21:41:50 2017 +0800
Committer: Yang Li 
Committed: Fri Feb 10 21:41:50 2017 +0800

--
 .../common/persistence/FileResourceStore.java | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/cd4e116a/core-common/src/main/java/org/apache/kylin/common/persistence/FileResourceStore.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/persistence/FileResourceStore.java
 
b/core-common/src/main/java/org/apache/kylin/common/persistence/FileResourceStore.java
index 3e012f5..d84e587 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/persistence/FileResourceStore.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/persistence/FileResourceStore.java
@@ -50,7 +50,7 @@ public class FileResourceStore extends ResourceStore {
 }
 
 @Override
-protected NavigableSet listResourcesImpl(String folderPath) throws 
IOException {
+synchronized protected NavigableSet listResourcesImpl(String 
folderPath) throws IOException {
 String[] names = file(folderPath).list();
 if (names == null) // not a directory
 return null;
@@ -64,13 +64,13 @@ public class FileResourceStore extends ResourceStore {
 }
 
 @Override
-protected boolean existsImpl(String resPath) throws IOException {
+synchronized protected boolean existsImpl(String resPath) throws 
IOException {
 File f = file(resPath);
 return f.exists() && f.isFile(); // directory is not considered a 
resource
 }
 
 @Override
-protected List getAllResourcesImpl(String folderPath, long 
timeStart, long timeEndExclusive) throws IOException {
+synchronized protected List getAllResourcesImpl(String 
folderPath, long timeStart, long timeEndExclusive) throws IOException {
 NavigableSet resources = listResources(folderPath);
 if (resources == null)
 return Collections.emptyList();
@@ -95,7 +95,7 @@ public class FileResourceStore extends ResourceStore {
 }
 
 @Override
-protected RawResource getResourceImpl(String resPath) throws IOException {
+synchronized protected RawResource getResourceImpl(String resPath) throws 
IOException {
 File f = file(resPath);
 if (f.exists() && f.isFile()) {
 if (f.length() == 0) {
@@ -108,7 +108,7 @@ public class FileResourceStore extends ResourceStore {
 }
 
 @Override
-protected long getResourceTimestampImpl(String resPath) throws IOException 
{
+synchronized protected long getResourceTimestampImpl(String resPath) 
throws IOException {
 File f = file(resPath);
 if (f.exists() && f.isFile())
 return f.lastModified();
@@ -117,7 +117,7 @@ public class FileResourceStore extends ResourceStore {
 }
 
 @Override
-protected void putResourceImpl(String resPath, InputStream content, long 
ts) throws IOException {
+synchronized protected void putResourceImpl(String resPath, InputStream 
content, long ts) throws IOException {
 File f = file(resPath);
 f.getParentFile().mkdirs();
 FileOutputStream out = new FileOutputStream(f);
@@ -131,7 +131,7 @@ public class FileResourceStore extends ResourceStore {
 }
 
 @Override
-protected long checkAndPutResourceImpl(String resPath, byte[] content, 
long oldTS, long newTS) throws IOException, IllegalStateException {
+synchronized protected long checkAndPutResourceImpl(String resPath, byte[] 
content, long oldTS, long newTS) throws IOException, IllegalStateException {
 File f = file(resPath);
 if ((f.exists() && f.lastModified() != oldTS) || (f.exists() == false 
&& oldTS != 0))
 throw new IllegalStateException("Overwriting conflict " + resPath 
+ ", expect old TS " + oldTS + ", but found " + f.lastModified());
@@ -143,13 +143,13 @@ public class FileResourceStore extends ResourceStore {
 }
 
 @Override
-protected void deleteResourceImpl(String resPath) throws IOException {
+synchronized protected void deleteResourceImpl(String resPath) throws 
IOException {
 File f = file(resPath);
 f.delete();
 }
 
 @Override
-protected String getReadableResourcePathImpl(String resPath) {
+synchronized protected String getReadableResourcePathImpl(String resPath) {
 

[10/11] kylin git commit: KYLIN-2428 cleanup unnecessary shade dependency in job/coprocessor/spark/jdbc/tool

2017-02-13 Thread billyliu
http://git-wip-us.apache.org/repos/asf/kylin/blob/a5a0904a/pom.xml
--
diff --git a/pom.xml b/pom.xml
index b82eee2..a103ae0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,15 +55,34 @@
 
 
 1.1.1
+
+
 0.10.1.0
 
-
+
+1.6.3
+4.0.0
+
+
+
+1.11.0
+1.9.0
+
+
 3.4.6
 2.7.1
-2.2.4
 3.0.1
 14.0
+0.1.53
 1.2
+2.6
+2.5
+3.6.1
+
+
+2.6.3
 
 
 3.4
@@ -75,26 +94,16 @@
 0.3.1
 
 
-2.6
 3.4
 3.2.2
-2.5
 1.0.15
 1.4
-3.6.1
-
-
-1.6.3
 
 
 1.2.17
 1.7.21
-0.9.10
-0.1.53
 2.11.0
 2.7.2
-1.3.4
-4.0.0
 2.10.2.2.21
 4.2.5
 0.6.18
@@ -111,10 +120,6 @@
 2.6.4
 1.8.9
 
-
-1.11.0
-1.9.0
-
 
 jacoco
 reuseReports
@@ -279,6 +284,11 @@
 
 
 org.apache.kylin
+kylin-tool-assembly
+${project.version}
+
+
+org.apache.kylin
 kylin-it
 ${project.version}
 
@@ -390,6 +400,66 @@
 ${hadoop2.version}
 true
 
+
+org.apache.zookeeper
+zookeeper
+${zookeeper.version}
+provided
+
+
+org.apache.curator
+curator-framework
+${curator.version}
+provided
+
+
+org.apache.curator
+curator-recipes
+${curator.version}
+provided
+
+
+com.google.code.findbugs
+jsr305
+${jsr305.version}
+provided
+
+
+com.google.guava
+guava
+${guava.version}
+provided
+
+
+com.jcraft
+jsch
+${jsch.version}
+provided
+
+
+commons-cli
+commons-cli
+${commons-cli.version}
+provided
+
+
+commons-lang
+commons-lang
+${commons-lang.version}
+provided
+
+
+org.apache.commons
+commons-math3
+${commons-math3.version}
+provided
+
+
+commons-io
+commons-io
+${commons-io.version}
+provided
+
 
 
 
@@ -461,6 +531,11 @@
 
 
 org.apache.calcite.avatica
+avatica-core
+${avatica.version}
+
+
+org.apache.calcite.avatica
 avatica
 ${avatica.version}
 
@@ -476,23 +551,39 @@
 
 
 
+
+com.fasterxml.jackson.core
+jackson-databind
+${jackson.version}
+
+
 
 
 org.apache.spark
 spark-core_2.10
 ${spark.version}
+provided
 
 
 org.apache.spark
 spark-sql_2.10
 ${spark.version}
+provided
 
 
 org.apache.spark
 spark-hive_2.10
 ${spark.version}
+provided
 
 
+com.esotericsoftware
+kryo-shaded
+${kryo.version}
+provided
+
+
+
 org.apache.kafka
 kafka_2.10
 ${kafka.version}
@@ -501,26 +592,6 @@
 
 
 
-junit
-junit
-${junit.version}
-
-
-org.apache.zookeeper
-zookeeper
-${zookeeper.version}
-
-
-commons-cli
-commons-cli
-${commons-cli.version}
-
-
-commons-lang
-commons-lang
-${commons-lang.version}
-
-
 org.apache.commons
 commons-lang3
 ${commons-lang3.

[02/11] kylin git commit: KYLIN-2438 replace scan threshold with max scan bytes

2017-02-13 Thread billyliu
KYLIN-2438 replace scan threshold with max scan bytes


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

Branch: refs/heads/KYLIN-2428
Commit: 09a086688a664585c57b715046a9869b75351a52
Parents: edf6cef
Author: gaodayue 
Authored: Thu Feb 9 20:18:54 2017 +0800
Committer: gaodayue 
Committed: Fri Feb 10 18:07:58 2017 +0800

--
 build/conf/kylin.properties |  16 ++-
 .../apache/kylin/common/KylinConfigBase.java|  15 ++-
 .../org/apache/kylin/common/QueryContext.java   |  54 
 .../kylin-backward-compatibility.properties |   8 +-
 .../apache/kylin/storage/StorageContext.java|  14 ---
 .../exception/ScanOutOfLimitException.java  |  31 -
 .../storage/gtrecord/CubeScanRangePlanner.java  |   4 +-
 .../gtrecord/GTCubeStorageQueryBase.java|  28 -
 .../gtrecord/SequentialCubeTupleIterator.java   |  15 +--
 .../org/apache/kylin/query/KylinTestBase.java   |   4 +-
 .../kylin/storage/hbase/ITStorageTest.java  |  12 --
 .../kylin/query/enumerator/OLAPEnumerator.java  |  18 ---
 .../kylin/query/enumerator/OLAPQuery.java   |   2 -
 .../apache/kylin/rest/service/CacheService.java |   6 -
 .../apache/kylin/rest/service/QueryService.java |   9 +-
 .../hbase/cube/v2/CubeHBaseEndpointRPC.java |  12 +-
 .../coprocessor/endpoint/CubeVisitService.java  |   4 +-
 .../endpoint/generated/CubeVisitProtos.java | 124 ---
 .../endpoint/protobuf/CubeVisit.proto   |   1 +
 19 files changed, 186 insertions(+), 191 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/09a08668/build/conf/kylin.properties
--
diff --git a/build/conf/kylin.properties b/build/conf/kylin.properties
index 1232c47..095a53f 100644
--- a/build/conf/kylin.properties
+++ b/build/conf/kylin.properties
@@ -86,6 +86,14 @@ kylin.storage.hbase.owner-tag=who...@kylin.apache.org
 
 kylin.storage.hbase.coprocessor-mem-gb=3
 
+# By default kylin can spill query's intermediate results to disks when it's 
consuming too much memory.
+# Set it to false if you want query to abort immediately in such condition.
+kylin.storage.hbase.coprocessor-spill-enabled=true
+
+# The maximum number of bytes each coprocessor is allowed to scan.
+# To allow arbitrary large scan, you can set it to 0.
+kylin.storage.hbase.coprocessor-max-scan-bytes=3221225472
+
 # The default coprocessor timeout is (hbase.rpc.timeout * 0.9) / 1000 seconds,
 # You can set it to a smaller value. 0 means use default.
 # kylin.storage.hbase.coprocessor-timeout-seconds=0
@@ -148,13 +156,13 @@ kylin.snapshot.max-mb=300
 
 ### QUERY ###
 
-kylin.query.scan-threshold=1000
+# Controls the maximum number of bytes a query is allowed to scan storage.
+# The default value 0 means no limit.
+# The counterpart kylin.storage.hbase.coprocessor-max-scan-bytes sets the 
maximum per coprocessor.
+kylin.query.max-scan-bytes=0
 
 kylin.query.udf.version=org.apache.kylin.query.udf.VersionUDF
 
-# 3G
-kylin.query.memory-budget-bytes=3221225472
-
 kylin.query.cache-enabled=true
 
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/09a08668/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java 
b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
index 894e28a..c77788b 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
@@ -613,6 +613,11 @@ abstract public class KylinConfigBase implements 
Serializable {
 return 
Boolean.parseBoolean(this.getOptional("kylin.storage.hbase.coprocessor-spill-enabled",
 "true"));
 }
 
+public long getQueryCoprocessorMaxScanBytes() {
+long value = 
Long.parseLong(this.getOptional("kylin.storage.hbase.coprocessor-max-scan-bytes",
 String.valueOf(3L * 1024 * 1024 * 1024)));
+return value > 0 ? value : Long.MAX_VALUE;
+}
+
 public int getQueryCoprocessorTimeoutSeconds() {
 return 
Integer.parseInt(this.getOptional("kylin.storage.hbase.coprocessor-timeout-seconds",
 "0"));
 }
@@ -807,10 +812,16 @@ abstract public class KylinConfigBase implements 
Serializable {
 return Integer.parseInt(getOptional("kylin.query.max-limit-pushdown", 
"1"));
 }
 
+@Deprecated
 public int getScanThreshold() {
 return Integer.parseInt(getOptional("kylin.query.scan-threshold", 
"1000"));
 }
 
+public long getQueryMaxScanBytes() {

[07/11] kylin git commit: KYLIN-2443 Report coprocessor error information back to client

2017-02-13 Thread billyliu
KYLIN-2443 Report coprocessor error information back to client


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

Branch: refs/heads/KYLIN-2428
Commit: 43c0566728092d537201d751d3e8f6e3c0d5f051
Parents: 707b055
Author: gaodayue 
Authored: Sat Feb 11 19:13:24 2017 +0800
Committer: gaodayue 
Committed: Sun Feb 12 09:34:49 2017 +0800

--
 build/smoke-test/sql/sql1.json  |1 -
 build/smoke-test/testQuery.py   |1 +
 .../org/apache/kylin/common/QueryContext.java   |   21 +-
 .../exceptions/KylinTimeoutException.java   |   26 +
 .../ResourceLimitExceededException.java |   30 +
 .../kylin/gridtable/GTAggregateScanner.java |   12 +-
 .../GTScanExceedThresholdException.java |   26 -
 .../GTScanSelfTerminatedException.java  |   30 -
 .../kylin/gridtable/GTScanTimeoutException.java |   26 -
 .../apache/kylin/storage/StorageContext.java|   19 +-
 .../storage/gtrecord/CubeSegmentScanner.java|2 +-
 .../kylin/storage/gtrecord/ScannerWorker.java   |5 +-
 .../gtrecord/SequentialCubeTupleIterator.java   |6 +-
 .../apache/kylin/query/ITKylinQueryTest.java|6 +-
 .../apache/kylin/rest/service/QueryService.java |   28 +-
 .../hbase/cube/v2/CubeHBaseEndpointRPC.java |   69 +-
 .../storage/hbase/cube/v2/CubeHBaseRPC.java |8 +-
 .../storage/hbase/cube/v2/CubeHBaseScanRPC.java |   15 +-
 .../coprocessor/endpoint/CubeVisitService.java  |   42 +-
 .../endpoint/generated/CubeVisitProtos.java | 1254 --
 .../endpoint/protobuf/CubeVisit.proto   |   12 +-
 21 files changed, 1331 insertions(+), 308 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/43c05667/build/smoke-test/sql/sql1.json
--
diff --git a/build/smoke-test/sql/sql1.json b/build/smoke-test/sql/sql1.json
index 7cb3258..21e4c01 100644
--- a/build/smoke-test/sql/sql1.json
+++ b/build/smoke-test/sql/sql1.json
@@ -9,7 +9,6 @@
 ]
   ],
   "exceptionMessage": null,
-  "totalScanCount": 1,
   "columnMetas": [
 {
   "scale": 0,

http://git-wip-us.apache.org/repos/asf/kylin/blob/43c05667/build/smoke-test/testQuery.py
--
diff --git a/build/smoke-test/testQuery.py b/build/smoke-test/testQuery.py
index 87a2456..99c09d3 100644
--- a/build/smoke-test/testQuery.py
+++ b/build/smoke-test/testQuery.py
@@ -59,6 +59,7 @@ class testQuery(unittest.TestCase):
 del actual_result['duration']
 del actual_result['hitExceptionCache']
 del actual_result['storageCacheUsed']
+del actual_result['totalScanCount']
 del actual_result['totalScanBytes']
 
 expect_result = json.loads(open(sql_file[:-4] + 
'.json').read().strip())

http://git-wip-us.apache.org/repos/asf/kylin/blob/43c05667/core-common/src/main/java/org/apache/kylin/common/QueryContext.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/QueryContext.java 
b/core-common/src/main/java/org/apache/kylin/common/QueryContext.java
index 3a73993..67925b6 100644
--- a/core-common/src/main/java/org/apache/kylin/common/QueryContext.java
+++ b/core-common/src/main/java/org/apache/kylin/common/QueryContext.java
@@ -21,7 +21,7 @@ package org.apache.kylin.common;
 import java.util.concurrent.atomic.AtomicLong;
 
 /**
- * checkout {@link org.apache.kylin.common.debug.BackdoorToggles} for 
comparison
+ * Holds per query information and statistics.
  */
 public class QueryContext {
 
@@ -33,7 +33,8 @@ public class QueryContext {
 };
 
 private String queryId;
-private AtomicLong scanBytes = new AtomicLong();
+private AtomicLong scannedRows = new AtomicLong();
+private AtomicLong scannedBytes = new AtomicLong();
 
 private QueryContext() {
 // use QueryContext.current() instead
@@ -55,11 +56,19 @@ public class QueryContext {
 this.queryId = queryId;
 }
 
-public long getScanBytes() {
-return scanBytes.get();
+public long getScannedRows() {
+return scannedRows.get();
 }
 
-public long addAndGetScanBytes(long delta) {
-return scanBytes.addAndGet(delta);
+public long addAndGetScannedRows(long deltaRows) {
+return scannedRows.addAndGet(deltaRows);
+}
+
+public long getScannedBytes() {
+return scannedBytes.get();
+}
+
+public long addAndGetScannedBytes(long deltaBytes) {
+return scannedBytes.addAndGet(deltaBytes);
 }
 }

http://git-wip-us.apache.org/r

kylin git commit: KYLIN-2428 Generate kyro mapping by Reflection

2017-02-13 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2428 900436e36 -> 62463b741


KYLIN-2428 Generate kyro mapping by Reflection


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

Branch: refs/heads/KYLIN-2428
Commit: 62463b7413f34718ee29005c414b0b86bb751d8e
Parents: 900436e
Author: Billy Liu 
Authored: Tue Feb 14 07:33:13 2017 +0800
Committer: Billy Liu 
Committed: Tue Feb 14 07:33:13 2017 +0800

--
 .../apache/kylin/metadata/model/JoinsTree.java  |   2 +-
 engine-spark/pom.xml|   7 +
 .../engine/spark/KylinKryoRegistrator.java  | 187 ++-
 .../engine/spark/util/KyroMappingGenerator.java |  51 +
 4 files changed, 245 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/62463b74/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java
index 3ab9a46..c7666cb 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java
@@ -113,7 +113,7 @@ public class JoinsTree  implements Serializable {
 return chain.join;
 }
 
-static class Chain implements Serializable {
+public static class Chain implements Serializable {
 private static final long serialVersionUID = 1L;
 
 TableRef table; // pk side

http://git-wip-us.apache.org/repos/asf/kylin/blob/62463b74/engine-spark/pom.xml
--
diff --git a/engine-spark/pom.xml b/engine-spark/pom.xml
index 258232d..7a478f3 100644
--- a/engine-spark/pom.xml
+++ b/engine-spark/pom.xml
@@ -111,6 +111,13 @@
 maven-model
 test
 
+
+
+org.reflections
+reflections
+0.9.10
+test
+
 
 
 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/kylin/blob/62463b74/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
--
diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
index c99ee6e..d9bfe99 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
@@ -61,7 +61,7 @@ public class KylinKryoRegistrator implements KryoRegistrator {
 kyroClasses.add(org.apache.spark.sql.types.DateType$.class);
 kyroClasses.add(org.apache.spark.sql.types.Metadata.class);
 kyroClasses.add(org.apache.spark.sql.types.StringType$.class);
-//kyroClasses.add(Hashing.murmur3_128().getClass());
+//kyroClasses.add(Hashing.murmur3_128().getClass());
 
kyroClasses.add(org.apache.spark.sql.execution.columnar.CachedBatch.class);
 kyroClasses.add(org.apache.spark.sql.types.Decimal.class);
 kyroClasses.add(scala.math.BigDecimal.class);
@@ -146,6 +146,9 @@ public class KylinKryoRegistrator implements 
KryoRegistrator {
 kyroClasses.add(org.apache.kylin.dimension.IntegerDimEnc.class);
 
kyroClasses.add(org.apache.kylin.dimension.OneMoreByteVLongDimEnc.class);
 kyroClasses.add(org.apache.kylin.dimension.TimeDimEnc.class);
+kylinClassByReflection1(kyroClasses);
+kylinClassByReflection2(kyroClasses);
+
 kyroClasses.add(org.roaringbitmap.buffer.MutableRoaringArray.class);
 kyroClasses.add(org.roaringbitmap.buffer.MappeableContainer[].class);
 kyroClasses.add(org.roaringbitmap.buffer.MutableRoaringBitmap.class);
@@ -168,6 +171,188 @@ public class KylinKryoRegistrator implements 
KryoRegistrator {
 //kryo.register(PercentileCounter.class, new JavaSerializer());
 }
 
+/**
+ * Generated by KyroMappingGenerator, method exceeds 150 lines, splits 
into two methods
+ * @param kyroClasses
+ */
+private void kylinClassByReflection1(Set kyroClasses) {
+kyroClasses.add(org.apache.kylin.metadata.model.ColumnDesc[].class);
+kyroClasses.add(org.apache.kylin.cube.model.RowKeyDesc.class);
+
kyroClasses.add(org.apache.kylin.measure.basic.BigDecimalMaxAggregator.class);
+kyroClasses.add(org.apa

kylin git commit: KYLIN-2428 add more kyro mapping2

2017-02-13 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2428 aa629dde4 -> 900436e36


KYLIN-2428 add more kyro mapping2


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

Branch: refs/heads/KYLIN-2428
Commit: 900436e36505bc3973446204958f9f179a4b1b8c
Parents: aa629dd
Author: Billy Liu 
Authored: Mon Feb 13 22:02:07 2017 +0800
Committer: Billy Liu 
Committed: Mon Feb 13 22:02:07 2017 +0800

--
 .../org/apache/kylin/engine/spark/KylinKryoRegistrator.java | 9 +
 1 file changed, 9 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/900436e3/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
--
diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
index d5a4479..c99ee6e 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
@@ -74,6 +74,7 @@ public class KylinKryoRegistrator implements KryoRegistrator {
 kyroClasses.add(org.apache.kylin.common.util.Array.class);
 kyroClasses.add(org.apache.kylin.common.util.SplittedBytes[].class);
 kyroClasses.add(org.apache.kylin.common.util.SplittedBytes.class);
+kyroClasses.add(org.apache.kylin.metadata.model.ColumnDesc.class);
 kyroClasses.add(org.apache.kylin.metadata.model.ColumnDesc[].class);
 kyroClasses.add(org.apache.kylin.metadata.model.DatabaseDesc.class);
 kyroClasses.add(org.apache.kylin.metadata.model.DataModelDesc.class);
@@ -81,8 +82,11 @@ public class KylinKryoRegistrator implements KryoRegistrator 
{
 
kyroClasses.add(org.apache.kylin.metadata.model.DataModelDesc.TableKind.class);
 kyroClasses.add(org.apache.kylin.metadata.model.FunctionDesc.class);
 kyroClasses.add(org.apache.kylin.metadata.model.JoinDesc.class);
+kyroClasses.add(org.apache.kylin.metadata.model.JoinTableDesc.class);
 kyroClasses.add(org.apache.kylin.metadata.model.JoinTableDesc[].class);
+kyroClasses.add(org.apache.kylin.metadata.model.TblColRef.class);
 kyroClasses.add(org.apache.kylin.metadata.model.TblColRef[].class);
+kyroClasses.add(org.apache.kylin.metadata.model.MeasureDesc.class);
 kyroClasses.add(org.apache.kylin.metadata.model.MeasureDesc[].class);
 
kyroClasses.add(org.apache.kylin.metadata.model.ModelDimensionDesc.class);
 kyroClasses.add(org.apache.kylin.metadata.model.ParameterDesc.class);
@@ -96,9 +100,11 @@ public class KylinKryoRegistrator implements 
KryoRegistrator {
 kyroClasses.add(org.apache.kylin.metadata.model.TableRef.class);
 kyroClasses.add(org.apache.kylin.metadata.model.TblColRef.class);
 
kyroClasses.add(org.apache.kylin.metadata.realization.RealizationStatusEnum.class);
+
kyroClasses.add(org.apache.kylin.metadata.datatype.DataTypeSerializer.class);
 
kyroClasses.add(org.apache.kylin.metadata.datatype.DataTypeSerializer[].class);
 kyroClasses.add(org.apache.kylin.measure.BufferedMeasureCodec.class);
 kyroClasses.add(org.apache.kylin.measure.MeasureCodec.class);
+kyroClasses.add(org.apache.kylin.measure.MeasureAggregator.class);
 kyroClasses.add(org.apache.kylin.measure.MeasureAggregator[].class);
 kyroClasses.add(org.apache.kylin.measure.basic.BasicMeasureType.class);
 
kyroClasses.add(org.apache.kylin.measure.basic.BigDecimalIngester.class);
@@ -117,10 +123,13 @@ public class KylinKryoRegistrator implements 
KryoRegistrator {
 
kyroClasses.add(org.apache.kylin.cube.model.CubeJoinedFlatTableEnrich.class);
 kyroClasses.add(org.apache.kylin.cube.model.DictionaryDesc.class);
 kyroClasses.add(org.apache.kylin.cube.model.DimensionDesc.class);
+
kyroClasses.add(org.apache.kylin.cube.model.HBaseColumnFamilyDesc.class);
 
kyroClasses.add(org.apache.kylin.cube.model.HBaseColumnFamilyDesc[].class);
+kyroClasses.add(org.apache.kylin.cube.model.HBaseColumnDesc.class);
 kyroClasses.add(org.apache.kylin.cube.model.HBaseColumnDesc[].class);
 kyroClasses.add(org.apache.kylin.cube.model.HBaseMappingDesc.class);
 kyroClasses.add(org.apache.kylin.cube.model.HierarchyDesc.class);
+kyroClasses.add(org.apache.kylin.cube.model.RowKeyColDesc.class);
 kyroClasses.add(org.apache.kylin.cube.model.RowKeyColDesc[].class);
 kyroClasses.add(org.apache.ky

kylin git commit: KYLIN-2428 add more kyro mapping

2017-02-13 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2428 401c38a23 -> aa629dde4


KYLIN-2428 add more kyro mapping


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

Branch: refs/heads/KYLIN-2428
Commit: aa629dde40f00a095b17da8e86e020e1a65f9115
Parents: 401c38a
Author: Billy Liu 
Authored: Mon Feb 13 21:36:26 2017 +0800
Committer: Billy Liu 
Committed: Mon Feb 13 21:36:26 2017 +0800

--
 .../engine/spark/KylinKryoRegistrator.java  | 27 
 1 file changed, 22 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/aa629dde/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
--
diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
index 9168c37..d5a4479 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
@@ -75,17 +75,26 @@ public class KylinKryoRegistrator implements 
KryoRegistrator {
 kyroClasses.add(org.apache.kylin.common.util.SplittedBytes[].class);
 kyroClasses.add(org.apache.kylin.common.util.SplittedBytes.class);
 kyroClasses.add(org.apache.kylin.metadata.model.ColumnDesc[].class);
-kyroClasses.add(org.apache.kylin.metadata.model.JoinTableDesc[].class);
-kyroClasses.add(org.apache.kylin.metadata.model.TblColRef[].class);
-kyroClasses.add(org.apache.kylin.metadata.model.MeasureDesc[].class);
+kyroClasses.add(org.apache.kylin.metadata.model.DatabaseDesc.class);
 kyroClasses.add(org.apache.kylin.metadata.model.DataModelDesc.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.DataModelDesc.RealizationCapacity.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.DataModelDesc.TableKind.class);
+kyroClasses.add(org.apache.kylin.metadata.model.FunctionDesc.class);
+kyroClasses.add(org.apache.kylin.metadata.model.JoinDesc.class);
+kyroClasses.add(org.apache.kylin.metadata.model.JoinTableDesc[].class);
+kyroClasses.add(org.apache.kylin.metadata.model.TblColRef[].class);
+kyroClasses.add(org.apache.kylin.metadata.model.MeasureDesc[].class);
+
kyroClasses.add(org.apache.kylin.metadata.model.ModelDimensionDesc.class);
+kyroClasses.add(org.apache.kylin.metadata.model.ParameterDesc.class);
 kyroClasses.add(org.apache.kylin.metadata.model.PartitionDesc.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.PartitionDesc.DefaultPartitionConditionBuilder.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.PartitionDesc.PartitionType.class);
 kyroClasses.add(org.apache.kylin.metadata.model.Segments.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.SegmentStatusEnum.class);
+kyroClasses.add(org.apache.kylin.metadata.model.TableDesc.class);
+kyroClasses.add(org.apache.kylin.metadata.model.TableExtDesc.class);
+kyroClasses.add(org.apache.kylin.metadata.model.TableRef.class);
+kyroClasses.add(org.apache.kylin.metadata.model.TblColRef.class);
 
kyroClasses.add(org.apache.kylin.metadata.realization.RealizationStatusEnum.class);
 
kyroClasses.add(org.apache.kylin.metadata.datatype.DataTypeSerializer[].class);
 kyroClasses.add(org.apache.kylin.measure.BufferedMeasureCodec.class);
@@ -99,14 +108,22 @@ public class KylinKryoRegistrator implements 
KryoRegistrator {
 kyroClasses.add(org.apache.kylin.measure.topn.TopNCounter.class);
 
kyroClasses.add(org.apache.kylin.measure.topn.DoubleDeltaSerializer.class);
 
kyroClasses.add(org.apache.kylin.measure.percentile.PercentileSerializer.class);
+kyroClasses.add(org.apache.kylin.cube.model.AggregationGroup.class);
+
kyroClasses.add(org.apache.kylin.cube.model.AggregationGroup.HierarchyMask.class);
 kyroClasses.add(org.apache.kylin.cube.model.CubeDesc.class);
 kyroClasses.add(org.apache.kylin.cube.model.CubeDesc.DeriveInfo.class);
 kyroClasses.add(org.apache.kylin.cube.model.CubeDesc.DeriveType.class);
+
kyroClasses.add(org.apache.kylin.cube.model.CubeJoinedFlatTableDesc.class);
+
kyroClasses.add(org.apache.kylin.cube.model.CubeJoinedFlatTableEnrich.class);
+kyroClasses.add(org.apache.kylin.cube.model.DictionaryDesc.class);
+kyroClasses.add(org.apache.kylin.cube.model.DimensionDesc.clas

kylin git commit: KYLIN-2428 cleanup reflection

2017-02-13 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2428 c26f6fd5f -> 401c38a23


KYLIN-2428 cleanup reflection


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

Branch: refs/heads/KYLIN-2428
Commit: 401c38a2331c8b47ef42f7a8eec7a0e44979d3cd
Parents: c26f6fd
Author: Billy Liu 
Authored: Mon Feb 13 19:20:06 2017 +0800
Committer: Billy Liu 
Committed: Mon Feb 13 19:20:06 2017 +0800

--
 engine-spark/pom.xml| 42 
 .../engine/spark/KylinKryoRegistrator.java  |  9 -
 pom.xml |  8 
 3 files changed, 59 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/401c38a2/engine-spark/pom.xml
--
diff --git a/engine-spark/pom.xml b/engine-spark/pom.xml
index a279279..258232d 100644
--- a/engine-spark/pom.xml
+++ b/engine-spark/pom.xml
@@ -67,14 +67,6 @@
 provided
 
 
-
-
 
 
 org.apache.hadoop
@@ -119,40 +111,6 @@
 maven-model
 test
 
-
 
 
-
-
-
-org.apache.maven.plugins
-maven-shade-plugin
-
-
-package
-
-shade
-
-
-false
-
true
-job
-
-
-*:*
-
-META-INF/*.SF
-META-INF/*.DSA
-META-INF/*.RSA
-
-
-
-
-
-
-
-
-
-
-
 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/kylin/blob/401c38a2/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
--
diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
index 5a6eee1..9168c37 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
@@ -51,15 +51,6 @@ public class KylinKryoRegistrator implements KryoRegistrator 
{
 kyroClasses.add(java.util.HashMap.class);
 kyroClasses.add(java.util.TreeMap.class);
 kyroClasses.add(java.util.Properties.class);
-//kyroClasses.addAll(new 
Reflections("org.apache.kylin").getSubTypesOf(Serializable.class));
-//kyroClasses.addAll(new 
Reflections("org.apache.kylin.dimension").getSubTypesOf(Serializable.class));
-//kyroClasses.addAll(new 
Reflections("org.apache.kylin.cube").getSubTypesOf(Serializable.class));
-//kyroClasses.addAll(new 
Reflections("org.apache.kylin.cube.model").getSubTypesOf(Object.class));
-//kyroClasses.addAll(new 
Reflections("org.apache.kylin.metadata").getSubTypesOf(Object.class));
-//kyroClasses.addAll(new 
Reflections("org.apache.kylin.metadata.model").getSubTypesOf(Object.class));
-//kyroClasses.addAll(new 
Reflections("org.apache.kylin.metadata.measure").getSubTypesOf(Object.class));
-//kyroClasses.addAll(new 
Reflections("org.apache.kylin.metadata.datatype").getSubTypesOf(org.apache.kylin.common.util.BytesSerializer.class));
-//kyroClasses.addAll(new 
Reflections("org.apache.kylin.measure").getSubTypesOf(MeasureIngester.class));
 
 kyroClasses.add(org.apache.spark.sql.Row[].class);
 kyroClasses.add(org.apache.spark.sql.Row.class);

http://git-wip-us.apache.org/repos/asf/kylin/blob/401c38a2/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 72ef9ec..a103ae0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -582,14 +582,6 @@
 ${kryo.version}
 provided
 
-
 
 
 org.apache.kafka



kylin git commit: KYLIN-2428 more fix

2017-02-13 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2428 d7b2b8b25 -> c26f6fd5f


KYLIN-2428 more fix


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

Branch: refs/heads/KYLIN-2428
Commit: c26f6fd5ffe2ebdde127b001e2008ce0bc6dcb1d
Parents: d7b2b8b
Author: Billy Liu 
Authored: Mon Feb 13 19:00:06 2017 +0800
Committer: Billy Liu 
Committed: Mon Feb 13 19:00:06 2017 +0800

--
 .../org/apache/kylin/engine/spark/KylinKryoRegistrator.java | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/c26f6fd5/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
--
diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
index 71c08f4..5a6eee1 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java
@@ -87,13 +87,15 @@ public class KylinKryoRegistrator implements 
KryoRegistrator {
 kyroClasses.add(org.apache.kylin.metadata.model.JoinTableDesc[].class);
 kyroClasses.add(org.apache.kylin.metadata.model.TblColRef[].class);
 kyroClasses.add(org.apache.kylin.metadata.model.MeasureDesc[].class);
+kyroClasses.add(org.apache.kylin.metadata.model.DataModelDesc.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.DataModelDesc.RealizationCapacity.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.DataModelDesc.TableKind.class);
+kyroClasses.add(org.apache.kylin.metadata.model.PartitionDesc.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.PartitionDesc.DefaultPartitionConditionBuilder.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.PartitionDesc.PartitionType.class);
 kyroClasses.add(org.apache.kylin.metadata.model.Segments.class);
-
kyroClasses.add(org.apache.kylin.metadata.realization.RealizationStatusEnum.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.SegmentStatusEnum.class);
+
kyroClasses.add(org.apache.kylin.metadata.realization.RealizationStatusEnum.class);
 
kyroClasses.add(org.apache.kylin.metadata.datatype.DataTypeSerializer[].class);
 kyroClasses.add(org.apache.kylin.measure.BufferedMeasureCodec.class);
 kyroClasses.add(org.apache.kylin.measure.MeasureCodec.class);
@@ -112,6 +114,7 @@ public class KylinKryoRegistrator implements 
KryoRegistrator {
 
kyroClasses.add(org.apache.kylin.cube.model.HBaseColumnFamilyDesc[].class);
 kyroClasses.add(org.apache.kylin.cube.model.HBaseColumnDesc[].class);
 kyroClasses.add(org.apache.kylin.cube.model.RowKeyColDesc[].class);
+kyroClasses.add(org.apache.kylin.cube.model.AggregationGroup.class);
 
kyroClasses.add(org.apache.kylin.cube.model.AggregationGroup.HierarchyMask.class);
 kyroClasses.add(org.apache.kylin.cube.kv.RowKeyColumnIO.class);
 kyroClasses.add(org.apache.kylin.cube.kv.CubeDimEncMap.class);



kylin git commit: minor, add scan-whole-table flag in TableDesc

2017-02-13 Thread shaofengshi
Repository: kylin
Updated Branches:
  refs/heads/master 405dee26d -> c93ea9c9c


minor, add scan-whole-table flag in TableDesc

Signed-off-by: shaofengshi 


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

Branch: refs/heads/master
Commit: c93ea9c9cb70c285e9b5ce69be3b7b435220ad91
Parents: 405dee2
Author: Cheng Wang 
Authored: Mon Feb 13 16:03:05 2017 +0800
Committer: shaofengshi 
Committed: Mon Feb 13 18:54:10 2017 +0800

--
 .../org/apache/kylin/metadata/model/TableDesc.java  | 16 +---
 .../org/apache/kylin/source/hive/HiveMRInput.java   |  5 +++--
 2 files changed, 16 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/c93ea9c9/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
index e4fc4c3..be62062 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
@@ -26,8 +26,8 @@ import 
org.apache.kylin.common.persistence.RootPersistentEntity;
 import org.apache.kylin.common.util.StringSplitter;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
@@ -46,9 +46,11 @@ public class TableDesc extends RootPersistentEntity 
implements ISourceAware {
 private ColumnDesc[] columns;
 @JsonProperty("source_type")
 private int sourceType = ISourceAware.ID_HIVE;
+@JsonProperty("whole_scan")
+private boolean wholeScan = true;
 @JsonProperty("table_type")
 private String tableType;
-
+
 @JsonProperty("data_gen")
 @JsonInclude(JsonInclude.Include.NON_NULL)
 private String dataGen;
@@ -101,7 +103,15 @@ public class TableDesc extends RootPersistentEntity 
implements ISourceAware {
 }
 return identity;
 }
-
+
+public void setWholeScan(boolean wholeScan) {
+this.wholeScan = wholeScan;
+}
+
+public boolean getWholeScan() {
+return this.wholeScan;
+}
+
 public boolean isView() {
 return TABLE_TYPE_VIRTUAL_VIEW.equals(tableType);
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/c93ea9c9/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
--
diff --git 
a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java 
b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
index d665dc7..f9c7cfc 100644
--- a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
+++ b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
@@ -22,7 +22,6 @@ import java.io.IOException;
 import java.util.Map;
 import java.util.Set;
 
-import com.google.common.collect.Sets;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -57,10 +56,12 @@ import org.apache.kylin.metadata.model.TableDesc;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.collect.Sets;
+
 public class HiveMRInput implements IMRInput {
 
 public static String getTableNameForHCat(TableDesc table) {
-String tableName = table.isView() ? table.getMaterializedName() : 
table.getName();
+String tableName = (table.isView() || !table.getWholeScan()) ? 
table.getMaterializedName() : table.getName();
 return String.format("%s.%s", table.getDatabase(), 
tableName).toUpperCase();
 }