[kylin] branch kylin-on-druid updated: Add patch for precise-distinct-count, extend-column, decima measure

2018-12-27 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch kylin-on-druid
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/kylin-on-druid by this push:
 new 4b6668a  Add patch for precise-distinct-count,extend-column,decima 
measure
4b6668a is described below

commit 4b6668af91c14a318b3e06a7ac8deef91a1b326b
Author: kangkaisen 
AuthorDate: Thu Dec 27 20:43:51 2018 +0800

Add patch for precise-distinct-count,extend-column,decima measure
---
 ...tinct-count-extend-column-decimal-measure.patch | 3960 
 1 file changed, 3960 insertions(+)

diff --git a/kod-precise-distinct-count-extend-column-decimal-measure.patch 
b/kod-precise-distinct-count-extend-column-decimal-measure.patch
new file mode 100644
index 000..b7a0539
--- /dev/null
+++ b/kod-precise-distinct-count-extend-column-decimal-measure.patch
@@ -0,0 +1,3960 @@
+From 4e7daa032d5e6867666b65843e2804ffe1de2c67 Mon Sep 17 00:00:00 2001
+From: kangkaisen 
+Date: Wed, 15 Nov 2017 19:30:54 +0800
+Subject: [PATCH] Druid support kylin precise distinct count measure Druid
+ support kylin extend-column measure Druid support decimal measure
+
+---
+ .../bitmap/WrappedImmutableRoaringBitmap.java |   2 +
+ distribution/pom.xml  |  12 +
+ extensions-contrib/decimal/pom.xml|  59 +
+ .../decimal/DecimalAggregatorFactory.java | 114 
+ .../decimal/DecimalBufferAggregator.java  |  99 +++
+ .../decimal/DecimalDruidModule.java   |  71 +
+ .../decimal/DecimalMaxAggregator.java |  82 ++
+ .../decimal/DecimalMaxAggregatorFactory.java  | 160 +++
+ .../decimal/DecimalMaxBufferAggregator.java   |  56 
+ .../aggregation/decimal/DecimalMaxSerde.java  |  29 ++
+ .../decimal/DecimalMinAggregator.java |  83 ++
+ .../decimal/DecimalMinAggregatorFactory.java  | 149 +++
+ .../decimal/DecimalMinBufferAggregator.java   |  56 
+ .../aggregation/decimal/DecimalMinSerde.java  |  29 ++
+ .../aggregation/decimal/DecimalSerde.java | 135 ++
+ .../decimal/DecimalSumAggregator.java |  80 ++
+ .../decimal/DecimalSumAggregatorFactory.java  | 143 ++
+ .../decimal/DecimalSumBufferAggregator.java   |  54 
+ .../aggregation/decimal/DecimalSumSerde.java  |  29 ++
+ .../io.druid.initialization.DruidModule   |   1 +
+ .../DecimalGroupByQueryTest.java  | 250 ++
+ extensions-contrib/kylin-distinccount/pom.xml |  59 +
+ .../DistinctCountAggregator.java  |  73 +
+ .../DistinctCountAggregatorFactory.java   | 223 
+ .../DistinctCountBufferAggregator.java| 120 +
+ .../DistinctCountDruidModule.java |  53 
+ .../DistinctCountSerde.java   |  95 +++
+ .../io.druid.initialization.DruidModule   |   1 +
+ .../DistinctCountBufferAggregatorTest.java|  71 +
+ .../DistinctCountGroupByQueryTest.java| 234 
+ extensions-contrib/kylin-extendcolumn/pom.xml |  59 +
+ .../ExtendColumnAggregator.java   |  83 ++
+ .../ExtendColumnAggregatorFactory.java| 227 
+ .../ExtendColumnBufferAggregator.java | 117 
+ .../ExtendColumnDruidModule.java  |  51 
+ .../kylin.extendcolumn/ExtendColumnSerde.java | 139 ++
+ .../io.druid.initialization.DruidModule   |   1 +
+ .../ExtendColumnGroupByQueryTest.java | 229 
+ pom.xml   |   3 +
+ .../DruidDefaultSerializersModule.java|  18 ++
+ .../io/druid/segment/IndexMergerTestBase.java |   2 +-
+ .../java/io/druid/segment/TestHelper.java |   9 +-
+ 42 files changed, 3558 insertions(+), 2 deletions(-)
+ create mode 100644 extensions-contrib/decimal/pom.xml
+ create mode 100644 
extensions-contrib/decimal/src/main/java/io/druid/query/aggregation/decimal/DecimalAggregatorFactory.java
+ create mode 100644 
extensions-contrib/decimal/src/main/java/io/druid/query/aggregation/decimal/DecimalBufferAggregator.java
+ create mode 100644 
extensions-contrib/decimal/src/main/java/io/druid/query/aggregation/decimal/DecimalDruidModule.java
+ create mode 100644 
extensions-contrib/decimal/src/main/java/io/druid/query/aggregation/decimal/DecimalMaxAggregator.java
+ create mode 100644 
extensions-contrib/decimal/src/main/java/io/druid/query/aggregation/decimal/DecimalMaxAggregatorFactory.java
+ create mode 100644 
extensions-contrib/decimal/src/main/java/io/druid/query/aggregation/decimal/DecimalMaxBufferAggregator.java
+ create mode 100644 
extensions-contrib/decimal/src/main/java/io/druid/query/aggregation/decimal/DecimalMaxSerde.java
+ create mode 100644 
extensions-contrib/decimal/src/main/java/io/druid/query/aggregation/decimal/DecimalMinAggregator.java
+ create mode 100644 
extensions-contrib/decimal/src/main/java

[kylin] branch kylin-on-druid updated: Update PruneIntervalsProcessor.java (#419)

2018-12-26 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch kylin-on-druid
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/kylin-on-druid by this push:
 new 6e79781  Update PruneIntervalsProcessor.java (#419)
6e79781 is described below

commit 6e79781d825a9e6fdab837e4d928bf7ddbe0bee9
Author: 球球爸爸 
AuthorDate: Thu Dec 27 10:34:42 2018 +0800

Update PruneIntervalsProcessor.java (#419)
---
 .../apache/kylin/storage/druid/read/filter/PruneIntervalsProcessor.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/storage-druid/src/main/java/org/apache/kylin/storage/druid/read/filter/PruneIntervalsProcessor.java
 
b/storage-druid/src/main/java/org/apache/kylin/storage/druid/read/filter/PruneIntervalsProcessor.java
index d19e9cd..0b30452 100644
--- 
a/storage-druid/src/main/java/org/apache/kylin/storage/druid/read/filter/PruneIntervalsProcessor.java
+++ 
b/storage-druid/src/main/java/org/apache/kylin/storage/druid/read/filter/PruneIntervalsProcessor.java
@@ -110,7 +110,7 @@ public class PruneIntervalsProcessor implements 
Function segmentRanges = TreeRangeSet.create();
 for (CubeSegment segment : cube.getSegments(SegmentStatusEnum.READY)) {
-Range segmentRange = 
Range.closedOpen(segment.getTSRange().start.v, segment.getTSRange().start.v);
+Range segmentRange = 
Range.closedOpen(segment.getTSRange().start.v, segment.getTSRange().end.v);
 boolean containQueryRange = 
!result.timeRanges.subRangeSet(segmentRange).isEmpty();
 if (segment.getInputRecords() > 0 && containQueryRange) {
 segmentRanges.add(segmentRange);



[kylin] branch kylin-on-druid created (now 31cacb5)

2018-10-29 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to branch kylin-on-druid
in repository https://gitbox.apache.org/repos/asf/kylin.git.


  at 31cacb5  Kylin-on-Druid Storage

This branch includes the following new commits:

 new 31cacb5  Kylin-on-Druid Storage

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.




[kylin] branch document updated: KYLIN-3425 Update release notes and download for 2.3.2 2

2018-07-08 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch document
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/document by this push:
 new ca79631  KYLIN-3425 Update release notes and download for 2.3.2 2
ca79631 is described below

commit ca79631aec0b5682df012fdc9e12d7bbdb78d8ca
Author: kangkaisen 
AuthorDate: Sun Jul 8 15:15:36 2018 +0800

KYLIN-3425 Update release notes and download for 2.3.2 2
---
 website/download/index.cn.md | 2 +-
 website/download/index.md| 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/website/download/index.cn.md b/website/download/index.cn.md
index 438022c..9d64c33 100644
--- a/website/download/index.cn.md
+++ b/website/download/index.cn.md
@@ -19,7 +19,7 @@ title: 下载
 - 源代码下载: 
[apache-kylin-2.3.2-src.tar.gz](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip)
 
\[[asc](https://www.apache.org/dist/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip.asc)\]
 
\[[sha1](https://www.apache.org/dist/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip.sha1)\]
 - 二进制包下载:
   - for HBase 1.x (includes HDP 2.3+, AWS EMR 5.0+, Azure HDInsight 3.4 - 3.6) 
- 
[apache-kylin-2.3.2-bin-hbase1x.tar.gz](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-hbase1x.tar.gz)
 
\[[asc](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-hbase1x.tar.gz.asc)\]
 
\[[md5](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-hbase1x.tar.gz.md5)\]
-  - for CDH 5.7+ - 
[apache-kylin-2.3.1-bin-cdh57.tar.gz](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz)
 
\[[asc](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz.asc)\]
 
\[[md5](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz.md5)\]
+  - for CDH 5.7+ - 
[apache-kylin-2.3.2-bin-cdh57.tar.gz](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz)
 
\[[asc](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz.asc)\]
 
\[[md5](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz.md5)\]
 
  JDBC 驱动程序
 
diff --git a/website/download/index.md b/website/download/index.md
index 2489b29..2862f62 100644
--- a/website/download/index.md
+++ b/website/download/index.md
@@ -21,7 +21,7 @@ You can verify the download by following these 
[procedures](https://www.apache.o
 - Source download: 
[apache-kylin-2.3.2-src.tar.gz](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip)
 
\[[asc](https://www.apache.org/dist/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip.asc)\]
 
\[[sha1](https://www.apache.org/dist/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip.sha1)\]
 - Binary download:
   - for HBase 1.x (includes HDP 2.3+, AWS EMR 5.0+, Azure HDInsight 3.4 - 3.6) 
- 
[apache-kylin-2.3.2-bin-hbase1x.tar.gz](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-hbase1x.tar.gz)
 
\[[asc](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-hbase1x.tar.gz.asc)\]
 
\[[md5](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-hbase1x.tar.gz.md5)\]
-  - for CDH 5.7+ - 
[apache-kylin-2.3.1-bin-cdh57.tar.gz](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz)
 
\[[asc](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz.asc)\]
 
\[[md5](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz.md5)\]
+  - for CDH 5.7+ - 
[apache-kylin-2.3.2-bin-cdh57.tar.gz](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz)
 
\[[asc](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz.asc)\]
 
\[[md5](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz.md5)\]
 
  JDBC Driver
 



svn commit: r1835341 - in /kylin/site: cn/download/index.html docs23/release_notes.html download/index.html

2018-07-08 Thread kangkaisen
Author: kangkaisen
Date: Sun Jul  8 07:34:45 2018
New Revision: 1835341

URL: http://svn.apache.org/viewvc?rev=1835341&view=rev
Log:
KYLIN-3425 Update release notes and download for 2.3.2

Modified:
kylin/site/cn/download/index.html
kylin/site/docs23/release_notes.html
kylin/site/download/index.html

Modified: kylin/site/cn/download/index.html
URL: 
http://svn.apache.org/viewvc/kylin/site/cn/download/index.html?rev=1835341&r1=1835340&r2=1835341&view=diff
==
--- kylin/site/cn/download/index.html (original)
+++ kylin/site/cn/download/index.html Sun Jul  8 07:34:45 2018
@@ -187,31 +187,31 @@ var _hmt = _hmt || [];
   
 
 
-v2.3.1
-
+v2.3.2
 
-  Release notes 和 升级指南
-  源代码下载: http://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-src.tar.gz";>apache-kylin-2.3.1-src.tar.gz
 [https://www.apache.org/dist/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-src.tar.gz.asc";>asc]
 [https://www.apache.org/dist/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-src.tar.gz.sha1";>sha1]
+  This is a bug fix release after 2.3.1, with 12 bug fixes and 
enhancements. For the detail list please check release notes.
+  Release notes and 升级指南
+  源代码下载: https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip";>apache-kylin-2.3.2-src.tar.gz
 [https://www.apache.org/dist/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip.asc";>asc]
 [https://www.apache.org/dist/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip.sha1";>sha1]
   二进制包下载:
 
-  for HBase 1.x (includes HDP 2.3+, AWS EMR 5.0+, Azure HDInsight 3.4 
- 3.6) - http://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-hbase1x-bin.tar.gz";>apache-kylin-2.3.1-bin-hbase1x.tar.gz
 [https://www.apache.org/dist/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-hbase1x-bin.tar.gz.asc";>asc]
 [https://www.apache.org/dist/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-hbase1x-bin.tar.gz.sha1";>sha1]
-  for CDH 5.7+ - http://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-cdh57-bin.tar.gz";>apache-kylin-2.3.1-bin-cdh57.tar.gz
 [https://www.apache.org/dist/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-cdh57-bin.tar.gz.asc";>asc]
 [https://www.apache.org/dist/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-cdh57-bin.tar.gz.sha1";>sha1]
+  for HBase 1.x (includes HDP 2.3+, AWS EMR 5.0+, Azure HDInsight 3.4 
- 3.6) - https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-hbase1x.tar.gz";>apache-kylin-2.3.2-bin-hbase1x.tar.gz
 [https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-hbase1x.tar.gz.asc";>asc]
 [https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-hbase1x.tar.gz.md5";>md5]
+  for CDH 5.7+ - https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz";>apache-kylin-2.3.2-bin-cdh57.tar.gz
 [https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz.asc";>asc]
 [https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-bin-cdh57.tar.gz.md5";>md5]
 
   
 
 
-JDBC 驱动程序
+JDBC 驱动程序
 
 Kylin JDBC 驱动程序, kylin-jdbc-<version>.jar, 在 Kylin 
二进制包的 “lib” 目录下.
 
-ODBC 驱动程序
+ODBC 驱动程序
 
   http://kylin.apache.org/download/KylinODBCDriver-2.1.0.zip";>Kylin ODBC 
驱动 v2.1.0  (与所有 Kylin 版本兼容)
 
 
 注: Kylin ODBC 驱动依赖 http://www.microsoft.com/en-us/download/details.aspx?id=30679";>Microsoft 
Visual C++ 2012 Redistributable。
 
-以前的版本
+以前的版本
 Apache Kylin的旧版本可以从 https://archive.apache.org/dist/kylin/";>https://archive.apache.org/dist/kylin/
 下载。
 
 

Modified: kylin/site/docs23/release_notes.html
URL: 
http://svn.apache.org/viewvc/kylin/site/docs23/release_notes.html?rev=1835341&r1=1835340&r2=1835341&view=diff
==
--- kylin/site/docs23/release_notes.html (original)
+++ kylin/site/docs23/release_notes.html Sun Jul  8 07:34:45 2018
@@ -5404,380 +5404,428 @@ there are source code package, binary pa
 or send to Apache Kylin mailing list:
 
 
-  User relative: user@kylin.apache.org
-  Development relative: dev@kylin.apache.org
+  User relative: mailto:u...@kylin.apache.org";>u...@kylin.apache.org
+  Development relative: mailto:d...@kylin.apache.org";>d...@kylin.apache.org
+
+
+v2.3.2 - 2018-07-08
+Tag: https://github.com/apache/kylin/tree/kylin-2.3.2";>kylin-2.3.2
+This is a bug fix rele

[kylin] branch document updated: KYLIN-3425 Update release notes and download for 2.3.2

2018-07-07 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch document
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/document by this push:
 new e7a40ab  KYLIN-3425 Update release notes and download for 2.3.2
e7a40ab is described below

commit e7a40ab3ac6dab784c957ef3131e9f7e07e40277
Author: kangkaisen 
AuthorDate: Sun Jul 8 13:45:51 2018 +0800

KYLIN-3425 Update release notes and download for 2.3.2
---
 website/_docs23/release_notes.md | 21 +
 website/download/index.cn.md | 21 ++---
 website/download/index.md| 10 +-
 3 files changed, 36 insertions(+), 16 deletions(-)

diff --git a/website/_docs23/release_notes.md b/website/_docs23/release_notes.md
index 77e59fe..fa8027a 100644
--- a/website/_docs23/release_notes.md
+++ b/website/_docs23/release_notes.md
@@ -15,6 +15,27 @@ or send to Apache Kylin mailing list:
 * User relative: [u...@kylin.apache.org](mailto:u...@kylin.apache.org)
 * Development relative: [d...@kylin.apache.org](mailto:d...@kylin.apache.org)
 
+## v2.3.2 - 2018-07-08
+_Tag:_ [kylin-2.3.2](https://github.com/apache/kylin/tree/kylin-2.3.2)
+This is a bug fix release after 2.3.1, with 12 bug fixes and enhancement. 
Check [How to upgrade](/docs23/howto/howto_upgrade.html).
+
+__Improvement__
+* [KYLIN-3345] - Use Apache Parent POM 19
+* [KYLIN-3372] - Upgrade jackson-databind version due to security concerns
+* [KYLIN-3415] - Remove "external" module
+
+__Bug__
+* [KYLIN-3115] - Incompatible RowKeySplitter initialize between build and 
merge job
+* [KYLIN-3336] - java.lang.NoSuchMethodException: 
org.apache.kylin.tool.HBaseUsageExtractor.execute([Ljava.lang.String;)
+* [KYLIN-3348] - "missing LastBuildJobID" error when building new cube segment
+* [KYLIN-3352] - Segment pruning bug, e.g. date_col > "max_date+1"
+* [KYLIN-3363] - Wrong partition condition appended in JDBC Source
+* [KYLIN-3388] - Data may become not correct if mappers fail during the 
redistribute step, "distribute by rand()"
+* [KYLIN-3400] - WipeCache and createCubeDesc causes deadlock
+* [KYLIN-3401] - The current using zip compress tool has an arbitrary file 
write vulnerability
+* [KYLIN-3404] - Last optimized time detail was not showing after cube 
optimization
+
+
 ## v2.3.1 - 2018-03-28
 _Tag:_ [kylin-2.3.1](https://github.com/apache/kylin/tree/kylin-2.3.1)
 This is a bug fix release after 2.3.0, with 12 bug fixes and enhancement. 
Check [How to upgrade](/docs23/howto/howto_upgrade.html).
diff --git a/website/download/index.cn.md b/website/download/index.cn.md
index 4787895..438022c 100644
--- a/website/download/index.cn.md
+++ b/website/download/index.cn.md
@@ -13,24 +13,23 @@ title: 下载
   - for HBase 1.x (includes HDP 2.3+, AWS EMR 5.0+, Azure HDInsight 3.4 - 3.6) 
- 
[apache-kylin-2.4.0-bin-hbase1x.tar.gz](http://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.4.0/apache-kylin-2.4.0-bin-hbase1x.tar.gz)
 
\[[asc](https://www.apache.org/dist/kylin/apache-kylin-2.4.0/apache-kylin-2.4.0-bin-hbase1x.tar.gz.asc)\]
 
\[[sha1](https://www.apache.org/dist/kylin/apache-kylin-2.4.0/apache-kylin-2.4.0-bin-hbase1x.tar.gz.sha1)\]
   - for CDH 5.7+ - 
[apache-kylin-2.4.0-bin-cdh57.tar.gz](http://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.4.0/apache-kylin-2.4.0-bin-cdh57.tar.gz)
 
\[[asc](https://www.apache.org/dist/kylin/apache-kylin-2.4.0/apache-kylin-2.4.0-bin-cdh57.tar.gz.asc)\]
 
\[[sha1](https://www.apache.org/dist/kylin/apache-kylin-2.4.0/apache-kylin-2.4.0-bin-cdh57.tar.gz.tar.gz.sha1)\]
 
-
-## v2.3.1
-
-- [Release notes](/docs23/release_notes.html) 和 
[升级指南](/docs23/howto/howto_upgrade.html)
-- 源代码下载: 
[apache-kylin-2.3.1-src.tar.gz](http://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-src.tar.gz)
 
\[[asc](https://www.apache.org/dist/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-src.tar.gz.asc)\]
 
\[[sha1](https://www.apache.org/dist/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-src.tar.gz.sha1)\]
+ v2.3.2
+- This is a bug fix release after 2.3.1, with 12 bug fixes and enhancements. 
For the detail list please check release notes.
+- [Release notes](/docs23/release_notes.html) and 
[升级指南](/docs23/howto/howto_upgrade.html)
+- 源代码下载: 
[apache-kylin-2.3.2-src.tar.gz](https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip)
 
\[[asc](https://www.apache.org/dist/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip.asc)\]
 
\[[sha1](https://www.apache.org/dist/kylin/apache-kylin-2.3.2/apache-kylin-2.3.2-source-release.zip.sha1)\]
 - 二进制包下载:
-  - for HBase 1.x (includes HDP 2.3+, AWS EMR 5.0+, Azure HDInsight 3.4 - 3.6) 
- 
[apache-kylin-2.3.1-bin-hbase1x.tar.gz](http://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-hbase1x-bin.tar.gz)
 
\[[asc](https://www.apache.org/dist/kylin/apache-kylin-2.3.

svn commit: r27755 - /dev/kylin/apache-kylin-2.3.2-rc2/

2018-06-26 Thread kangkaisen
Author: kangkaisen
Date: Wed Jun 27 06:41:37 2018
New Revision: 27755

Log:
Upload release artifacts to staging for Kylin 2.3.2-rc2

Added:
dev/kylin/apache-kylin-2.3.2-rc2/
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip   
(with props)
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc

dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc.md5

dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc.sha1
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.md5
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.sha1

Added: dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip
==
Binary file - no diff available.

Propchange: 
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip
--
svn:mime-type = application/octet-stream

Added: 
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc
==
--- dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc 
(added)
+++ dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc 
Wed Jun 27 06:41:37 2018
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCgAdFiEEeBJuFE1tDTLKZDIq+oiLHrw6JKYFAlszEC4ACgkQ+oiLHrw6
+JKYlyhAAt5o2FUfCLomdu2GBvMEw0xieneXCZmy/qpgaqRYumttwWbeVm5Xj01ho
+BcJ6P+/qaq8fn/a3aFFQ9qlPdgBPqWc/m2dskYdggx73sL6FsEE29koJ8YeoC3fF
+4NTrzqyLhqTpjoTT8Q9XY/W8d3Pox0/YJv9Xa4g+1WCrQhfenXn/gVoBXFYew7qK
+FnBF9pL3m79ENGiaEtkqH2C8z+jeQnz1mVzuDNKyIJ/vrkOmXUiYrv3qDywBYbFF
+PdwVqS3UUlLbiaV+k66vm4L6lQGQuI+QERUadVrhtenp2juNSGdbc+uB9Bs/OaV1
+dvYUUOcTpc4uf/Ax1TQAQyigHUe2hCtbV5owgEFrmO4y0INd0tDs9VW6SCqXsX2w
+CxMgNizfj7dhnBM/RwOCVH9LRfyN51D3srbe5Nhl+0NejaaYhaVlscf+biVupgkp
+qHqv+NZxzIE/yJGC5EvNq77G5OJBXZcgtfBuF+NaDF/is56CibkVkyMWkD7ICE/J
+mu7zIo3BG7093p2G9IIRu6SwzZYLXPdNu+mh73rXeLhGdi+6QXvj3uNbj9aW4C+L
+PxxaJomZg0qSPBDOw22V4SgMGXksF38sKGD5WgKSBviyHdlKYnZ9i6N6MS2ifRg5
+aGrdicXj8a7h4qNW3o5Exze3c6oIUjI7GB5eDwfrfzhsEGuARV4=
+=ZlFe
+-END PGP SIGNATURE-

Added: 
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc.md5
==
--- 
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc.md5 
(added)
+++ 
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc.md5 
Wed Jun 27 06:41:37 2018
@@ -0,0 +1 @@
+dac057b13705025c6682e86292eed4cd
\ No newline at end of file

Added: 
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc.sha1
==
--- 
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc.sha1 
(added)
+++ 
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.asc.sha1 
Wed Jun 27 06:41:37 2018
@@ -0,0 +1 @@
+5d43ead13f195f2e097a85aeb2981d9c76ac074f
\ No newline at end of file

Added: 
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.md5
==
--- dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.md5 
(added)
+++ dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.md5 
Wed Jun 27 06:41:37 2018
@@ -0,0 +1 @@
+f7b3ed50ef0273606b80fef1ee37ee9d
\ No newline at end of file

Added: 
dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.sha1
==
--- dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.sha1 
(added)
+++ dev/kylin/apache-kylin-2.3.2-rc2/apache-kylin-2.3.2-source-release.zip.sha1 
Wed Jun 27 06:41:37 2018
@@ -0,0 +1 @@
+71429dba824e514ec9b43111a2fc40bccab53cfb
\ No newline at end of file




svn commit: r27754 - /dev/kylin/apache-kylin-2.3.1-rc1/

2018-06-26 Thread kangkaisen
Author: kangkaisen
Date: Wed Jun 27 06:34:00 2018
New Revision: 27754

Log:
Recover apache-kylin-2.3.1-rc1

Added:
dev/kylin/apache-kylin-2.3.1-rc1/
dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz   (with 
props)
dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc
dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc.md5
dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc.sha1
dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.md5
dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.sha1

Added: dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz
==
Binary file - no diff available.

Propchange: dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz
--
svn:mime-type = application/octet-stream

Added: dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc
==
--- dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc (added)
+++ dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc Wed Jun 
27 06:34:00 2018
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: GnuPG v2
+
+iQIcBAABCAAGBQJatn+WAAoJEMZ1EPmh75SuG3cP/3yiDYTcUoZKLqq1+F0IiagA
+ZMFc6D4uGv/NiBwhdaH879xUJmtDH0oObCS7sP+fq1yDmJXBYhqB7fRUR1xFq88K
+1OZKiH4zrvyK6vIn6mPYPLQN27ljG6bZq3kvGNkMQGYWTvUwy7lOfqMed/D0DeZg
+Te6lSwqX1vudp9RT8j/s902WUMlUWkOB1Km+EXtWzaRLNJzXFfvtJ5JF85HyEdiQ
+ycgI5w6ukEqWAurVf+sIIRB1A0tkD4iKIKUwHyHtrgv0d9LVtKuYKsgZ0p9F/qRb
+X2QnTHTc3WL3JznYI+IWpLxo0ouHh9nI4J8Feo6BVN6YbwNczsCyUGK201KEzY+3
+nh2a0VrC+OHU4nCbvcFllzLx5bOvm9CRYUelkMLzvI8wX9mhcEGHMBZgjWfWdJiI
+0b2IQsKbUNzOmzaoSuhxJdIBpuIMu1Ac37eYmHv8nxM/+57I4OikCQJDZeswOkJ9
+F9v7A0uqONccFw5eoLJTgtHtmp1fYImMwy2MaKQln0sbOFM3e2pPhqVg8roijaCO
+r9jlskQchUWPZ9HrDMJYqT5idvBdKf9VRV6ACP7uIkuDIxHUsQK+L/RKc+6+z0V1
+cWljkMFgEEW7vvy/dI5i5FX8IHg9jX8Ovfli+Zyx7NX+FXLjYNeUbddbFm1W7ZQn
+fR0nX5n5/l3Ybo+kHs1o
+=g+ps
+-END PGP SIGNATURE-

Added: dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc.md5
==
--- dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc.md5 
(added)
+++ dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc.md5 Wed 
Jun 27 06:34:00 2018
@@ -0,0 +1 @@
+ba562929956e877782064237e6010afa
\ No newline at end of file

Added: dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc.sha1
==
--- dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc.sha1 
(added)
+++ dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.asc.sha1 Wed 
Jun 27 06:34:00 2018
@@ -0,0 +1 @@
+3441693f75ab68db2baf7172a5a256148614cfba
\ No newline at end of file

Added: dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.md5
==
--- dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.md5 (added)
+++ dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.md5 Wed Jun 
27 06:34:00 2018
@@ -0,0 +1 @@
+541d8dff9e5caaae349cf61ad394b0d6
\ No newline at end of file

Added: dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.sha1
==
--- dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.sha1 (added)
+++ dev/kylin/apache-kylin-2.3.1-rc1/apache-kylin-2.3.1-src.tar.gz.sha1 Wed Jun 
27 06:34:00 2018
@@ -0,0 +1 @@
+7ff10d1770d05a8324252547f95adde990bde9dc
\ No newline at end of file




svn commit: r27753 - /dev/kylin/apache-kylin-2.3.2-rc1/

2018-06-26 Thread kangkaisen
Author: kangkaisen
Date: Wed Jun 27 06:31:46 2018
New Revision: 27753

Log:
Recover apache-kylin-2.3.1-rc1 and remove apache-kylin-2.3.2-rc1

Removed:
dev/kylin/apache-kylin-2.3.2-rc1/



svn commit: r27752 - /dev/kylin/apache-kylin-2.3.1-rc1/

2018-06-26 Thread kangkaisen
Author: kangkaisen
Date: Wed Jun 27 06:14:34 2018
New Revision: 27752

Log:
rm apache-kylin-2.3.1-rc1

Removed:
dev/kylin/apache-kylin-2.3.1-rc1/



[kylin] annotated tag kylin-2.3.2 updated (8247ffc -> f9e7633)

2018-06-26 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to annotated tag kylin-2.3.2
in repository https://gitbox.apache.org/repos/asf/kylin.git.


*** WARNING: tag kylin-2.3.2 was modified! ***

from 8247ffc  (commit)
  to f9e7633  (tag)
 tagging 8247ffc2d8a8a20381575389ffb3834d784ad4ce (commit)
 replaces kylin-2.3.1
  by kangkaisen
  on Wed Jun 27 12:21:38 2018 +0800

- Log -
[maven-release-plugin] copy for tag kylin-2.3.2
---


No new revisions were added by this update.

Summary of changes:



[kylin] branch v2.3.2-release updated: [maven-release-plugin] prepare for next development iteration

2018-06-26 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch v2.3.2-release
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/v2.3.2-release by this push:
 new db395e6  [maven-release-plugin] prepare for next development iteration
db395e6 is described below

commit db395e66ae2dd122a8638ffd82416b2e0d9fbf69
Author: kangkaisen 
AuthorDate: Wed Jun 27 12:21:45 2018 +0800

[maven-release-plugin] prepare for next development iteration
---
 assembly/pom.xml   | 2 +-
 atopcalcite/pom.xml| 2 +-
 core-common/pom.xml| 2 +-
 core-cube/pom.xml  | 2 +-
 core-dictionary/pom.xml| 2 +-
 core-job/pom.xml   | 2 +-
 core-metadata/pom.xml  | 2 +-
 core-metrics/pom.xml   | 2 +-
 core-storage/pom.xml   | 2 +-
 engine-mr/pom.xml  | 2 +-
 engine-spark/pom.xml   | 2 +-
 jdbc/pom.xml   | 2 +-
 kylin-it/pom.xml   | 2 +-
 metrics-reporter-hive/pom.xml  | 2 +-
 metrics-reporter-kafka/pom.xml | 2 +-
 pom.xml| 4 ++--
 query/pom.xml  | 2 +-
 server-base/pom.xml| 2 +-
 server/pom.xml | 2 +-
 source-hive/pom.xml| 2 +-
 source-kafka/pom.xml   | 2 +-
 storage-hbase/pom.xml  | 2 +-
 tomcat-ext/pom.xml | 2 +-
 tool-assembly/pom.xml  | 2 +-
 tool/pom.xml   | 2 +-
 25 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/assembly/pom.xml b/assembly/pom.xml
index ed844b8..ae66563 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -26,7 +26,7 @@
 
 kylin
 org.apache.kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index ee02102..bb21d28 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-common/pom.xml b/core-common/pom.xml
index e8c97bf..69ee687 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-cube/pom.xml b/core-cube/pom.xml
index 44862b7..3247877 100644
--- a/core-cube/pom.xml
+++ b/core-cube/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-dictionary/pom.xml b/core-dictionary/pom.xml
index eace273..5267b49 100644
--- a/core-dictionary/pom.xml
+++ b/core-dictionary/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-job/pom.xml b/core-job/pom.xml
index 6acf567..51f5664 100644
--- a/core-job/pom.xml
+++ b/core-job/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-metadata/pom.xml b/core-metadata/pom.xml
index 6e10448..7845a4b 100644
--- a/core-metadata/pom.xml
+++ b/core-metadata/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-metrics/pom.xml b/core-metrics/pom.xml
index c049586..a0cd237 100644
--- a/core-metrics/pom.xml
+++ b/core-metrics/pom.xml
@@ -28,7 +28,7 @@
 
 kylin
 org.apache.kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-storage/pom.xml b/core-storage/pom.xml
index d2f8e6c..647c925 100644
--- a/core-storage/pom.xml
+++ b/core-storage/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/engine-mr/pom.xml b/engine-mr/pom.xml
index 4f7429e..c0b87b0 100644
--- a/engine-mr/pom.xml
+++ b/engine-mr/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/engine-spark/pom.xml b/engine-spark/pom.xml
index 788ab51..c5f4f8a 100644
--- a/engine-spark/pom.xml
+++ b/engine-spark/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 8eb8f67..51b955a 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/kylin-it/pom.xml b/kylin-it/pom.xml
index aac6b5b..e52af7d 100644
--- a/kylin-it/pom.xml
+++ b/kylin-it/pom.xml
@@ -29,7 +29,7 @@
 
 kylin
 org.apache.kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/metrics-reporter-hive/pom.xml b/metrics-reporter-hive/pom.xml
index b56b58c..f71bbd0 100644
--- a/metrics-reporter-hive/pom.xml

[kylin] branch v2.3.2-release updated: [maven-release-plugin] prepare release kylin-2.3.2

2018-06-26 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch v2.3.2-release
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/v2.3.2-release by this push:
 new 8247ffc  [maven-release-plugin] prepare release kylin-2.3.2
8247ffc is described below

commit 8247ffc2d8a8a20381575389ffb3834d784ad4ce
Author: kangkaisen 
AuthorDate: Wed Jun 27 12:21:21 2018 +0800

[maven-release-plugin] prepare release kylin-2.3.2
---
 assembly/pom.xml   | 2 +-
 atopcalcite/pom.xml| 2 +-
 core-common/pom.xml| 2 +-
 core-cube/pom.xml  | 2 +-
 core-dictionary/pom.xml| 2 +-
 core-job/pom.xml   | 2 +-
 core-metadata/pom.xml  | 2 +-
 core-metrics/pom.xml   | 2 +-
 core-storage/pom.xml   | 2 +-
 engine-mr/pom.xml  | 2 +-
 engine-spark/pom.xml   | 2 +-
 jdbc/pom.xml   | 2 +-
 kylin-it/pom.xml   | 2 +-
 metrics-reporter-hive/pom.xml  | 2 +-
 metrics-reporter-kafka/pom.xml | 2 +-
 pom.xml| 4 ++--
 query/pom.xml  | 2 +-
 server-base/pom.xml| 2 +-
 server/pom.xml | 2 +-
 source-hive/pom.xml| 2 +-
 source-kafka/pom.xml   | 2 +-
 storage-hbase/pom.xml  | 2 +-
 tomcat-ext/pom.xml | 2 +-
 tool-assembly/pom.xml  | 2 +-
 tool/pom.xml   | 2 +-
 25 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/assembly/pom.xml b/assembly/pom.xml
index 977ca73..ed844b8 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -26,7 +26,7 @@
 
 kylin
 org.apache.kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index cb76178..ee02102 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-common/pom.xml b/core-common/pom.xml
index 8dca01f..e8c97bf 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-cube/pom.xml b/core-cube/pom.xml
index 77996b6..44862b7 100644
--- a/core-cube/pom.xml
+++ b/core-cube/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-dictionary/pom.xml b/core-dictionary/pom.xml
index e6d5a10..eace273 100644
--- a/core-dictionary/pom.xml
+++ b/core-dictionary/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-job/pom.xml b/core-job/pom.xml
index 1db4215..6acf567 100644
--- a/core-job/pom.xml
+++ b/core-job/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-metadata/pom.xml b/core-metadata/pom.xml
index 35b7486..6e10448 100644
--- a/core-metadata/pom.xml
+++ b/core-metadata/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-metrics/pom.xml b/core-metrics/pom.xml
index bd1713f..c049586 100644
--- a/core-metrics/pom.xml
+++ b/core-metrics/pom.xml
@@ -28,7 +28,7 @@
 
 kylin
 org.apache.kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-storage/pom.xml b/core-storage/pom.xml
index 54cc786..d2f8e6c 100644
--- a/core-storage/pom.xml
+++ b/core-storage/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/engine-mr/pom.xml b/engine-mr/pom.xml
index e5236ee..4f7429e 100644
--- a/engine-mr/pom.xml
+++ b/engine-mr/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/engine-spark/pom.xml b/engine-spark/pom.xml
index d11fd3c..788ab51 100644
--- a/engine-spark/pom.xml
+++ b/engine-spark/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index ae9d335..8eb8f67 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/kylin-it/pom.xml b/kylin-it/pom.xml
index 9ed4efe..aac6b5b 100644
--- a/kylin-it/pom.xml
+++ b/kylin-it/pom.xml
@@ -29,7 +29,7 @@
 
 kylin
 org.apache.kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/metrics-reporter-hive/pom.xml b/metrics-reporter-hive/pom.xml
index 7f3b0e3..b56b58c 100644
--- a/metrics-reporter-hive/pom.xml
+++ b/metrics-reporter

[kylin] branch v2.3.2-release updated (62d93f5 -> 593b375)

2018-06-26 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to branch v2.3.2-release
in repository https://gitbox.apache.org/repos/asf/kylin.git.


 discard 62d93f5  [maven-release-plugin] prepare release kylin-2.3.2
 discard f7aa9d6  [maven-release-plugin] prepare for next development iteration
 discard 7d9c001  [maven-release-plugin] prepare release kylin-2.3.2
 discard 3b61943  [maven-release-plugin] prepare for next development iteration
 discard 7b7ed28  [maven-release-plugin] prepare release v2.3.2-release

This update removed existing revisions from the reference, leaving the
reference pointing at a previous point in the repository history.

 * -- * -- N   refs/heads/v2.3.2-release (593b375)
\
 O -- O -- O   (62d93f5)

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 assembly/pom.xml   | 2 +-
 atopcalcite/pom.xml| 2 +-
 core-common/pom.xml| 2 +-
 core-cube/pom.xml  | 2 +-
 core-dictionary/pom.xml| 2 +-
 core-job/pom.xml   | 2 +-
 core-metadata/pom.xml  | 2 +-
 core-metrics/pom.xml   | 2 +-
 core-storage/pom.xml   | 2 +-
 engine-mr/pom.xml  | 2 +-
 engine-spark/pom.xml   | 2 +-
 jdbc/pom.xml   | 2 +-
 kylin-it/pom.xml   | 2 +-
 metrics-reporter-hive/pom.xml  | 2 +-
 metrics-reporter-kafka/pom.xml | 2 +-
 pom.xml| 4 ++--
 query/pom.xml  | 2 +-
 server-base/pom.xml| 2 +-
 server/pom.xml | 2 +-
 source-hive/pom.xml| 2 +-
 source-kafka/pom.xml   | 2 +-
 storage-hbase/pom.xml  | 2 +-
 tomcat-ext/pom.xml | 2 +-
 tool-assembly/pom.xml  | 2 +-
 tool/pom.xml   | 2 +-
 25 files changed, 26 insertions(+), 26 deletions(-)



[kylin] annotated tag kylin-2.3.2 deleted (was bc52092)

2018-06-26 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to annotated tag kylin-2.3.2
in repository https://gitbox.apache.org/repos/asf/kylin.git.


*** WARNING: tag kylin-2.3.2 was deleted! ***

   tag was  bc52092

The revisions that were on this annotated tag are still contained in
other references; therefore, this change does not discard any commits
from the repository.



[kylin] annotated tag kylin-2.3.2 updated (62d93f5 -> bc52092)

2018-06-25 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to annotated tag kylin-2.3.2
in repository https://gitbox.apache.org/repos/asf/kylin.git.


*** WARNING: tag kylin-2.3.2 was modified! ***

from 62d93f5  (commit)
  to bc52092  (tag)
 tagging 62d93f5fa67452c7aa0ef0e7340f425c3d3c59f7 (commit)
 replaces kylin-2.3.1
  by kangkaisen
  on Tue Jun 26 14:21:06 2018 +0800

- Log -
[maven-release-plugin] copy for tag kylin-2.3.2
---


No new revisions were added by this update.

Summary of changes:



[kylin] branch v2.3.2-release updated: [maven-release-plugin] prepare release kylin-2.3.2

2018-06-25 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch v2.3.2-release
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/v2.3.2-release by this push:
 new 62d93f5  [maven-release-plugin] prepare release kylin-2.3.2
62d93f5 is described below

commit 62d93f5fa67452c7aa0ef0e7340f425c3d3c59f7
Author: kangkaisen 
AuthorDate: Tue Jun 26 14:20:48 2018 +0800

[maven-release-plugin] prepare release kylin-2.3.2
---
 assembly/pom.xml   | 2 +-
 atopcalcite/pom.xml| 2 +-
 core-common/pom.xml| 2 +-
 core-cube/pom.xml  | 2 +-
 core-dictionary/pom.xml| 2 +-
 core-job/pom.xml   | 2 +-
 core-metadata/pom.xml  | 2 +-
 core-metrics/pom.xml   | 2 +-
 core-storage/pom.xml   | 2 +-
 engine-mr/pom.xml  | 2 +-
 engine-spark/pom.xml   | 2 +-
 jdbc/pom.xml   | 2 +-
 kylin-it/pom.xml   | 2 +-
 metrics-reporter-hive/pom.xml  | 2 +-
 metrics-reporter-kafka/pom.xml | 2 +-
 pom.xml| 4 ++--
 query/pom.xml  | 2 +-
 server-base/pom.xml| 2 +-
 server/pom.xml | 2 +-
 source-hive/pom.xml| 2 +-
 source-kafka/pom.xml   | 2 +-
 storage-hbase/pom.xml  | 2 +-
 tomcat-ext/pom.xml | 2 +-
 tool-assembly/pom.xml  | 2 +-
 tool/pom.xml   | 2 +-
 25 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/assembly/pom.xml b/assembly/pom.xml
index ae66563..ed844b8 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -26,7 +26,7 @@
 
 kylin
 org.apache.kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index bb21d28..ee02102 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-common/pom.xml b/core-common/pom.xml
index 69ee687..e8c97bf 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-cube/pom.xml b/core-cube/pom.xml
index 3247877..44862b7 100644
--- a/core-cube/pom.xml
+++ b/core-cube/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-dictionary/pom.xml b/core-dictionary/pom.xml
index 5267b49..eace273 100644
--- a/core-dictionary/pom.xml
+++ b/core-dictionary/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-job/pom.xml b/core-job/pom.xml
index 51f5664..6acf567 100644
--- a/core-job/pom.xml
+++ b/core-job/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-metadata/pom.xml b/core-metadata/pom.xml
index 7845a4b..6e10448 100644
--- a/core-metadata/pom.xml
+++ b/core-metadata/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-metrics/pom.xml b/core-metrics/pom.xml
index a0cd237..c049586 100644
--- a/core-metrics/pom.xml
+++ b/core-metrics/pom.xml
@@ -28,7 +28,7 @@
 
 kylin
 org.apache.kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-storage/pom.xml b/core-storage/pom.xml
index 647c925..d2f8e6c 100644
--- a/core-storage/pom.xml
+++ b/core-storage/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/engine-mr/pom.xml b/engine-mr/pom.xml
index c0b87b0..4f7429e 100644
--- a/engine-mr/pom.xml
+++ b/engine-mr/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/engine-spark/pom.xml b/engine-spark/pom.xml
index c5f4f8a..788ab51 100644
--- a/engine-spark/pom.xml
+++ b/engine-spark/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 51b955a..8eb8f67 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/kylin-it/pom.xml b/kylin-it/pom.xml
index e52af7d..aac6b5b 100644
--- a/kylin-it/pom.xml
+++ b/kylin-it/pom.xml
@@ -29,7 +29,7 @@
 
 kylin
 org.apache.kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/metrics-reporter-hive/pom.xml b/metrics-reporter-hive/pom.xml
index f71bbd0..b56b58c 100644
--- a/metrics-reporter-hive/pom.xml
+++ b/metrics-reporter

[kylin] annotated tag kylin-2.3.2 deleted (was 9b9885d)

2018-06-25 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to annotated tag kylin-2.3.2
in repository https://gitbox.apache.org/repos/asf/kylin.git.


*** WARNING: tag kylin-2.3.2 was deleted! ***

   tag was  9b9885d

The revisions that were on this annotated tag are still contained in
other references; therefore, this change does not discard any commits
from the repository.



[kylin] branch master updated: KYLIN-3425 update Kaisen Kang public keys to KEYS

2018-06-25 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
 new a0595c0  KYLIN-3425 update Kaisen Kang public keys to KEYS
a0595c0 is described below

commit a0595c07ebfcade52f10e9ac134fa3e330fc57da
Author: kangkaisen 
AuthorDate: Mon Jun 25 15:07:18 2018 +0800

KYLIN-3425 update Kaisen Kang public keys to KEYS
---
 KEYS | 59 +++
 1 file changed, 59 insertions(+)

diff --git a/KEYS b/KEYS
index c3539ca..abee492 100644
--- a/KEYS
+++ b/KEYS
@@ -361,3 +361,62 @@ 
gufAx6TUUQp+JAjVbPom8UkOo2ypuG9w2Hrz4tcAp1DpCkv6Pv4dbHAhaPn3qs8D
 Ygg7DIuR/Ab6IgbzOnw=
 =4WOu
 -END PGP PUBLIC KEY BLOCK-
+pub   rsa4096 2018-06-20 [SC] [有效至:2020-06-19]
+  78126E144D6D0D32CA64322AFA888B1EBC3A24A6
+uid   [ 绝对 ] kangkaisen (apache) 
+sig 3FA888B1EBC3A24A6 2018-06-20  kangkaisen (apache) 

+sub   rsa4096 2018-06-20 [E] [有效至:2020-06-19]
+sig  FA888B1EBC3A24A6 2018-06-20  kangkaisen (apache) 

+
+-BEGIN PGP PUBLIC KEY BLOCK-
+
+mQINBFsqNbMBEADVQZZl67BJ7DnlGftQLvJrX9Ta0Ci6cJBqniX2sWULa+mpyAwl
+zQJ4cwlhLBIvIReAS03ow0krNj6yNp/KfXIapSwvtpf9dLn8imAFIhkZ4PXNKamn
+g5r42a30w2ItesIDNKqNATgRhRPTCJfI7D9mHR3fUn+MxeDJcpQDxJgWJjxHeEMi
+p+CAX4SwiqPL0kOC82P3ofN1myBLX7WHWcmRBucvJTgVgX20d6qjjZhyNSb1uc1U
+4FBDYcDtAeffH2tUkm7eYttLqOeSUrMhC13AXuEGg2Ptw2JmuWqb442osVhqZCD6
+jeeivZnFroq87a08ezU01JyoL7fe750f5Ec4Qz6lT9h3bGMSSNhISVEfwEnp53MN
+LcByCrNbnnXWL+qjL7Gfa6CFS9j9ZlyL2L0RCJZWFvZgDG38aLe02EtGrDimeVkK
+gexciEw3MqK1uP0T1+n3g01Lujio/hflF7HvqDO3lo6hl8ygNyenWMYys40w6WPP
+RxZbqG+A0V0nkSEMY8rgdI1U/FgcAt9oMBUD4B9JA4PpNZkJg1DAGABzLYFuxiJ9
+V5y8UiotVcuV2yrWje8Bwo1j95q2m14OpnYs+G+rrbEF1ya4eFlCJ2ThwH9UiZTo
+4xY5t7DjgwnCEEyxGhjoQJ9Xc9TfhaXl5dRKncnJzJFu8QiMpG4y6S/cbQARAQAB
+tCtrYW5na2Fpc2VuIChhcGFjaGUpIDxrYW5na2Fpc2VuQGFwYWNoZS5vcmc+iQJU
+BBMBCAA+FiEEeBJuFE1tDTLKZDIq+oiLHrw6JKYFAlsqNbMCGwMFCQPCZwAFCwkI
+BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ+oiLHrw6JKaMYQ/+OL7dDP2WFeUd+9ev
+khFXUtPuoGrpHqmW09/TRBFAL1+yjSB/lYgjg/vP4z+Dw1E/DiIBiFEW0BOwas9/
+59fu7dWmyi/wySZPYLCkAip4s2J+qedB9a67NLV67OyD50hHoRlF9U2WV+Rx4HW+
+JurfKo1UvPtTezQMArXsfJFBQkw0PEyeV+QnQAlHRgJDNDzondYs75nYbfigzrZu
+5A+tQTfa889fP+dhd/HyLndqtra3OWIxH+CIxaj7MzVn0mUdFS4hTt0eDGaJ7hXr
+vazy58WvPaB9AO4it2/51+iHFVUuoXMdzsNXAFE/RNGKzLq6W+Jy4gfb1k8geo8v
+fgxl7M30bmq2Jpd9yug87FCVsvBXsjuxhwUB3wkBN9nRpzWUQ/h2Pkru/iKWpXpT
+YnLHWq5MPzPQJdYp1b51FxMUWDaSvmMxP54/tLzJo1bQ9lNg5LqByqMoaRtdE2jS
+dZxtCmzlqmrQysWNFjttdBt6JdsZf/r880O+F3/srCcdC+LLrSOfArkDJ98Mzai8
+cE1OxsF3BtoHnrEe/iMUpxsuNr6SyYoCknChSuiL0XSh1BeLSmCXw1kRjJI8gWmF
+BsTgwGIDiSaarPndnYAlow5m/cMseMxjABGdmlmLRsFTaR/nO2zGd2Yk8wZBa9tF
+jdS7EbuKiSzXPK5aQQHq9bBtChy5Ag0EWyo1swEQAJ0GZKiMMbi9UEFMolp0zolt
+wAUOnZEIPlqwWnoiTTAggNWo1V1NVyMsolROdnnzw7aQCh6gfK3Vh+2xyPzIvWqC
+mL6r6bzFnM7jyK32+SebQUi6/sPGPmMpfanxCLI0H3VZh8MEmInHaW+JkIQ2EECi
+lk8p975YVUe30X+gUH1hNjTjzlnTaI1e/F+A2ekJAn72TYXAWoT0EPjfOq+SsENa
+kpqI5b3ktXyI6Mh+Bag+9s6yIjNUTzK0WaBOFXfk2t+Ieejr+qPRO5K8FPcnNWJ3
+uKbgNHLB8wk5E/orctjTvwcv6m6SQ3Kz8AGjYvJyb6vGzal54iNDID5dP5Yr/HwR
+JCyLPLvzfvMaNWT1PwzFBvoDLvc+vCYPf27YESMdrk9Tm/btkeLVYEqiNvZYzoep
+sqsIPM1QVOA9hNFSu/EVu0WrjXsh+2iE4pSe0sGU1XY/tJAjmljGHt3dgq27wtZQ
+QP2QJugCu/Akegfh/MZLcseVZTn08YjrSVsmUEOOqe36El4e6OAmDnZvFBminw3i
+NjxHZVIFXyRz+9LDeNJ81/NcIWQ7rKGeTBrjulHF5J3AhopJvKcejUvO8x4P+tYM
+gDNUqB2/nzIAL04d960fsxcqae/ovhAAtcCJQWV/XAuPRXlx0Alafo4MVQ6KyfXO
+9NgzLFodJ9G5j7AiyEAJABEBAAGJAjwEGAEIACYWIQR4Em4UTW0NMspkMir6iIse
+vDokpgUCWyo1swIbDAUJA8JnAAAKCRD6iIsevDokptrTEACB5tKQYaBGdPCq8+y9
+44PYRjHZhMwK9a7Mr5Wa7A1DOWgTFwFMRz1IbmLwrUaJRT3bAIvd8btY/pOaZkHa
+lP5QaI5k7CCV+fD0e6HMQCX9Bzra2BF4z/z1Z+bY/zfGKMGjmszHg25pQALco5ch
+YFv3US/vIYy9FsYR6oLyqA8H9QihkqRd0nCUc1ZLqERMZhf3S9LrJqoCsFRpPaVP
+I6fWJXvh3PH7ILPo+P1nM/ntNruJWXb50jJGgMPaAduBdW4YD+z/3ft+hnyZQBVA
+cORe8A+JLtyw43fSI0lzxpdJ8Gu9GsKl3zhR9rucKLIOALb5wxWuyUHoTpb6/2sp
+6Zu8Ve1u7LjQq0qx0WrV2DNg0yyLLgXGKFPcNttFtur2jafy4lqqxT92fjXqPGpg
+db9Z5EtcXfIxlMpN2s6VT5kPLz19kfMOJtjRbaRJr6/+bSkgevY9iLx5x+JJQGRO
+OEsej0kYZq0NzK2i0r/zC4hcCE5K2v2fhqqPXmgL1yOgaj+N05wImYal6Sjotc1W
+TD/sjPXP1Mk/fRHrdm4nIFtu9T6BGhU49IfSg2PT3zEIi0tSggoOX8HYf261vWIC
+GQ0EWghaKAvZFiq8+A9mTWrAQxXT+UKcFx7S9ZdDM5kE5ORJiftiuJOGIeYOjuRB
+OdzEAbRO1ZpZZ82/yhRecYqxOw==
+=6AF1
+-END PGP PUBLIC KEY BLOCK-



svn commit: r27703 - /dev/kylin/KEYS

2018-06-24 Thread kangkaisen
Author: kangkaisen
Date: Mon Jun 25 03:09:56 2018
New Revision: 27703

Log:
Update KEYS for kangkaisen

Modified:
dev/kylin/KEYS

Modified: dev/kylin/KEYS
==
--- dev/kylin/KEYS (original)
+++ dev/kylin/KEYS Mon Jun 25 03:09:56 2018
@@ -362,3 +362,62 @@ gufAx6TUUQp+JAjVbPom8UkOo2ypuG9w2Hrz4tcA
 Ygg7DIuR/Ab6IgbzOnw=
 =4WOu
 -END PGP PUBLIC KEY BLOCK-
+pub   rsa4096 2018-06-20 [SC] [有效至:2020-06-19]
+  78126E144D6D0D32CA64322AFA888B1EBC3A24A6
+uid   [ 绝对 ] kangkaisen (apache) 
+sig 3FA888B1EBC3A24A6 2018-06-20  kangkaisen (apache) 

+sub   rsa4096 2018-06-20 [E] [有效至:2020-06-19]
+sig  FA888B1EBC3A24A6 2018-06-20  kangkaisen (apache) 

+
+-BEGIN PGP PUBLIC KEY BLOCK-
+
+mQINBFsqNbMBEADVQZZl67BJ7DnlGftQLvJrX9Ta0Ci6cJBqniX2sWULa+mpyAwl
+zQJ4cwlhLBIvIReAS03ow0krNj6yNp/KfXIapSwvtpf9dLn8imAFIhkZ4PXNKamn
+g5r42a30w2ItesIDNKqNATgRhRPTCJfI7D9mHR3fUn+MxeDJcpQDxJgWJjxHeEMi
+p+CAX4SwiqPL0kOC82P3ofN1myBLX7WHWcmRBucvJTgVgX20d6qjjZhyNSb1uc1U
+4FBDYcDtAeffH2tUkm7eYttLqOeSUrMhC13AXuEGg2Ptw2JmuWqb442osVhqZCD6
+jeeivZnFroq87a08ezU01JyoL7fe750f5Ec4Qz6lT9h3bGMSSNhISVEfwEnp53MN
+LcByCrNbnnXWL+qjL7Gfa6CFS9j9ZlyL2L0RCJZWFvZgDG38aLe02EtGrDimeVkK
+gexciEw3MqK1uP0T1+n3g01Lujio/hflF7HvqDO3lo6hl8ygNyenWMYys40w6WPP
+RxZbqG+A0V0nkSEMY8rgdI1U/FgcAt9oMBUD4B9JA4PpNZkJg1DAGABzLYFuxiJ9
+V5y8UiotVcuV2yrWje8Bwo1j95q2m14OpnYs+G+rrbEF1ya4eFlCJ2ThwH9UiZTo
+4xY5t7DjgwnCEEyxGhjoQJ9Xc9TfhaXl5dRKncnJzJFu8QiMpG4y6S/cbQARAQAB
+tCtrYW5na2Fpc2VuIChhcGFjaGUpIDxrYW5na2Fpc2VuQGFwYWNoZS5vcmc+iQJU
+BBMBCAA+FiEEeBJuFE1tDTLKZDIq+oiLHrw6JKYFAlsqNbMCGwMFCQPCZwAFCwkI
+BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ+oiLHrw6JKaMYQ/+OL7dDP2WFeUd+9ev
+khFXUtPuoGrpHqmW09/TRBFAL1+yjSB/lYgjg/vP4z+Dw1E/DiIBiFEW0BOwas9/
+59fu7dWmyi/wySZPYLCkAip4s2J+qedB9a67NLV67OyD50hHoRlF9U2WV+Rx4HW+
+JurfKo1UvPtTezQMArXsfJFBQkw0PEyeV+QnQAlHRgJDNDzondYs75nYbfigzrZu
+5A+tQTfa889fP+dhd/HyLndqtra3OWIxH+CIxaj7MzVn0mUdFS4hTt0eDGaJ7hXr
+vazy58WvPaB9AO4it2/51+iHFVUuoXMdzsNXAFE/RNGKzLq6W+Jy4gfb1k8geo8v
+fgxl7M30bmq2Jpd9yug87FCVsvBXsjuxhwUB3wkBN9nRpzWUQ/h2Pkru/iKWpXpT
+YnLHWq5MPzPQJdYp1b51FxMUWDaSvmMxP54/tLzJo1bQ9lNg5LqByqMoaRtdE2jS
+dZxtCmzlqmrQysWNFjttdBt6JdsZf/r880O+F3/srCcdC+LLrSOfArkDJ98Mzai8
+cE1OxsF3BtoHnrEe/iMUpxsuNr6SyYoCknChSuiL0XSh1BeLSmCXw1kRjJI8gWmF
+BsTgwGIDiSaarPndnYAlow5m/cMseMxjABGdmlmLRsFTaR/nO2zGd2Yk8wZBa9tF
+jdS7EbuKiSzXPK5aQQHq9bBtChy5Ag0EWyo1swEQAJ0GZKiMMbi9UEFMolp0zolt
+wAUOnZEIPlqwWnoiTTAggNWo1V1NVyMsolROdnnzw7aQCh6gfK3Vh+2xyPzIvWqC
+mL6r6bzFnM7jyK32+SebQUi6/sPGPmMpfanxCLI0H3VZh8MEmInHaW+JkIQ2EECi
+lk8p975YVUe30X+gUH1hNjTjzlnTaI1e/F+A2ekJAn72TYXAWoT0EPjfOq+SsENa
+kpqI5b3ktXyI6Mh+Bag+9s6yIjNUTzK0WaBOFXfk2t+Ieejr+qPRO5K8FPcnNWJ3
+uKbgNHLB8wk5E/orctjTvwcv6m6SQ3Kz8AGjYvJyb6vGzal54iNDID5dP5Yr/HwR
+JCyLPLvzfvMaNWT1PwzFBvoDLvc+vCYPf27YESMdrk9Tm/btkeLVYEqiNvZYzoep
+sqsIPM1QVOA9hNFSu/EVu0WrjXsh+2iE4pSe0sGU1XY/tJAjmljGHt3dgq27wtZQ
+QP2QJugCu/Akegfh/MZLcseVZTn08YjrSVsmUEOOqe36El4e6OAmDnZvFBminw3i
+NjxHZVIFXyRz+9LDeNJ81/NcIWQ7rKGeTBrjulHF5J3AhopJvKcejUvO8x4P+tYM
+gDNUqB2/nzIAL04d960fsxcqae/ovhAAtcCJQWV/XAuPRXlx0Alafo4MVQ6KyfXO
+9NgzLFodJ9G5j7AiyEAJABEBAAGJAjwEGAEIACYWIQR4Em4UTW0NMspkMir6iIse
+vDokpgUCWyo1swIbDAUJA8JnAAAKCRD6iIsevDokptrTEACB5tKQYaBGdPCq8+y9
+44PYRjHZhMwK9a7Mr5Wa7A1DOWgTFwFMRz1IbmLwrUaJRT3bAIvd8btY/pOaZkHa
+lP5QaI5k7CCV+fD0e6HMQCX9Bzra2BF4z/z1Z+bY/zfGKMGjmszHg25pQALco5ch
+YFv3US/vIYy9FsYR6oLyqA8H9QihkqRd0nCUc1ZLqERMZhf3S9LrJqoCsFRpPaVP
+I6fWJXvh3PH7ILPo+P1nM/ntNruJWXb50jJGgMPaAduBdW4YD+z/3ft+hnyZQBVA
+cORe8A+JLtyw43fSI0lzxpdJ8Gu9GsKl3zhR9rucKLIOALb5wxWuyUHoTpb6/2sp
+6Zu8Ve1u7LjQq0qx0WrV2DNg0yyLLgXGKFPcNttFtur2jafy4lqqxT92fjXqPGpg
+db9Z5EtcXfIxlMpN2s6VT5kPLz19kfMOJtjRbaRJr6/+bSkgevY9iLx5x+JJQGRO
+OEsej0kYZq0NzK2i0r/zC4hcCE5K2v2fhqqPXmgL1yOgaj+N05wImYal6Sjotc1W
+TD/sjPXP1Mk/fRHrdm4nIFtu9T6BGhU49IfSg2PT3zEIi0tSggoOX8HYf261vWIC
+GQ0EWghaKAvZFiq8+A9mTWrAQxXT+UKcFx7S9ZdDM5kE5ORJiftiuJOGIeYOjuRB
+OdzEAbRO1ZpZZ82/yhRecYqxOw==
+=6AF1
+-END PGP PUBLIC KEY BLOCK-




svn commit: r27702 - /dev/kylin/apache-kylin-2.3.2-rc1/

2018-06-24 Thread kangkaisen
Author: kangkaisen
Date: Mon Jun 25 02:54:13 2018
New Revision: 27702

Log:
Upload release artifacts to staging

Added:
dev/kylin/apache-kylin-2.3.2-rc1/
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip   
(with props)
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc

dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc.md5

dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc.sha1
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.md5
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.sha1

Added: dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip
==
Binary file - no diff available.

Propchange: 
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip
--
svn:mime-type = application/octet-stream

Added: 
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc
==
--- dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc 
(added)
+++ dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc 
Mon Jun 25 02:54:13 2018
@@ -0,0 +1,16 @@
+-BEGIN PGP SIGNATURE-
+
+iQIzBAABCgAdFiEEeBJuFE1tDTLKZDIq+oiLHrw6JKYFAlsvg18ACgkQ+oiLHrw6
+JKZIJQ//aaSx1oDvY5Z4sDsbzCS6SYxRo0If5JhB++iwMa1ktGirvcBI0tKqj4Tn
+inksAVknzjZoQnxcmarcNpHhKiC8/1UyYhek2qO8NG3BA11c5QEi0d5U9XW43sRk
+HBQWBxOcWzh074UmcW0QYA1AFnKrgi/6NSLEJP563bbURdLzGzNSG7U+HAwHAV/E
+0Zm7PxdrALuTmIn1MibxdFeU9GcOIdDs+1uIT825Vv/+d2lUjnzWC2PCpGmkKtnI
+QD9bfOqKn6PImh54iCLNF1obY6Ba8uJpj0Su5SGP+adHXm/L3tRgFF+4gKQdwtt2
+46dkQAErpt/3fsz8jPZugfbuyG8H6qu3gmvU5i2p1EWQaVSBenRYIIQmiH7PvOlY
+4fkyrhI2eSVCw0lvInbvVxexwP7pcov+TsMU4TFgEq80JFy/TgMosyowp8HlUG9D
+t9m6qB+gcJrSojEHS7MOwpGnEPeK744zryMiKg/3t4E02gJcuYcLUrBV0OeEiQm9
+tGFixDwyTUie+UP8OoiSnpSlwVKxfblWdsREquZBkw1xNLSyHaFB4DV+oje0gEi6
+oBbA6Rz/z+8HqG9kE/cE8T3xbtUYCnddLZ+muDoLJdB3Nnxb34I/1kTDjZ81eC0C
+TasnTlT/MJ97ahqXd760ApUauYmkJ48NMaDT9Ssom66ZRNT7hKQ=
+=y332
+-END PGP SIGNATURE-

Added: 
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc.md5
==
--- 
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc.md5 
(added)
+++ 
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc.md5 
Mon Jun 25 02:54:13 2018
@@ -0,0 +1 @@
+3d340bcb93d070365be3e711da05564e
\ No newline at end of file

Added: 
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc.sha1
==
--- 
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc.sha1 
(added)
+++ 
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.asc.sha1 
Mon Jun 25 02:54:13 2018
@@ -0,0 +1 @@
+d11b2475ea4a875897342f5b5bbefcc668663bf9
\ No newline at end of file

Added: 
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.md5
==
--- dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.md5 
(added)
+++ dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.md5 
Mon Jun 25 02:54:13 2018
@@ -0,0 +1 @@
+f6babf000e247447840d323838365925
\ No newline at end of file

Added: 
dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.sha1
==
--- dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.sha1 
(added)
+++ dev/kylin/apache-kylin-2.3.2-rc1/apache-kylin-2.3.2-source-release.zip.sha1 
Mon Jun 25 02:54:13 2018
@@ -0,0 +1 @@
+3a7681ad28ecbb6f437a4204bd92d946a5f3daa8
\ No newline at end of file




[kylin] branch v2.3.2-release updated: [maven-release-plugin] prepare for next development iteration

2018-06-24 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch v2.3.2-release
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/v2.3.2-release by this push:
 new f7aa9d6  [maven-release-plugin] prepare for next development iteration
f7aa9d6 is described below

commit f7aa9d6d5e9dc32fda2769bcf88fa519648c803c
Author: kangkaisen 
AuthorDate: Sun Jun 24 19:44:22 2018 +0800

[maven-release-plugin] prepare for next development iteration
---
 assembly/pom.xml   | 2 +-
 atopcalcite/pom.xml| 2 +-
 core-common/pom.xml| 2 +-
 core-cube/pom.xml  | 2 +-
 core-dictionary/pom.xml| 2 +-
 core-job/pom.xml   | 2 +-
 core-metadata/pom.xml  | 2 +-
 core-metrics/pom.xml   | 2 +-
 core-storage/pom.xml   | 2 +-
 engine-mr/pom.xml  | 2 +-
 engine-spark/pom.xml   | 2 +-
 jdbc/pom.xml   | 2 +-
 kylin-it/pom.xml   | 2 +-
 metrics-reporter-hive/pom.xml  | 2 +-
 metrics-reporter-kafka/pom.xml | 2 +-
 pom.xml| 4 ++--
 query/pom.xml  | 2 +-
 server-base/pom.xml| 2 +-
 server/pom.xml | 2 +-
 source-hive/pom.xml| 2 +-
 source-kafka/pom.xml   | 2 +-
 storage-hbase/pom.xml  | 2 +-
 tomcat-ext/pom.xml | 2 +-
 tool-assembly/pom.xml  | 2 +-
 tool/pom.xml   | 2 +-
 25 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/assembly/pom.xml b/assembly/pom.xml
index ed844b8..ae66563 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -26,7 +26,7 @@
 
 kylin
 org.apache.kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index ee02102..bb21d28 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-common/pom.xml b/core-common/pom.xml
index e8c97bf..69ee687 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-cube/pom.xml b/core-cube/pom.xml
index 44862b7..3247877 100644
--- a/core-cube/pom.xml
+++ b/core-cube/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-dictionary/pom.xml b/core-dictionary/pom.xml
index eace273..5267b49 100644
--- a/core-dictionary/pom.xml
+++ b/core-dictionary/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-job/pom.xml b/core-job/pom.xml
index 6acf567..51f5664 100644
--- a/core-job/pom.xml
+++ b/core-job/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-metadata/pom.xml b/core-metadata/pom.xml
index 6e10448..7845a4b 100644
--- a/core-metadata/pom.xml
+++ b/core-metadata/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-metrics/pom.xml b/core-metrics/pom.xml
index c049586..a0cd237 100644
--- a/core-metrics/pom.xml
+++ b/core-metrics/pom.xml
@@ -28,7 +28,7 @@
 
 kylin
 org.apache.kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-storage/pom.xml b/core-storage/pom.xml
index d2f8e6c..647c925 100644
--- a/core-storage/pom.xml
+++ b/core-storage/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/engine-mr/pom.xml b/engine-mr/pom.xml
index 4f7429e..c0b87b0 100644
--- a/engine-mr/pom.xml
+++ b/engine-mr/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/engine-spark/pom.xml b/engine-spark/pom.xml
index 788ab51..c5f4f8a 100644
--- a/engine-spark/pom.xml
+++ b/engine-spark/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 8eb8f67..51b955a 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/kylin-it/pom.xml b/kylin-it/pom.xml
index aac6b5b..e52af7d 100644
--- a/kylin-it/pom.xml
+++ b/kylin-it/pom.xml
@@ -29,7 +29,7 @@
 
 kylin
 org.apache.kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/metrics-reporter-hive/pom.xml b/metrics-reporter-hive/pom.xml
index b56b58c..f71bbd0 100644
--- a/metrics-reporter-hive/pom.xml

[kylin] annotated tag kylin-2.3.2 updated (7d9c001 -> 9b9885d)

2018-06-24 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to annotated tag kylin-2.3.2
in repository https://gitbox.apache.org/repos/asf/kylin.git.


*** WARNING: tag kylin-2.3.2 was modified! ***

from 7d9c001  (commit)
  to 9b9885d  (tag)
 tagging 7d9c001fa9332470f0ba9ac91c2fb9a4b0891651 (commit)
 replaces kylin-2.3.1
  by kangkaisen
  on Sun Jun 24 19:44:16 2018 +0800

- Log -
[maven-release-plugin] copy for tag kylin-2.3.2
---


No new revisions were added by this update.

Summary of changes:



[kylin] branch v2.3.2-release updated: [maven-release-plugin] prepare release kylin-2.3.2

2018-06-24 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch v2.3.2-release
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/v2.3.2-release by this push:
 new 7d9c001  [maven-release-plugin] prepare release kylin-2.3.2
7d9c001 is described below

commit 7d9c001fa9332470f0ba9ac91c2fb9a4b0891651
Author: kangkaisen 
AuthorDate: Sun Jun 24 19:43:57 2018 +0800

[maven-release-plugin] prepare release kylin-2.3.2
---
 assembly/pom.xml   | 2 +-
 atopcalcite/pom.xml| 2 +-
 core-common/pom.xml| 2 +-
 core-cube/pom.xml  | 2 +-
 core-dictionary/pom.xml| 2 +-
 core-job/pom.xml   | 2 +-
 core-metadata/pom.xml  | 2 +-
 core-metrics/pom.xml   | 2 +-
 core-storage/pom.xml   | 2 +-
 engine-mr/pom.xml  | 2 +-
 engine-spark/pom.xml   | 2 +-
 jdbc/pom.xml   | 2 +-
 kylin-it/pom.xml   | 2 +-
 metrics-reporter-hive/pom.xml  | 2 +-
 metrics-reporter-kafka/pom.xml | 2 +-
 pom.xml| 4 ++--
 query/pom.xml  | 2 +-
 server-base/pom.xml| 2 +-
 server/pom.xml | 2 +-
 source-hive/pom.xml| 2 +-
 source-kafka/pom.xml   | 2 +-
 storage-hbase/pom.xml  | 2 +-
 tomcat-ext/pom.xml | 2 +-
 tool-assembly/pom.xml  | 2 +-
 tool/pom.xml   | 2 +-
 25 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/assembly/pom.xml b/assembly/pom.xml
index ae66563..ed844b8 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -26,7 +26,7 @@
 
 kylin
 org.apache.kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index bb21d28..ee02102 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-common/pom.xml b/core-common/pom.xml
index 69ee687..e8c97bf 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-cube/pom.xml b/core-cube/pom.xml
index 3247877..44862b7 100644
--- a/core-cube/pom.xml
+++ b/core-cube/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-dictionary/pom.xml b/core-dictionary/pom.xml
index 5267b49..eace273 100644
--- a/core-dictionary/pom.xml
+++ b/core-dictionary/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-job/pom.xml b/core-job/pom.xml
index 51f5664..6acf567 100644
--- a/core-job/pom.xml
+++ b/core-job/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-metadata/pom.xml b/core-metadata/pom.xml
index 7845a4b..6e10448 100644
--- a/core-metadata/pom.xml
+++ b/core-metadata/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-metrics/pom.xml b/core-metrics/pom.xml
index a0cd237..c049586 100644
--- a/core-metrics/pom.xml
+++ b/core-metrics/pom.xml
@@ -28,7 +28,7 @@
 
 kylin
 org.apache.kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-storage/pom.xml b/core-storage/pom.xml
index 647c925..d2f8e6c 100644
--- a/core-storage/pom.xml
+++ b/core-storage/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/engine-mr/pom.xml b/engine-mr/pom.xml
index c0b87b0..4f7429e 100644
--- a/engine-mr/pom.xml
+++ b/engine-mr/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/engine-spark/pom.xml b/engine-spark/pom.xml
index c5f4f8a..788ab51 100644
--- a/engine-spark/pom.xml
+++ b/engine-spark/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 51b955a..8eb8f67 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/kylin-it/pom.xml b/kylin-it/pom.xml
index e52af7d..aac6b5b 100644
--- a/kylin-it/pom.xml
+++ b/kylin-it/pom.xml
@@ -29,7 +29,7 @@
 
 kylin
 org.apache.kylin
-2.3.3-SNAPSHOT
+2.3.2
 
 
 
diff --git a/metrics-reporter-hive/pom.xml b/metrics-reporter-hive/pom.xml
index f71bbd0..b56b58c 100644
--- a/metrics-reporter-hive/pom.xml
+++ b/metrics-reporter

[kylin] annotated tag kylin-2.3.2 deleted (was d9d0555)

2018-06-24 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to annotated tag kylin-2.3.2
in repository https://gitbox.apache.org/repos/asf/kylin.git.


*** WARNING: tag kylin-2.3.2 was deleted! ***

   tag was  d9d0555

The revisions that were on this annotated tag are still contained in
other references; therefore, this change does not discard any commits
from the repository.



[kylin] annotated tag kylin-2.3.2 updated (3b61943 -> d9d0555)

2018-06-24 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to annotated tag kylin-2.3.2
in repository https://gitbox.apache.org/repos/asf/kylin.git.


*** WARNING: tag kylin-2.3.2 was modified! ***

from 3b61943  (commit)
  to d9d0555  (tag)
 tagging 3b61943af27e42da8cf5fa5fc13f5332bf54eb7b (commit)
 replaces kylin-2.3.1
  by kangkaisen
  on Sun Jun 24 17:26:16 2018 +0800

- Log -
[maven-release-plugin] copy for tag kylin-2.3.2
---


No new revisions were added by this update.

Summary of changes:



[kylin] annotated tag v2.3.2-release deleted (was 3be3461)

2018-06-24 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to annotated tag v2.3.2-release
in repository https://gitbox.apache.org/repos/asf/kylin.git.


*** WARNING: tag v2.3.2-release was deleted! ***

   tag was  3be3461

The revisions that were on this annotated tag are still contained in
other references; therefore, this change does not discard any commits
from the repository.



[kylin] annotated tag v2.3.2-release updated (7b7ed28 -> 3be3461)

2018-06-24 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a change to annotated tag v2.3.2-release
in repository https://gitbox.apache.org/repos/asf/kylin.git.


*** WARNING: tag v2.3.2-release was modified! ***

from 7b7ed28  (commit)
  to 3be3461  (tag)
 tagging 7b7ed289cc5d0766e782a17b0fea263328f2e2c3 (commit)
 replaces kylin-2.3.1
  by kangkaisen
  on Sun Jun 24 16:54:43 2018 +0800

- Log -
[maven-release-plugin] copy for tag v2.3.2-release
---


No new revisions were added by this update.

Summary of changes:



[kylin] branch v2.3.2-release updated: [maven-release-plugin] prepare for next development iteration

2018-06-24 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch v2.3.2-release
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/v2.3.2-release by this push:
 new 3b61943  [maven-release-plugin] prepare for next development iteration
3b61943 is described below

commit 3b61943af27e42da8cf5fa5fc13f5332bf54eb7b
Author: kangkaisen 
AuthorDate: Sun Jun 24 16:54:49 2018 +0800

[maven-release-plugin] prepare for next development iteration
---
 assembly/pom.xml   | 2 +-
 atopcalcite/pom.xml| 2 +-
 core-common/pom.xml| 2 +-
 core-cube/pom.xml  | 2 +-
 core-dictionary/pom.xml| 2 +-
 core-job/pom.xml   | 2 +-
 core-metadata/pom.xml  | 2 +-
 core-metrics/pom.xml   | 2 +-
 core-storage/pom.xml   | 2 +-
 engine-mr/pom.xml  | 2 +-
 engine-spark/pom.xml   | 2 +-
 jdbc/pom.xml   | 2 +-
 kylin-it/pom.xml   | 2 +-
 metrics-reporter-hive/pom.xml  | 2 +-
 metrics-reporter-kafka/pom.xml | 2 +-
 pom.xml| 4 ++--
 query/pom.xml  | 2 +-
 server-base/pom.xml| 2 +-
 server/pom.xml | 2 +-
 source-hive/pom.xml| 2 +-
 source-kafka/pom.xml   | 2 +-
 storage-hbase/pom.xml  | 2 +-
 tomcat-ext/pom.xml | 2 +-
 tool-assembly/pom.xml  | 2 +-
 tool/pom.xml   | 2 +-
 25 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/assembly/pom.xml b/assembly/pom.xml
index ed844b8..ae66563 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -26,7 +26,7 @@
 
 kylin
 org.apache.kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index ee02102..bb21d28 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-common/pom.xml b/core-common/pom.xml
index e8c97bf..69ee687 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-cube/pom.xml b/core-cube/pom.xml
index 44862b7..3247877 100644
--- a/core-cube/pom.xml
+++ b/core-cube/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-dictionary/pom.xml b/core-dictionary/pom.xml
index eace273..5267b49 100644
--- a/core-dictionary/pom.xml
+++ b/core-dictionary/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-job/pom.xml b/core-job/pom.xml
index 6acf567..51f5664 100644
--- a/core-job/pom.xml
+++ b/core-job/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-metadata/pom.xml b/core-metadata/pom.xml
index 6e10448..7845a4b 100644
--- a/core-metadata/pom.xml
+++ b/core-metadata/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-metrics/pom.xml b/core-metrics/pom.xml
index c049586..a0cd237 100644
--- a/core-metrics/pom.xml
+++ b/core-metrics/pom.xml
@@ -28,7 +28,7 @@
 
 kylin
 org.apache.kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/core-storage/pom.xml b/core-storage/pom.xml
index d2f8e6c..647c925 100644
--- a/core-storage/pom.xml
+++ b/core-storage/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/engine-mr/pom.xml b/engine-mr/pom.xml
index 4f7429e..c0b87b0 100644
--- a/engine-mr/pom.xml
+++ b/engine-mr/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/engine-spark/pom.xml b/engine-spark/pom.xml
index 788ab51..c5f4f8a 100644
--- a/engine-spark/pom.xml
+++ b/engine-spark/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 8eb8f67..51b955a 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/kylin-it/pom.xml b/kylin-it/pom.xml
index aac6b5b..e52af7d 100644
--- a/kylin-it/pom.xml
+++ b/kylin-it/pom.xml
@@ -29,7 +29,7 @@
 
 kylin
 org.apache.kylin
-2.3.2
+2.3.3-SNAPSHOT
 
 
 
diff --git a/metrics-reporter-hive/pom.xml b/metrics-reporter-hive/pom.xml
index b56b58c..f71bbd0 100644
--- a/metrics-reporter-hive/pom.xml

[kylin] branch v2.3.2-release updated: [maven-release-plugin] prepare release v2.3.2-release

2018-06-24 Thread kangkaisen
This is an automated email from the ASF dual-hosted git repository.

kangkaisen pushed a commit to branch v2.3.2-release
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/v2.3.2-release by this push:
 new 7b7ed28  [maven-release-plugin] prepare release v2.3.2-release
7b7ed28 is described below

commit 7b7ed289cc5d0766e782a17b0fea263328f2e2c3
Author: kangkaisen 
AuthorDate: Sun Jun 24 16:54:26 2018 +0800

[maven-release-plugin] prepare release v2.3.2-release
---
 assembly/pom.xml   | 2 +-
 atopcalcite/pom.xml| 2 +-
 core-common/pom.xml| 2 +-
 core-cube/pom.xml  | 2 +-
 core-dictionary/pom.xml| 2 +-
 core-job/pom.xml   | 2 +-
 core-metadata/pom.xml  | 2 +-
 core-metrics/pom.xml   | 2 +-
 core-storage/pom.xml   | 2 +-
 engine-mr/pom.xml  | 2 +-
 engine-spark/pom.xml   | 2 +-
 jdbc/pom.xml   | 2 +-
 kylin-it/pom.xml   | 2 +-
 metrics-reporter-hive/pom.xml  | 2 +-
 metrics-reporter-kafka/pom.xml | 2 +-
 pom.xml| 4 ++--
 query/pom.xml  | 2 +-
 server-base/pom.xml| 2 +-
 server/pom.xml | 2 +-
 source-hive/pom.xml| 2 +-
 source-kafka/pom.xml   | 2 +-
 storage-hbase/pom.xml  | 2 +-
 tomcat-ext/pom.xml | 2 +-
 tool-assembly/pom.xml  | 2 +-
 tool/pom.xml   | 2 +-
 25 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/assembly/pom.xml b/assembly/pom.xml
index 977ca73..ed844b8 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -26,7 +26,7 @@
 
 kylin
 org.apache.kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index cb76178..ee02102 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-common/pom.xml b/core-common/pom.xml
index 8dca01f..e8c97bf 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-cube/pom.xml b/core-cube/pom.xml
index 77996b6..44862b7 100644
--- a/core-cube/pom.xml
+++ b/core-cube/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-dictionary/pom.xml b/core-dictionary/pom.xml
index e6d5a10..eace273 100644
--- a/core-dictionary/pom.xml
+++ b/core-dictionary/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-job/pom.xml b/core-job/pom.xml
index 1db4215..6acf567 100644
--- a/core-job/pom.xml
+++ b/core-job/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-metadata/pom.xml b/core-metadata/pom.xml
index 35b7486..6e10448 100644
--- a/core-metadata/pom.xml
+++ b/core-metadata/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-metrics/pom.xml b/core-metrics/pom.xml
index bd1713f..c049586 100644
--- a/core-metrics/pom.xml
+++ b/core-metrics/pom.xml
@@ -28,7 +28,7 @@
 
 kylin
 org.apache.kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/core-storage/pom.xml b/core-storage/pom.xml
index 54cc786..d2f8e6c 100644
--- a/core-storage/pom.xml
+++ b/core-storage/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/engine-mr/pom.xml b/engine-mr/pom.xml
index e5236ee..4f7429e 100644
--- a/engine-mr/pom.xml
+++ b/engine-mr/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/engine-spark/pom.xml b/engine-spark/pom.xml
index d11fd3c..788ab51 100644
--- a/engine-spark/pom.xml
+++ b/engine-spark/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index ae9d335..8eb8f67 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -28,7 +28,7 @@
 
 org.apache.kylin
 kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/kylin-it/pom.xml b/kylin-it/pom.xml
index 9ed4efe..aac6b5b 100644
--- a/kylin-it/pom.xml
+++ b/kylin-it/pom.xml
@@ -29,7 +29,7 @@
 
 kylin
 org.apache.kylin
-2.3.2-SNAPSHOT
+2.3.2
 
 
 
diff --git a/metrics-reporter-hive/pom.xml b/metrics-reporter-hive/pom.xml
index 7f3b0e3..b56b58c 100644
--- a/metrics-reporter-hive/pom.xml
+++ b/metrics

kylin git commit: KYLIN-2672 Add UT

2018-02-09 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2672 b8105db9e -> 0b3938517


KYLIN-2672 Add UT


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

Branch: refs/heads/KYLIN-2672
Commit: 0b393851718a17d3cae470e67e628d69cabf4ad8
Parents: b8105db
Author: kangkaisen 
Authored: Fri Feb 9 15:53:02 2018 +0800
Committer: kangkaisen 
Committed: Fri Feb 9 15:53:56 2018 +0800

--
 .../rest/controller/CacheControllerTest.java| 54 +++-
 1 file changed, 53 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/0b393851/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
--
diff --git 
a/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
 
b/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
index c2e21cc..3466a36 100644
--- 
a/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
+++ 
b/server/src/test/java/org/apache/kylin/rest/controller/CacheControllerTest.java
@@ -19,7 +19,17 @@
 package org.apache.kylin.rest.controller;
 
 import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
 
+import org.apache.kylin.common.KylinConfig;
+import org.apache.kylin.common.persistence.JsonSerializer;
+import org.apache.kylin.common.persistence.Serializer;
+import org.apache.kylin.cube.CubeDescManager;
+import org.apache.kylin.cube.model.CubeDesc;
+import org.apache.kylin.metadata.model.DataModelDesc;
+import org.apache.kylin.metadata.model.TableRef;
+import org.apache.kylin.rest.request.CubeMigrationRequest;
 import org.apache.kylin.rest.service.CacheService;
 import org.apache.kylin.rest.service.ServiceTestBase;
 import org.junit.Before;
@@ -27,6 +37,9 @@ import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
 /**
  * @author shaoshi
  */
@@ -48,7 +61,46 @@ public class CacheControllerTest extends ServiceTestBase {
 
 @Test
 public void testBasics() throws IOException {
-
 cacheController.wipeCache("cube_desc", "drop", 
"test_kylin_cube_with_slr_desc");
 }
+
+@Test
+public void testClearCacheForCubeMigration() throws IOException {
+KylinConfig config = KylinConfig.getInstanceFromEnv();
+String CUBENAME = "test_kylin_cube_without_slr_desc";
+
+CubeDescManager cubeDescManager = CubeDescManager.getInstance(config);
+CubeDesc cubeDesc = cubeDescManager.getCubeDesc(CUBENAME);
+DataModelDesc modelDesc = cubeDesc.getModel();
+Map tableToProjects = new HashMap<>();
+for (TableRef tableRef : modelDesc.getAllTables()) {
+tableToProjects.put(tableRef.getTableIdentity(), 
tableRef.getTableDesc().getProject());
+}
+
+String uuid = cubeDesc.getUuid();
+String signature = cubeDesc.getSignature();
+
+assertEquals(cubeDesc.getRetentionRange(), 0);
+
+//update cubeDesc
+cubeDesc.setRetentionRange(2018);
+cubeDesc.updateRandomUuid();
+
+//directly update metadata in store to simulate cube migration
+Serializer cubeDescSerializer = new 
JsonSerializer(CubeDesc.class);
+getStore().putResource(cubeDesc.getResourcePath(), cubeDesc, 
cubeDescSerializer);
+
+CubeMigrationRequest request = new CubeMigrationRequest();
+request.setCube(cubeDesc.getName());
+request.setModel(modelDesc.getName());
+request.setProject(modelDesc.getProject());
+request.setTableToProjects(tableToProjects);
+
+cacheController.clearCacheForCubeMigration(request);
+
+assertEquals(2018, 
cubeDescManager.getCubeDesc(CUBENAME).getRetentionRange());
+assertEquals(signature, 
cubeDescManager.getCubeDesc(CUBENAME).getSignature());
+assertNotEquals(uuid, cubeDescManager.getCubeDesc(CUBENAME).getUuid());
+}
+
 }



kylin git commit: KYLIN-2999 One click migrate cube in web

2018-01-26 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master 34cbd1813 -> a41a7e7d3


KYLIN-2999 One click migrate cube in web


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

Branch: refs/heads/master
Commit: a41a7e7d3a97197a16360ab41e94d9ee5c77ebc6
Parents: 34cbd18
Author: kangkaisen 
Authored: Tue Dec 5 20:37:08 2017 +0800
Committer: kangkaisen 
Committed: Fri Jan 26 17:28:54 2018 +0800

--
 .../apache/kylin/common/KylinConfigBase.java| 25 +
 .../kylin/rest/controller/CubeController.java   |  7 
 .../apache/kylin/rest/service/CubeService.java  | 39 
 webapp/app/js/controllers/cubes.js  | 33 -
 webapp/app/js/services/cubes.js |  3 +-
 webapp/app/js/services/kylinProperties.js   | 14 ++-
 webapp/app/partials/cubes/cubes.html|  1 +
 7 files changed, 117 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/a41a7e7d/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 cfe6fe2..4c8a3f8 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
@@ -1572,4 +1572,29 @@ abstract public class KylinConfigBase implements 
Serializable {
 return getOptional("kylin.metrics.subject-query-rpc", 
"METRICS_QUERY_RPC") + "_"
 + getKylinMetricsSubjectSuffix();
 }
+
+// 

+// tool
+// 

+public boolean isAllowAutoMigrateCube() {
+return 
Boolean.parseBoolean(getOptional("kylin.tool.auto-migrate-cube.enabled", 
"false"));
+}
+
+public boolean isAutoMigrateCubeCopyAcl() {
+return 
Boolean.parseBoolean(getOptional("kylin.tool.auto-migrate-cube.copy-acl", 
"true"));
+}
+
+public boolean isAutoMigrateCubePurge() {
+return 
Boolean.parseBoolean(getOptional("kylin.tool.auto-migrate-cube.purge-src-cube", 
"true"));
+}
+
+public String getAutoMigrateCubeSrcConfig() {
+return getOptional("kylin.tool.auto-migrate-cube.src-config", "");
+}
+
+public String getAutoMigrateCubeDestConfig() {
+return getOptional("kylin.tool.auto-migrate-cube.dest-config", "");
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/a41a7e7d/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java
index f6c2abf..89c11a8 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java
@@ -1022,6 +1022,13 @@ public class CubeController extends BasicController {
 }
 }
 
+@RequestMapping(value = "/{cube}/{project}/migrate", method = { 
RequestMethod.POST })
+@ResponseBody
+public void migrateCube(@PathVariable String cube, @PathVariable String 
project) {
+CubeInstance cubeInstance = cubeService.getCubeManager().getCube(cube);
+cubeService.migrateCube(cubeInstance, project);
+}
+
 public void setCubeService(CubeService cubeService) {
 this.cubeService = cubeService;
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/a41a7e7d/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java 
b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
index a81d189..154354d 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
@@ -30,6 +30,7 @@ import java.util.Set;
 import org.apache.commons.lang.StringUtils;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common

kylin git commit: KYLIN-3117 Hide project configs in cube level

2017-12-22 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master 018605d64 -> 1d1627a9a


KYLIN-3117 Hide project configs in cube level


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

Branch: refs/heads/master
Commit: 1d1627a9a49b31c0ff96f6c9bc313587e52601c7
Parents: 018605d
Author: kangkaisen 
Authored: Tue Dec 19 12:26:47 2017 +0800
Committer: kangkaisen 
Committed: Fri Dec 22 18:43:00 2017 +0800

--
 .../src/main/java/org/apache/kylin/cube/model/CubeDesc.java| 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/1d1627a9/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 5ff52c1..c4e1ced 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
@@ -596,16 +596,18 @@ public class CubeDesc extends RootPersistentEntity 
implements IEngineAware {
 List ownerPrj = 
ProjectManager.getInstance(config).findProjects(RealizationType.CUBE, name);
 
 // cube inherit the project override props
+LinkedHashMap allOverrideProps = 
Maps.newLinkedHashMap(overrideKylinProps);
+
 if (ownerPrj.size() == 1) {
 Map prjOverrideProps = 
ownerPrj.get(0).getOverrideKylinProps();
 for (Entry entry : prjOverrideProps.entrySet()) {
 if (!overrideKylinProps.containsKey(entry.getKey())) {
-overrideKylinProps.put(entry.getKey(), entry.getValue());
+allOverrideProps.put(entry.getKey(), entry.getValue());
 }
 }
 }
 
-this.config = KylinConfigExt.createInstance(config, 
overrideKylinProps);
+this.config = KylinConfigExt.createInstance(config, allOverrideProps);
 
 checkArgument(this.rowkey.getRowKeyColumns().length <= 
this.config.getCubeRowkeyMaxSize(),
 "Too many rowkeys (%s) in CubeDesc, please try to reduce 
dimension number or adopt derived dimensions",



kylin git commit: KYLIN-3091 Add a test case for IntersectDistinct

2017-12-15 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master 60431f464 -> f0e5e376d


KYLIN-3091 Add a test case for IntersectDistinct


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

Branch: refs/heads/master
Commit: f0e5e376d6466891873514f76c7b34c73c0ea28f
Parents: 60431f4
Author: kangkaisen 
Authored: Fri Dec 15 16:44:45 2017 +0800
Committer: kangkaisen 
Committed: Fri Dec 15 20:29:04 2017 +0800

--
 .../query/sql_intersect_count/query03.sql   | 23 
 1 file changed, 23 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/f0e5e376/kylin-it/src/test/resources/query/sql_intersect_count/query03.sql
--
diff --git a/kylin-it/src/test/resources/query/sql_intersect_count/query03.sql 
b/kylin-it/src/test/resources/query/sql_intersect_count/query03.sql
new file mode 100644
index 000..3cd10b1
--- /dev/null
+++ b/kylin-it/src/test/resources/query/sql_intersect_count/query03.sql
@@ -0,0 +1,23 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements.  See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership.  The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License.  You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+select LEAF_CATEG_ID,
+intersect_count(TEST_COUNT_DISTINCT_BITMAP, CAL_DT, array[date'2012-01-01']) 
as first_day
+from test_kylin_fact
+where CAL_DT in (date'2012-01-01',date'2012-01-02',date'2012-01-03')
+group by LEAF_CATEG_ID
+



kylin git commit: KYLIN-3087 Add try catch in GlobalDictionaryBuilder to release lock

2017-12-14 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master 280f6738b -> 60431f464


KYLIN-3087 Add try catch in GlobalDictionaryBuilder to release lock


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

Branch: refs/heads/master
Commit: 60431f46494aaa1297d8da87bbf49bc78312fcb4
Parents: 280f673
Author: dengfangyuan 
Authored: Fri Dec 15 13:28:55 2017 +0800
Committer: kangkaisen 
Committed: Fri Dec 15 15:29:25 2017 +0800

--
 .../java/org/apache/kylin/dict/GlobalDictionaryBuilder.java  | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/60431f46/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
--
diff --git 
a/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
 
b/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
index 8250fed..5717542 100644
--- 
a/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
+++ 
b/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
@@ -53,7 +53,13 @@ public class GlobalDictionaryBuilder implements 
IDictionaryBuilder {
 hdfsDir = 
KylinConfig.getInstanceFromEnv().getHdfsWorkingDirectory();
 }
 String baseDir = hdfsDir + "resources/GlobalDict" + 
dictInfo.getResourceDir() + "/";
-this.builder = new AppendTrieDictionaryBuilder(baseDir, 
maxEntriesPerSlice, true);
+
+try {
+this.builder = new AppendTrieDictionaryBuilder(baseDir, 
maxEntriesPerSlice, true);
+} catch (Throwable e) {
+lock.unlock(getLockPath(sourceColumn));
+throw new RuntimeException(String.format("Failed to create global 
dictionary on %s ", sourceColumn), e);
+}
 this.baseId = baseId;
 }
 



kylin git commit: KYLIN-3055 Fix NPE for intersect_count query

2017-12-06 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master 14dd92e00 -> 9265e150d


KYLIN-3055 Fix NPE for intersect_count query


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

Branch: refs/heads/master
Commit: 9265e150d80519d3e4f532c5f106e6718543daba
Parents: 14dd92e
Author: yuchuqian 
Authored: Mon Dec 4 14:30:28 2017 +0800
Committer: kangkaisen 
Committed: Wed Dec 6 20:09:44 2017 +0800

--
 .../gtrecord/GTCubeStorageQueryBase.java| 11 ++--
 .../query/sql_intersect_count/query01.sql   | 27 
 2 files changed, 36 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/9265e150/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
--
diff --git 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
index e9c6885..024990f 100644
--- 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
+++ 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
@@ -39,6 +39,7 @@ import org.apache.kylin.cube.model.RowKeyColDesc;
 import org.apache.kylin.dict.lookup.LookupStringTable;
 import org.apache.kylin.gridtable.StorageLimitLevel;
 import org.apache.kylin.measure.MeasureType;
+import org.apache.kylin.measure.bitmap.BitmapMeasureType;
 import org.apache.kylin.metadata.filter.CaseTupleFilter;
 import org.apache.kylin.metadata.filter.ColumnTupleFilter;
 import org.apache.kylin.metadata.filter.CompareTupleFilter;
@@ -143,7 +144,7 @@ public abstract class GTCubeStorageQueryBase implements 
IStorageQuery {
 
 // exactAggregation mean: needn't aggregation at storage and query 
engine both.
 boolean exactAggregation = isExactAggregation(context, cuboid, groups, 
otherDimsD, singleValuesD,
-derivedPostAggregation, sqlDigest.aggregations);
+derivedPostAggregation, sqlDigest.aggregations, 
sqlDigest.aggrSqlCalls);
 context.setExactAggregation(exactAggregation);
 
 // replace derived columns in filter with host columns; columns on 
loosened condition must be added to group by
@@ -518,7 +519,7 @@ public abstract class GTCubeStorageQueryBase implements 
IStorageQuery {
 
 private boolean isExactAggregation(StorageContext context, Cuboid cuboid, 
Collection groups,
 Set othersD, Set singleValuesD, 
Set derivedPostAggregation,
-Collection functionDescs) {
+Collection functionDescs, List 
aggrSQLCalls) {
 if (context.isNeedStorageAggregation()) {
 logger.info("exactAggregation is false because need storage 
aggregation");
 return false;
@@ -550,6 +551,12 @@ public abstract class GTCubeStorageQueryBase implements 
IStorageQuery {
 return false;
 }
 }
+for (SQLDigest.SQLCall aggrSQLCall : aggrSQLCalls) {
+if 
(aggrSQLCall.function.equals(BitmapMeasureType.FUNC_INTERSECT_COUNT_DISTINCT)) {
+logger.info("exactAggregation is false because has 
INTERSECT_COUNT");
+return false;
+}
+}
 
 // for partitioned cube, the partition column must belong to group by 
or has single value
 PartitionDesc partDesc = 
cuboid.getCubeDesc().getModel().getPartitionDesc();

http://git-wip-us.apache.org/repos/asf/kylin/blob/9265e150/kylin-it/src/test/resources/query/sql_intersect_count/query01.sql
--
diff --git a/kylin-it/src/test/resources/query/sql_intersect_count/query01.sql 
b/kylin-it/src/test/resources/query/sql_intersect_count/query01.sql
new file mode 100644
index 000..7fd5ca2
--- /dev/null
+++ b/kylin-it/src/test/resources/query/sql_intersect_count/query01.sql
@@ -0,0 +1,27 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements.  See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership.  The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License.  You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an &q

kylin git commit: KYLIN-2604 Non-Int type precise count distinct measure must set advanced dict

2017-12-04 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master 5a6e6d7e3 -> ed319575e


KYLIN-2604 Non-Int type precise count distinct measure must set advanced dict


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

Branch: refs/heads/master
Commit: ed319575e6da35998e427e9803f69df2b450b872
Parents: 5a6e6d7
Author: kangkaisen 
Authored: Thu Aug 24 17:49:50 2017 +0800
Committer: kangkaisen 
Committed: Tue Dec 5 10:35:24 2017 +0800

--
 webapp/app/js/controllers/cubeEdit.js   | 12 +++-
 webapp/app/js/controllers/cubeSchema.js | 20 
 2 files changed, 31 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/ed319575/webapp/app/js/controllers/cubeEdit.js
--
diff --git a/webapp/app/js/controllers/cubeEdit.js 
b/webapp/app/js/controllers/cubeEdit.js
index 99b298c..3cf248f 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -200,6 +200,16 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, 
$routeParams, $locatio
 return type;
   };
 
+  $scope.isIntMeasure = function (measure) {
+var column = measure.function.parameter.value;
+if(column && (typeof column=="string")){
+  var colType = $scope.getColumnType(VdmUtil.removeNameSpace(column), 
VdmUtil.getNameSpaceAliasName(column));
+  
if(colType==="tinyint"||colType==="smallint"||colType==="int"||colType==="integer"){
+return true;
+  }
+}
+return false;
+  };
 
   // ~ Define data
   $scope.state = {
@@ -730,7 +740,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, 
$routeParams, $locatio
 var distinctMeasures = [];
 
 angular.forEach($scope.cubeMetaFrame.measures, function (measure, index) {
-  if (measure.function.expression === 'COUNT_DISTINCT' && 
measure.function.returntype === 'bitmap') {
+  if (measure.function.expression === 'COUNT_DISTINCT' && 
measure.function.returntype === 'bitmap' && !$scope.isIntMeasure(measure)) {
 var measureColumn = measure.function.parameter.value;
 distinctMeasures.push(measureColumn);
 //keep backward compatibility

http://git-wip-us.apache.org/repos/asf/kylin/blob/ed319575/webapp/app/js/controllers/cubeSchema.js
--
diff --git a/webapp/app/js/controllers/cubeSchema.js 
b/webapp/app/js/controllers/cubeSchema.js
index a912c72..590168b 100755
--- a/webapp/app/js/controllers/cubeSchema.js
+++ b/webapp/app/js/controllers/cubeSchema.js
@@ -401,6 +401,26 @@ KylinApp.controller('CubeSchemaCtrl', function ($scope, 
QueryService, UserServic
 }
 
 
+angular.forEach($scope.cubeMetaFrame.measures, function (measure, 
index) {
+if (measure.function.expression === 'COUNT_DISTINCT' && 
measure.function.returntype === 'bitmap' && !$scope.isIntMeasure(measure)) {
+var measureColumn = measure.function.parameter.value;
+
+var isColumnExit = false;
+angular.forEach($scope.cubeMetaFrame.dictionaries, function 
(dictionaries) {
+if (!isColumnExit) {
+//keep backward compatibility
+if (dictionaries.column == measureColumn || 
dictionaries.column == VdmUtil.removeNameSpace(measureColumn))
+isColumnExit = true;
+}
+});
+
+if (!isColumnExit) {
+errors.push("The non-Int type precise count distinct 
measure must set advanced cict: " + measureColumn);
+}
+}
+});
+
+
 var errorInfo = "";
 angular.forEach(errors,function(item){
 errorInfo+="\n"+item;



kylin git commit: KYLIN-2992 Avoid GC in CubeHFileJob.Reducer

2017-11-04 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2992 [created] b837071a6


KYLIN-2992 Avoid GC in CubeHFileJob.Reducer


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

Branch: refs/heads/KYLIN-2992
Commit: b837071a6048433a0ec1708f358a62a8e90c2d1a
Parents: 31b16c3
Author: kangkaisen 
Authored: Fri Sep 22 13:36:23 2017 +0800
Committer: kangkaisen 
Committed: Fri Nov 3 17:33:52 2017 +0800

--
 .../storage/hbase/steps/CreateHTableJob.java|  8 +-
 .../kylin/storage/hbase/steps/CubeHFileJob.java | 26 --
 .../storage/hbase/steps/CubeHFileMapper.java| 14 ++--
 .../storage/hbase/steps/RowKeyWritable.java | 86 
 .../hbase/steps/CubeHFileMapper2Test.java   |  4 -
 .../hbase/steps/CubeHFileMapperTest.java|  8 +-
 6 files changed, 123 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/b837071a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CreateHTableJob.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CreateHTableJob.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CreateHTableJob.java
index b2bab47..c41df06 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CreateHTableJob.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CreateHTableJob.java
@@ -29,7 +29,7 @@ import org.apache.commons.cli.Options;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.io.IOUtils;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.io.SequenceFile;
@@ -323,6 +323,7 @@ public class CreateHTableJob extends AbstractHadoopJob {
 double accumulatedSize = 0;
 int j = 0;
 for (Long cuboid : allCuboids) {
+
 if (accumulatedSize >= hfileSizeMB) {
 logger.info(String.format("Region %d's hfile %d size is 
%.2f mb", i, j, accumulatedSize));
 byte[] split = new 
byte[RowConstants.ROWKEY_SHARD_AND_CUBOID_LEN];
@@ -337,10 +338,11 @@ public class CreateHTableJob extends AbstractHadoopJob {
 
 }
 
-SequenceFile.Writer hfilePartitionWriter = 
SequenceFile.createWriter(hbaseConf, 
SequenceFile.Writer.file(hfilePartitionFile), 
SequenceFile.Writer.keyClass(ImmutableBytesWritable.class), 
SequenceFile.Writer.valueClass(NullWritable.class));
+SequenceFile.Writer hfilePartitionWriter = 
SequenceFile.createWriter(hbaseConf, 
SequenceFile.Writer.file(hfilePartitionFile), 
SequenceFile.Writer.keyClass(RowKeyWritable.class), 
SequenceFile.Writer.valueClass(NullWritable.class));
 
 for (int i = 0; i < splits.size(); i++) {
-hfilePartitionWriter.append(new 
ImmutableBytesWritable(splits.get(i)), NullWritable.get());
+//when we compare the rowkey, we compare the row firstly.
+hfilePartitionWriter.append(new 
RowKeyWritable(KeyValue.createFirstOnRow(splits.get(i)).createKeyOnly(false).getKey()),
 NullWritable.get());
 }
 hfilePartitionWriter.close();
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/b837071a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHFileJob.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHFileJob.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHFileJob.java
index 5f51c13..093e8ee 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHFileJob.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHFileJob.java
@@ -25,8 +25,9 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.client.HTable;
-import org.apache.hadoop.hbase.mapreduce.KeyValueSortReducer;
+import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
 import org.apache.hadoop.hdfs.DFSConfigKeys;
 import org.apache.hadoop.io.SequenceFile;
 import org.apache.hadoop.io.Writable;
@@ -39,6 +40,7 @@ import org.apache.hadoop.util.ToolRunner;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.cube.

kylin git commit: KYLIN-2764 Apply KYLIN-2800

2017-10-21 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/2764 3941b4da3 -> 48f3fb195


KYLIN-2764 Apply KYLIN-2800


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

Branch: refs/heads/2764
Commit: 48f3fb1953a413acfdd405539a7cfd211a5e85de
Parents: 3941b4d
Author: kangkaisen 
Authored: Sun Oct 22 13:35:15 2017 +0800
Committer: kangkaisen 
Committed: Sun Oct 22 13:47:25 2017 +0800

--
 .../java/org/apache/kylin/cube/CubeManager.java | 30 +--
 .../apache/kylin/dict/DictionaryManager.java| 40 
 2 files changed, 1 insertion(+), 69 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/48f3fb19/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
--
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java 
b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
index 180c3f4..b18d40f 100755
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
@@ -833,26 +833,6 @@ public class CubeManager implements IRealizationProvider {
 
 // 

 
-
-/**
- * Get the columns which need build the dictionary from fact table. (the 
column exists on fact and is not fk)
- * @param cubeDesc
- * @return
- * @throws IOException
- */
-public List getAllDictColumnsOnFact(CubeDesc cubeDesc) throws 
IOException {
-List factDictCols = new ArrayList();
-DictionaryManager dictMgr = DictionaryManager.getInstance(config);
-for (TblColRef col : cubeDesc.getAllColumnsNeedDictionaryBuilt()) {
-
-String scanTable = dictMgr.decideSourceData(cubeDesc.getModel(), 
col).getTable();
-if (cubeDesc.getModel().isFactTable(scanTable)) {
-factDictCols.add(col);
-}
-}
-return factDictCols;
-}
-
 public List getAllGlobalDictColumns(CubeDesc cubeDesc) {
 List globalDictCols = new ArrayList();
 List dictionaryDescList = cubeDesc.getDictionaries();
@@ -874,19 +854,11 @@ public class CubeManager implements IRealizationProvider {
 List uhcColumns = new ArrayList();
 uhcColumns.addAll(getAllGlobalDictColumns(cubeDesc));
 uhcColumns.addAll(cubeDesc.getShardByColumns());
-
-//handle PK-FK, see getAllDictColumnsOnFact
-try {
-uhcColumns.retainAll(getAllDictColumnsOnFact(cubeDesc));
-} catch (IOException e) {
-throw new RuntimeException("Get all dict columns on fact failed");
-}
-
 return uhcColumns;
 }
 
 public int[] getUHCIndex(CubeDesc cubeDesc) throws IOException {
-List factDictCols = getAllDictColumnsOnFact(cubeDesc);
+List factDictCols = 
Lists.newArrayList(cubeDesc.getAllColumnsNeedDictionaryBuilt());
 List uhcColumns = getAllUHCColumns(cubeDesc);
 int[] uhcIndex = new int[factDictCols.size()];
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/48f3fb19/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
--
diff --git 
a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java 
b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
index 7ce608b..e97899c 100755
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
@@ -29,17 +29,13 @@ import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.lang.ArrayUtils;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.persistence.ResourceStore;
 import org.apache.kylin.common.util.ClassUtil;
 import org.apache.kylin.common.util.Dictionary;
 import org.apache.kylin.common.util.JsonUtil;
 import org.apache.kylin.metadata.datatype.DataType;
-import org.apache.kylin.metadata.model.DataModelDesc;
 import org.apache.kylin.metadata.model.DataModelManager;
-import org.apache.kylin.metadata.model.JoinDesc;
-import org.apache.kylin.metadata.model.TableRef;
 import org.apache.kylin.metadata.model.TblColRef;
 import org.apache.kylin.source.IReadableTable;
 import org.apache.kylin.source.IReadableTable.TableSignature;
@@ -346,42 +342,6 @@ public class DictionaryManager {
 return dictInfo;
 }
 
-/**
- * Decide a dictionary&

[33/50] [abbrv] kylin git commit: Revert "#949 Refine column family for measures"

2017-09-04 Thread kangkaisen
Revert "#949 Refine column family for measures"

This reverts commit 906b8f40b381ab9086a4f7e7593ae7d8391189bd.


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

Branch: refs/heads/2622-2764
Commit: 32d346b4cd619a38461a27115fbef2bd44f28372
Parents: b50030d
Author: Hongbin Ma 
Authored: Thu Aug 31 22:41:20 2017 +0800
Committer: Hongbin Ma 
Committed: Thu Aug 31 22:41:20 2017 +0800

--
 .../org/apache/kylin/gridtable/GTRecord.java | 19 +--
 1 file changed, 13 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/32d346b4/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
--
diff --git a/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java 
b/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
index 00e355f..d8c0fbd 100644
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
@@ -45,7 +45,7 @@ public class GTRecord implements Comparable, 
Cloneable {
 }
 this.info = info;
 }
-
+
 @Override
 public GTRecord clone() { // deep copy
 ByteArray[] cols = new ByteArray[this.cols.length];
@@ -114,6 +114,7 @@ public class GTRecord implements Comparable, 
Cloneable {
 return result;
 }
 
+
 /** decode and return the values of this record */
 public Object[] getValues(int[] selectedColumns, Object[] result) {
 assert selectedColumns.length <= result.length;
@@ -294,21 +295,27 @@ public class GTRecord implements Comparable, 
Cloneable {
 buf.position(pos);
 }
 }
-
-public void loadColumnsFromColumnBlocks(ImmutableBitSet[] 
selectedColumnBlocks, ImmutableBitSet selectedCols,
-ByteBuffer buf) {
+
+public void loadColumnsFromColumnBlocks(ImmutableBitSet[] 
selectedColumnBlocks, ImmutableBitSet selectedCols, ByteBuffer buf) {
+
 int pos = buf.position();
+
 for (ImmutableBitSet selectedColBlock : selectedColumnBlocks) {
+
 for (int i = 0; i < selectedColBlock.trueBitCount(); i++) {
+
 int c = selectedColBlock.trueBitAt(i);
+
 int len = info.codeSystem.codeLength(c, buf);
-if (selectedCols.get(c)) {
-cols[c].set(buf.array(), buf.arrayOffset() + pos, len);
+if(selectedCols.get(c)) {  
+cols[c].set(buf.array(), buf.arrayOffset() + pos, len);
 
 }
 pos += len;
 buf.position(pos);
 }
+
 }
+
 }
 
 /** change pointers to point to data in given buffer, this



[29/50] [abbrv] kylin git commit: KYLIN-2790 Add extending point for column family

2017-09-04 Thread kangkaisen
KYLIN-2790 Add extending point for column family


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

Branch: refs/heads/2622-2764
Commit: d62cb58bde55766dbe87bbad29953dd1243c2014
Parents: 4782289
Author: auphyroc99 <454530...@qq.com>
Authored: Wed Aug 16 10:34:02 2017 +0800
Committer: Roger Shi 
Committed: Wed Aug 30 18:13:52 2017 +0800

--
 .../apache/kylin/common/KylinConfigBase.java|  4 
 .../org/apache/kylin/cube/model/CubeDesc.java   | 18 ++--
 .../kylin/cube/model/HBaseMappingDesc.java  | 18 
 .../org/apache/kylin/gridtable/GTRecord.java| 22 
 4 files changed, 60 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/d62cb58b/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 a113327..47806a5 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
@@ -286,6 +286,10 @@ abstract public class KylinConfigBase implements 
Serializable {
 
"org.apache.kylin.storage.hbase.util.ZookeeperDistributedLock$Factory");
 return (DistributedLockFactory) ClassUtil.newInstance(clsName);
 }
+
+public String getHBaseMappingAdapter() {
+return getOptional("kylin.metadata.hbasemapping-adapter");
+}
 
 // 

 // DICTIONARY & SNAPSHOT

http://git-wip-us.apache.org/repos/asf/kylin/blob/d62cb58b/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 0e22587..d263e1f 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
@@ -22,6 +22,7 @@ import static 
com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 
+import java.lang.reflect.Method;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
@@ -603,8 +604,21 @@ public class CubeDesc extends RootPersistentEntity 
implements IEngineAware {
 validateAggregationGroups(); // check if aggregation group is valid
 validateAggregationGroupsCombination();
 
-if (hbaseMapping != null) {
-hbaseMapping.init(this);
+String hbaseMappingAdapterName = config.getHBaseMappingAdapter();
+
+if (hbaseMappingAdapterName != null) {
+try {
+Class hbaseMappingAdapterClass = 
Class.forName(hbaseMappingAdapterName);
+Method initMethod = 
hbaseMappingAdapterClass.getMethod("initHBaseMapping", CubeDesc.class);
+initMethod.invoke(null, this);
+} catch (Exception e) {
+logger.error("Wrong configuration for 
kylin.metadata.hbasemapping-adapter: class "
++ hbaseMappingAdapterName + " not found. ");
+}
+} else {
+if (hbaseMapping != null) {
+hbaseMapping.init(this);
+}
 }
 
 initMeasureReferenceToColumnFamily();

http://git-wip-us.apache.org/repos/asf/kylin/blob/d62cb58b/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
--
diff --git 
a/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java 
b/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
index d1e5829..77b4b14 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
@@ -87,6 +87,24 @@ public class HBaseMappingDesc implements 
java.io.Serializable {
 }
 }
 
+public void initAsSeparatedColumns(CubeDesc cubeDesc) {
+cubeRef = cubeDesc;
+
+int cfNum = cubeDesc.getMeasures().size();
+columnFamily = new HBaseColumnFamilyDesc[cfNum];
+
+for (int i = 0; i < cfNum; i++) {
+HBaseColumnFamilyDesc cf = new 

[48/50] [abbrv] kylin git commit: KYLIN-2819 add configurable zookeeper base path

2017-09-04 Thread kangkaisen
KYLIN-2819 add configurable zookeeper base path

Signed-off-by: Li Yang 


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

Branch: refs/heads/2622-2764
Commit: 520f6279c560f457c1b7fe1173532959fcee5c6c
Parents: 14058bd
Author: shenyinjie 
Authored: Sun Sep 3 17:36:02 2017 +0800
Committer: Li Yang 
Committed: Sun Sep 3 20:46:58 2017 +0800

--
 .../src/main/java/org/apache/kylin/common/KylinConfigBase.java   | 4 
 core-common/src/main/resources/kylin-defaults.properties | 2 ++
 .../apache/kylin/job/impl/threadpool/DistributedScheduler.java   | 2 +-
 .../kylin/storage/hbase/util/ZookeeperDistributedLock.java   | 2 +-
 4 files changed, 8 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/520f6279/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 9533400..749b515 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
@@ -226,6 +226,10 @@ abstract public class KylinConfigBase implements 
Serializable {
 return cachedHdfsWorkingDirectory;
 }
 
+public String getZookeeperBasePath() {
+return getOptional("kylin.env.zookeeper-base-path", "/kylin");
+}
+
 /**
  * A comma separated list of host:port pairs, each corresponding to a 
ZooKeeper server
  */

http://git-wip-us.apache.org/repos/asf/kylin/blob/520f6279/core-common/src/main/resources/kylin-defaults.properties
--
diff --git a/core-common/src/main/resources/kylin-defaults.properties 
b/core-common/src/main/resources/kylin-defaults.properties
index f0328fa..a3277ce 100644
--- a/core-common/src/main/resources/kylin-defaults.properties
+++ b/core-common/src/main/resources/kylin-defaults.properties
@@ -26,6 +26,8 @@ kylin.env.hdfs-working-dir=/kylin
 # DEV|QA|PROD. DEV will turn on some dev features, QA and PROD has no 
difference in terms of functions.
 kylin.env=QA
 
+# kylin zk base path
+kylin.env.zookeeper-base-path=/kylin
 
 ### SERVER | WEB ###
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/520f6279/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java
--
diff --git 
a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java
 
b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java
index e3a5836..6d41c5e 100644
--- 
a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java
+++ 
b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java
@@ -82,7 +82,7 @@ public class DistributedScheduler implements 
Scheduler, Conn
 private String serverName;
 
 private final static String SEGMENT_ID = "segmentId";
-public static final String ZOOKEEPER_LOCK_PATH = "/job_engine/lock"; // 
note ZookeeperDistributedLock will ensure zk path prefix: /kylin/metadata
+public static final String ZOOKEEPER_LOCK_PATH = "/job_engine/lock"; // 
note ZookeeperDistributedLock will ensure zk path prefix: 
/${kylin.env.zookeeper-base-path}/metadata
 
 //only for it test
 public static DistributedScheduler getInstance(KylinConfig config) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/520f6279/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedLock.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedLock.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedLock.java
index 63ffda0..844d9ed 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedLock.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedLock.java
@@ -102,7 +102,7 @@ public class ZookeeperDistributedLock implements 
DistributedLock, JobLock {
 
 public Factory(KylinConfig config) {
 this.curator = getZKClient(config);
-this.zkPathBase = fixSlash("/kylin/" + 
KylinConfig.getInstanceFromEnv().getMetadataUrlPrefix());
+this.zkPathBase = fixSlash(config.getZookeeperBasePath() + "/" + 
config.getMetadataUrlPrefix());

[42/50] [abbrv] kylin git commit: Merge commit '1004a853225503e00f48a27949d7e09109e937db'

2017-09-04 Thread kangkaisen
Merge commit '1004a853225503e00f48a27949d7e09109e937db'


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

Branch: refs/heads/2622-2764
Commit: 34596d3553a7694738f48b10d38384c12cb535a3
Parents: 75fbdcf 1004a85
Author: Li Yang 
Authored: Sun Sep 3 09:10:43 2017 +0800
Committer: Li Yang 
Committed: Sun Sep 3 09:22:34 2017 +0800

--
 .../org/apache/kylin/cube/model/CubeDesc.java   |  1 -
 .../kylin/job/execution/ExecutableManager.java  | 11 +
 .../engine/mr/common/AbstractHadoopJob.java |  4 +++
 .../java/org/apache/kylin/jdbc/KylinClient.java |  2 ++
 .../resources/query/sql_derived/query13.sql | 26 
 5 files changed, 12 insertions(+), 32 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/34596d35/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
--
diff --cc core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
index be523ed,0e22587..3cbba50
--- 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
@@@ -189,7 -189,7 +189,6 @@@ public class CubeDesc extends RootPersi
  @JsonInclude(JsonInclude.Include.NON_NULL)
  private int parentForward = 3;
  
- // lazy init
 -// cuboid scheduler lazy built
  transient private CuboidScheduler cuboidScheduler = null;
  
  public boolean isEnableSharding() {

http://git-wip-us.apache.org/repos/asf/kylin/blob/34596d35/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/AbstractHadoopJob.java
--
diff --cc 
engine-mr/src/main/java/org/apache/kylin/engine/mr/common/AbstractHadoopJob.java
index 9950c69,54f77c0..081ac93
--- 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/AbstractHadoopJob.java
+++ 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/AbstractHadoopJob.java
@@@ -501,12 -501,12 +501,16 @@@ public abstract class AbstractHadoopJo
  
  // write kylin.properties
  File kylinPropsFile = new File(metaDir, "kylin.properties");
 -kylinConfig.writeProperties(kylinPropsFile);
 +kylinConfig.exportToFile(kylinPropsFile);
 +
 +if (prj != null) {
 +
dumpList.add(ProjectManager.getInstance(kylinConfig).getProject(prj).getResourcePath());
 +}
  
+ if (prj != null) {
+ 
dumpList.add(ProjectManager.getInstance(kylinConfig).getProject(prj).getResourcePath());
+ }
+ 
  // write resources
  JobRelatedMetaUtil.dumpResources(kylinConfig, metaDir, dumpList);
  

http://git-wip-us.apache.org/repos/asf/kylin/blob/34596d35/kylin-it/src/test/resources/query/sql_derived/query13.sql
--
diff --cc kylin-it/src/test/resources/query/sql_derived/query13.sql
index 754495f,754495f..000
deleted file mode 100755,100755
--- a/kylin-it/src/test/resources/query/sql_derived/query13.sql
+++ /dev/null
@@@ -1,26 -1,26 +1,0 @@@

 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

--
--select test_cal_dt.week_beg_dt, test_kylin_fact.lstg_format_name, 
test_category_groupings.meta_categ_name, sum(test_kylin_fact.price) as gmv, 
count(*) as trans_cnt
-- from test_kylin_fact
-- inner JOIN edw.test_cal_dt as test_cal_dt
-- ON test_kylin_fact.cal_dt = test_cal_dt.cal_dt
-- inner JOIN test_category_groupings
-- ON test_kylin_fact.leaf_categ_id = test_category_groupings.leaf_categ_id AND 
test_kylin_fact.lstg_site_id = test_category_groupings.site_id
-- where test_cal_dt.week_beg_dt is not null
-- group by test_cal_dt.week_beg_dt, test_kylin_fact.lstg_format_name, 
test_category_groupings.meta_categ_name



[05/50] [abbrv] kylin git commit: KYLIN-2766 use Kylin working dir to get FileSystem

2017-09-04 Thread kangkaisen
KYLIN-2766 use Kylin working dir to get FileSystem


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

Branch: refs/heads/2622-2764
Commit: 4316cfdbe21cbab5764c2bcb6a45010bef434bf3
Parents: 891caab
Author: shaofengshi 
Authored: Sun Aug 20 21:25:17 2017 +0800
Committer: shaofengshi 
Committed: Tue Aug 22 20:52:45 2017 +0800

--
 .../org/apache/kylin/engine/mr/common/HadoopCmdOutput.java| 4 ++--
 .../hive/cardinality/HiveColumnCardinalityUpdateJob.java  | 3 ++-
 .../java/org/apache/kylin/storage/hbase/HBaseConnection.java  | 2 +-
 .../org/apache/kylin/storage/hbase/HBaseResourceStore.java| 7 ---
 .../org/apache/kylin/storage/hbase/steps/CreateHTableJob.java | 3 ++-
 .../storage/hbase/steps/HDFSPathGarbageCollectionStep.java| 2 +-
 .../apache/kylin/storage/hbase/util/DeployCoprocessorCLI.java | 5 +++--
 7 files changed, 15 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/4316cfdb/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 11d6d2c..0bff511 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
@@ -22,11 +22,11 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.mapreduce.Counters;
 import org.apache.hadoop.mapreduce.FileSystemCounter;
 import org.apache.hadoop.mapreduce.Job;
 import org.apache.hadoop.mapreduce.TaskCounter;
+import org.apache.kylin.common.util.HadoopUtil;
 import 
org.apache.kylin.engine.mr.steps.FactDistinctColumnsMapper.RawDataCounter;
 import org.apache.kylin.job.constant.ExecutableConstants;
 import org.slf4j.Logger;
@@ -99,7 +99,7 @@ public class HadoopCmdOutput {
 mapInputRecords = 
String.valueOf(counters.findCounter(TaskCounter.MAP_INPUT_RECORDS).getValue());
 rawInputBytesRead = 
String.valueOf(counters.findCounter(RawDataCounter.BYTES).getValue());
 
-String fsScheme = 
FileSystem.get(job.getConfiguration()).getScheme();
+String fsScheme = HadoopUtil.getWorkingFileSystem().getScheme();
 long bytesWritten = counters.findCounter(fsScheme, 
FileSystemCounter.BYTES_WRITTEN).getValue();
 if (bytesWritten == 0) {
 bytesWritten = counters.findCounter("FileSystemCounters", 
"HDFS_BYTES_WRITTEN").getValue();

http://git-wip-us.apache.org/repos/asf/kylin/blob/4316cfdb/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/HiveColumnCardinalityUpdateJob.java
--
diff --git 
a/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/HiveColumnCardinalityUpdateJob.java
 
b/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/HiveColumnCardinalityUpdateJob.java
index 246822c..24abe77 100644
--- 
a/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/HiveColumnCardinalityUpdateJob.java
+++ 
b/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/HiveColumnCardinalityUpdateJob.java
@@ -37,6 +37,7 @@ import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.io.compress.CompressionCodecFactory;
 import org.apache.kylin.common.KylinConfig;
+import org.apache.kylin.common.util.HadoopUtil;
 import org.apache.kylin.engine.mr.common.AbstractHadoopJob;
 import org.apache.kylin.metadata.MetadataManager;
 import org.apache.kylin.metadata.model.TableExtDesc;
@@ -125,7 +126,7 @@ public class HiveColumnCardinalityUpdateJob extends 
AbstractHadoopJob {
 }
 
 private static List readLines(Path location, Configuration conf) 
throws Exception {
-FileSystem fileSystem = FileSystem.get(location.toUri(), conf);
+FileSystem fileSystem = HadoopUtil.getWorkingFileSystem();
 CompressionCodecFactory factory = new CompressionCodecFactory(conf);
 FileStatus[] items = fileSystem.listStatus(location);
 if (items == null)

http://git-wip-us.apache.org/repos/asf/kylin/blob/4316cfdb/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseConnection.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseConnecti

[40/50] [abbrv] kylin git commit: KYLIN-2818 Refactor dateRange & sourceOffset on CubeSegment

2017-09-04 Thread kangkaisen
http://git-wip-us.apache.org/repos/asf/kylin/blob/75fbdcff/core-metadata/src/main/java/org/apache/kylin/metadata/model/SegmentRange.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/SegmentRange.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/SegmentRange.java
new file mode 100644
index 000..e52da09
--- /dev/null
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/SegmentRange.java
@@ -0,0 +1,220 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+package org.apache.kylin.metadata.model;
+
+import java.io.Serializable;
+import java.util.Comparator;
+
+/**
+ * SegmentRange and TSRange seem similar but are different concepts.
+ * 
+ * - SegmentRange defines the range of a segment.
+ * - TSRange is the time series range of the segment data.
+ * - When segment range is defined by time, the two can be the same, in that 
case TSRange is a kind of SegmentRange.
+ * - Duration segment creation (build/refresh/merge), a new segment is defined 
by either one of the two, not both.
+ * - And the choice must be consistent across all following segment creation.
+ */
+@SuppressWarnings("serial")
+public class SegmentRange implements Serializable {
+
+public final Endpoint start;
+public final Endpoint end;
+
+public SegmentRange(Endpoint start, Endpoint end) {
+this.start = start;
+this.end = end;
+checkState();
+}
+
+public SegmentRange(T start, T end) {
+if (start != null && end != null && start.getClass() != end.getClass())
+throw new IllegalArgumentException();
+
+this.start = new Endpoint(start, start == null, false);
+this.end = new Endpoint(end, false, end == null);
+checkState();
+}
+
+private void checkState() {
+if (start.compareTo(end) > 0)
+throw new IllegalStateException();
+}
+
+public boolean isInfinite() {
+return start.isMin && end.isMax;
+}
+
+public boolean contains(SegmentRange o) {
+return this.start.compareTo(o.start) <= 0 && o.end.compareTo(this.end) 
<= 0;
+}
+
+public boolean overlaps(SegmentRange o) {
+return this.start.compareTo(o.end) < 0 && o.start.compareTo(this.end) 
< 0;
+}
+
+public boolean connects(SegmentRange o) {
+return this.end.compareTo(o.start) == 0;
+}
+
+public boolean apartBefore(SegmentRange o) {
+return this.end.compareTo(o.start) < 0;
+}
+
+@Override
+public String toString() {
+return this.getClass().getSimpleName() + "[" + start + "," + end + ")";
+}
+
+@Override
+public int hashCode() {
+final int prime = 31;
+int result = 1;
+result = prime * result + ((end == null) ? 0 : end.hashCode());
+result = prime * result + ((start == null) ? 0 : start.hashCode());
+return result;
+}
+
+@Override
+public boolean equals(Object obj) {
+if (this == obj)
+return true;
+if (obj == null)
+return false;
+if (getClass() != obj.getClass())
+return false;
+SegmentRange other = (SegmentRange) obj;
+if (end == null) {
+if (other.end != null)
+return false;
+} else if (!end.equals(other.end))
+return false;
+if (start == null) {
+if (other.start != null)
+return false;
+} else if (!start.equals(other.start))
+return false;
+return true;
+}
+
+// 

+
+public static class TSRange extends SegmentRange {
+
+public TSRange(Long start, Long end) {
+// [0, Long.MAX_VALUE) is full build (for historic reason)
+super(new Endpoint(isInfinite(start, end) ? 0 : start, 
isInfinite(start, end), false), //
+new Endpoint(isInfinite(start, end) ? Long.MAX_VALUE : 
end, false, isInfinite(start, end)));
+}
+
+private static boolean isInfinite(Long start, Long end) {
+return (start == null |

[26/50] [abbrv] kylin git commit: KYLIN-2773 Test for join casting

2017-09-04 Thread kangkaisen
KYLIN-2773 Test for join casting


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

Branch: refs/heads/2622-2764
Commit: 1eb3617cf1cf50da16d5f86b4f922b3e8925de4b
Parents: 87f1732
Author: Roger Shi 
Authored: Tue Aug 29 19:22:18 2017 +0800
Committer: Roger Shi 
Committed: Wed Aug 30 16:02:26 2017 +0800

--
 .../table/DEFAULT.TEST_KYLIN_FACT.json  |  2 +-
 .../apache/kylin/query/ITKylinQueryTest.java|  5 +
 .../test/resources/query/sql_join/query_00.sql  | 21 
 3 files changed, 27 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/1eb3617c/examples/test_case_data/localmeta/table/DEFAULT.TEST_KYLIN_FACT.json
--
diff --git 
a/examples/test_case_data/localmeta/table/DEFAULT.TEST_KYLIN_FACT.json 
b/examples/test_case_data/localmeta/table/DEFAULT.TEST_KYLIN_FACT.json
index e82d535..4be05f2 100644
--- a/examples/test_case_data/localmeta/table/DEFAULT.TEST_KYLIN_FACT.json
+++ b/examples/test_case_data/localmeta/table/DEFAULT.TEST_KYLIN_FACT.json
@@ -44,7 +44,7 @@
   }, {
 "id" : "8",
 "name" : "SELLER_ID",
-"datatype" : "bigint",
+"datatype" : "int",
 "data_gen" : "RAND||1000|10001000",
 "index": "T"
   }, {

http://git-wip-us.apache.org/repos/asf/kylin/blob/1eb3617c/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 4ea4497..e332cda 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
@@ -234,6 +234,11 @@ public class ITKylinQueryTest extends KylinTestBase {
 }
 
 @Test
+public void testJoinCastQuery() throws Exception {
+execAndCompQuery(getQueryFolderPrefix() + 
"src/test/resources/query/sql_join", null, true);
+}
+
+@Test
 public void testCachedQuery() throws Exception {
 execAndCompQuery(getQueryFolderPrefix() + 
"src/test/resources/query/sql_cache", null, true);
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/1eb3617c/kylin-it/src/test/resources/query/sql_join/query_00.sql
--
diff --git a/kylin-it/src/test/resources/query/sql_join/query_00.sql 
b/kylin-it/src/test/resources/query/sql_join/query_00.sql
new file mode 100644
index 000..024e45d
--- /dev/null
+++ b/kylin-it/src/test/resources/query/sql_join/query_00.sql
@@ -0,0 +1,21 @@
+-- join condition cast type
+select sum(ITEM_COUNT) as ITEM_CNT
+FROM TEST_KYLIN_FACT as TEST_KYLIN_FACT
+INNER JOIN TEST_ORDER as TEST_ORDER
+ON TEST_KYLIN_FACT.ORDER_ID = TEST_ORDER.ORDER_ID
+INNER JOIN TEST_ACCOUNT as BUYER_ACCOUNT
+ON TEST_ORDER.BUYER_ID = BUYER_ACCOUNT.ACCOUNT_ID
+INNER JOIN TEST_ACCOUNT as SELLER_ACCOUNT
+ON TEST_KYLIN_FACT.SELLER_ID = SELLER_ACCOUNT.ACCOUNT_ID
+INNER JOIN EDW.TEST_CAL_DT as TEST_CAL_DT
+ON TEST_KYLIN_FACT.CAL_DT = TEST_CAL_DT.CAL_DT
+INNER JOIN TEST_CATEGORY_GROUPINGS as TEST_CATEGORY_GROUPINGS
+ON TEST_KYLIN_FACT.LEAF_CATEG_ID = TEST_CATEGORY_GROUPINGS.LEAF_CATEG_ID AND 
TEST_KYLIN_FACT.LSTG_SITE_ID = TEST_CATEGORY_GROUPINGS.SITE_ID
+INNER JOIN EDW.TEST_SITES as TEST_SITES
+ON TEST_KYLIN_FACT.LSTG_SITE_ID = TEST_SITES.SITE_ID
+INNER JOIN EDW.TEST_SELLER_TYPE_DIM as TEST_SELLER_TYPE_DIM
+ON TEST_KYLIN_FACT.SLR_SEGMENT_CD = TEST_SELLER_TYPE_DIM.SELLER_TYPE_CD
+INNER JOIN TEST_COUNTRY as BUYER_COUNTRY
+ON BUYER_ACCOUNT.ACCOUNT_COUNTRY = BUYER_COUNTRY.COUNTRY
+INNER JOIN TEST_COUNTRY as SELLER_COUNTRY
+ON SELLER_ACCOUNT.ACCOUNT_COUNTRY = SELLER_COUNTRY.COUNTRY
\ No newline at end of file



[16/50] [abbrv] kylin git commit: minor, special treatment for OLAPContext.allColumns when select star

2017-09-04 Thread kangkaisen
minor, special treatment for OLAPContext.allColumns when select star


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

Branch: refs/heads/2622-2764
Commit: 3200d6a148d4368801e415f6ae969bbab7c7345e
Parents: 28a07eb
Author: Hongbin Ma 
Authored: Sun Aug 27 15:41:22 2017 +0800
Committer: Hongbin Ma 
Committed: Mon Aug 28 10:42:57 2017 +0800

--
 .../org/apache/kylin/query/relnode/OLAPTableScan.java  | 13 +++--
 1 file changed, 11 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/3200d6a1/query/src/main/java/org/apache/kylin/query/relnode/OLAPTableScan.java
--
diff --git 
a/query/src/main/java/org/apache/kylin/query/relnode/OLAPTableScan.java 
b/query/src/main/java/org/apache/kylin/query/relnode/OLAPTableScan.java
index 7801891..dd2160b 100644
--- a/query/src/main/java/org/apache/kylin/query/relnode/OLAPTableScan.java
+++ b/query/src/main/java/org/apache/kylin/query/relnode/OLAPTableScan.java
@@ -210,7 +210,8 @@ public class OLAPTableScan extends TableScan implements 
OLAPRel, EnumerableRel {
 Preconditions.checkState(columnRowType == null, "OLAPTableScan MUST 
NOT be shared by more than one prent");
 
 // create context in case of non-join
-if (implementor.getContext() == null || !(implementor.getParentNode() 
instanceof OLAPJoinRel) || implementor.isNewOLAPContextRequired()) {
+if (implementor.getContext() == null || !(implementor.getParentNode() 
instanceof OLAPJoinRel)
+|| implementor.isNewOLAPContextRequired()) {
 implementor.allocateContext();
 }
 
@@ -227,6 +228,13 @@ public class OLAPTableScan extends TableScan implements 
OLAPRel, EnumerableRel {
 if (context.firstTableScan == null) {
 context.firstTableScan = this;
 }
+
+if (implementor.getParentNode() instanceof OLAPToEnumerableConverter) {
+// OLAPToEnumerableConverter on top of table scan, should be a 
select * from table
+for (TblColRef tblColRef : columnRowType.getAllColumns()) {
+context.allColumns.add(tblColRef);
+}
+}
 }
 
 public String getAlias() {
@@ -288,7 +296,8 @@ public class OLAPTableScan extends TableScan implements 
OLAPRel, EnumerableRel {
 String execFunction = genExecFunc();
 
 PhysType physType = PhysTypeImpl.of(implementor.getTypeFactory(), 
this.rowType, pref.preferArray());
-MethodCallExpression exprCall = 
Expressions.call(table.getExpression(OLAPTable.class), execFunction, 
implementor.getRootExpression(), Expressions.constant(context.id));
+MethodCallExpression exprCall = 
Expressions.call(table.getExpression(OLAPTable.class), execFunction,
+implementor.getRootExpression(), 
Expressions.constant(context.id));
 return implementor.result(physType, Blocks.toBlock(exprCall));
 }
 



[09/50] [abbrv] kylin git commit: KYLIN-2807, enhance validate of datamodel's update

2017-09-04 Thread kangkaisen
KYLIN-2807, enhance validate of datamodel's update


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

Branch: refs/heads/2622-2764
Commit: d873ca13aa67a90a99b66d99659ca571a3ab977f
Parents: cd9a515
Author: Cheng Wang 
Authored: Thu Aug 24 11:12:50 2017 +0800
Committer: Hongbin Ma 
Committed: Thu Aug 24 11:27:44 2017 +0800

--
 .../apache/kylin/rest/service/ModelService.java | 123 ++-
 .../kylin/rest/service/ModelServiceTest.java|  94 +-
 2 files changed, 179 insertions(+), 38 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/d873ca13/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java 
b/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
index 14b2280..82632eb 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
@@ -22,6 +22,7 @@ import static 
org.apache.kylin.rest.controller2.ModelControllerV2.VALID_MODELNAM
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -299,55 +300,112 @@ public class ModelService extends BasicService {
 return true;
 }
 
-private boolean checkIfBreakExistingCubes(DataModelDesc dataModelDesc, 
String project) throws IOException {
+private List getModelCols(DataModelDesc model) {
+List dimCols = new ArrayList();
+
+List dimensions = model.getDimensions();
+
+for (ModelDimensionDesc dim : dimensions) {
+String table = dim.getTable();
+for (String c : dim.getColumns()) {
+dimCols.add(table + "." + c);
+}
+}
+return dimCols;
+}
+
+private List getModelMeasures(DataModelDesc model) {
+List measures = new ArrayList();
+
+for (String s : model.getMetrics()) {
+measures.add(s);
+}
+return measures;
+}
+
+private Map> getInfluencedCubesByDims(List 
dims, List cubes) {
+Map> influencedCubes = new HashMap<>();
+for (CubeInstance cubeInstance : cubes) {
+CubeDesc cubeDesc = cubeInstance.getDescriptor();
+for (TblColRef tblColRef : 
cubeDesc.listDimensionColumnsIncludingDerived()) {
+if (dims.contains(tblColRef.getIdentity()))
+continue;
+if (influencedCubes.get(tblColRef.getIdentity()) == null) {
+List candidates = new ArrayList<>();
+candidates.add(cubeInstance.getName());
+influencedCubes.put(tblColRef.getIdentity(), candidates);
+} else
+
influencedCubes.get(tblColRef.getIdentity()).add(cubeInstance.getName());
+}
+}
+return influencedCubes;
+}
+
+private Map> 
getInfluencedCubesByMeasures(List allCols, List cubes) {
+Map> influencedCubes = new HashMap<>();
+for (CubeInstance cubeInstance : cubes) {
+CubeDesc cubeDesc = cubeInstance.getDescriptor();
+Set tblColRefs = 
Sets.newHashSet(cubeDesc.listAllColumns());
+
tblColRefs.removeAll(cubeDesc.listDimensionColumnsIncludingDerived());
+for (TblColRef tblColRef : tblColRefs) {
+if (allCols.contains(tblColRef.getIdentity()))
+continue;
+if (influencedCubes.get(tblColRef.getIdentity()) == null) {
+List candidates = new ArrayList<>();
+candidates.add(cubeInstance.getName());
+influencedCubes.put(tblColRef.getIdentity(), candidates);
+} else
+
influencedCubes.get(tblColRef.getIdentity()).add(cubeInstance.getName());
+}
+}
+return influencedCubes;
+}
+
+private String checkIfBreakExistingCubes(DataModelDesc dataModelDesc, 
String project) throws IOException {
 String modelName = dataModelDesc.getName();
 List cubes = cubeService.listAllCubes(null, project, 
modelName, true);
+DataModelDesc originDataModelDesc = listAllModels(modelName, project, 
true).get(0);
 
+StringBuilder checkRet = new StringBuilder();
 if (cubes != null && cubes.size() != 0) {
 dataModelDesc.init(getConfig(), 
getMetadataManager().getAllTablesMap(dataModelDesc.getProject()),

[27/50] [abbrv] kylin git commit: KYLIN-2773: fix join condition push down issue caused by type casting

2017-09-04 Thread kangkaisen
KYLIN-2773: fix join condition push down issue caused by type casting


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

Branch: refs/heads/2622-2764
Commit: 87f1732b0a26191122788baaa2fc9d97c96210da
Parents: 28ac7d9
Author: Zhong 
Authored: Tue Aug 29 17:19:47 2017 +0800
Committer: Roger Shi 
Committed: Wed Aug 30 16:02:26 2017 +0800

--
 .../calcite/sql2rel/SqlToRelConverter.java  | 54 
 1 file changed, 54 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/87f1732b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
--
diff --git 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
index f10ba96..3615df7 100644
--- 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
+++ 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
@@ -2468,6 +2468,10 @@ public class SqlToRelConverter {
   return corr;
 }
 
+if (containOnlyCast(joinCond)) {
+  joinCond = convertCastCondition(joinCond);
+}
+
 final Join originalJoin =
 (Join) RelFactories.DEFAULT_JOIN_FACTORY.createJoin(leftRel, rightRel,
 joinCond, ImmutableSet.of(), joinType, false);
@@ -2475,6 +2479,56 @@ public class SqlToRelConverter {
 return RelOptUtil.pushDownJoinConditions(originalJoin);
   }
 
+  private boolean containOnlyCast(RexNode node) {
+boolean result = true;
+switch (node.getKind()) {
+  case AND:
+  case EQUALS:
+final RexCall call = (RexCall) node;
+List operands = Lists.newArrayList(call.getOperands());
+for (int i = 0; i < operands.size(); i++) {
+  RexNode operand = operands.get(i);
+  result &= containOnlyCast(operand);
+}
+break;
+  case OR:
+  case INPUT_REF:
+  case LITERAL:
+  case CAST:
+return true;
+  default:
+return false;
+}
+return result;
+  }
+
+  private static RexNode convertCastCondition(RexNode node) {
+switch (node.getKind()) {
+  case AND:
+  case EQUALS:
+RexCall call = (RexCall) node;
+List list = Lists.newArrayList();
+List operands = Lists.newArrayList(call.getOperands());
+for (int i = 0; i < operands.size(); i++) {
+  RexNode operand = operands.get(i);
+  final RexNode e =
+  convertCastCondition(
+  operand);
+  list.add(e);
+}
+if (!list.equals(call.getOperands())) {
+  return call.clone(call.getType(), list);
+}
+return call;
+  case CAST:
+call = (RexCall) node;
+operands = Lists.newArrayList(call.getOperands());
+return operands.get(0);
+  default:
+return node;
+}
+  }
+
   private CorrelationUse getCorrelationUse(Blackboard bb, final RelNode r0) {
 final Set correlatedVariables =
 RelOptUtil.getVariablesUsed(r0);



[17/50] [abbrv] kylin git commit: minor, avoid buffer size overflow

2017-09-04 Thread kangkaisen
minor, avoid buffer size overflow


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

Branch: refs/heads/2622-2764
Commit: fad75c93f42d252dd1ee2ec7b03df716c15fb2f4
Parents: 3200d6a
Author: Hongbin Ma 
Authored: Mon Aug 28 12:18:23 2017 +0800
Committer: Hongbin Ma 
Committed: Mon Aug 28 12:25:12 2017 +0800

--
 .../kylin/metadata/filter/TupleFilterSerializer.java   | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/fad75c93/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilterSerializer.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilterSerializer.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilterSerializer.java
index 63153ef..d434f0b 100755
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilterSerializer.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilterSerializer.java
@@ -69,8 +69,11 @@ public class TupleFilterSerializer {
 internalSerialize(rootFilter, decorator, buffer, cs);
 break;
 } catch (BufferOverflowException e) {
-logger.info("Buffer size {} cannot hold the filter, resizing 
to 4 times", bufferSize);
-bufferSize *= 4;
+if (bufferSize == (1 << 30))
+throw e;
+
+logger.info("Buffer size {} cannot hold the filter, resizing 
to 2 times", bufferSize);
+bufferSize = bufferSize << 1;
 }
 }
 byte[] result = new byte[buffer.position()];
@@ -78,7 +81,8 @@ public class TupleFilterSerializer {
 return result;
 }
 
-private static void internalSerialize(TupleFilter filter, Decorator 
decorator, ByteBuffer buffer, IFilterCodeSystem cs) {
+private static void internalSerialize(TupleFilter filter, Decorator 
decorator, ByteBuffer buffer,
+IFilterCodeSystem cs) {
 if (decorator != null) { // give decorator a chance to manipulate the 
output filter
 filter = decorator.onSerialize(filter);
 }
@@ -203,7 +207,8 @@ public class TupleFilterSerializer {
 if (extendedTupleFilters.containsKey(op)) {
 try {
 filter = (TupleFilter) 
extendedTupleFilters.get(op).getConstructor().newInstance();
-} catch (InstantiationException | IllegalAccessException | 
InvocationTargetException | NoSuchMethodException e) {
+} catch (InstantiationException | IllegalAccessException | 
InvocationTargetException
+| NoSuchMethodException e) {
 throw new RuntimeException(e);
 }
 } else {



[03/50] [abbrv] kylin git commit: KYLIN-2803 allow non-select query when pushdown is enabled

2017-09-04 Thread kangkaisen
KYLIN-2803 allow non-select query when pushdown is enabled


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

Branch: refs/heads/2622-2764
Commit: f26b1abf7cc3052dae937713f2ebec083e185ae2
Parents: a637d2a
Author: shaofengshi 
Authored: Tue Aug 22 17:09:13 2017 +0800
Committer: Hongbin Ma 
Committed: Tue Aug 22 17:39:02 2017 +0800

--
 .../src/main/java/org/apache/kylin/rest/service/QueryService.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/f26b1abf/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java 
b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
index 75b968b..24ac5a0 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
@@ -366,7 +366,8 @@ public class QueryService extends BasicService {
 logger.info("Using project: " + project);
 logger.info("The original query:  " + sql);
 
-if (!sql.toLowerCase().contains("select")) {
+if (!sql.toLowerCase().contains("select")
+&& KylinConfig.getInstanceFromEnv().isPushDownEnabled() == 
false) {
 logger.debug("Directly return exception as not supported");
 throw new BadRequestException(msg.getNOT_SUPPORTED_SQL());
 }



[43/50] [abbrv] kylin git commit: KYLIN-2838 Should get storageType in changeHtableHost of CubeMigrationCLI

2017-09-04 Thread kangkaisen
KYLIN-2838 Should get storageType in changeHtableHost of CubeMigrationCLI


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

Branch: refs/heads/2622-2764
Commit: 78543d6e970cfb9dc85bcc48775681afcdb1c0e9
Parents: 34596d3
Author: kangkaisen 
Authored: Sun Sep 3 17:52:18 2017 +0800
Committer: kangkaisen 
Committed: Sun Sep 3 17:53:37 2017 +0800

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


http://git-wip-us.apache.org/repos/asf/kylin/blob/78543d6e/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java
--
diff --git a/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java 
b/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java
index bb308e2..d3865c6 100644
--- a/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java
+++ b/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java
@@ -201,7 +201,7 @@ public class CubeMigrationCLI {
 }
 
 protected void changeHtableHost(CubeInstance cube) {
-if (cube.getDescriptor().getEngineType() != 
IStorageAware.ID_SHARDED_HBASE)
+if (cube.getDescriptor().getStorageType() != 
IStorageAware.ID_SHARDED_HBASE)
 return;
 for (CubeSegment segment : cube.getSegments()) {
 operations



[01/50] [abbrv] kylin git commit: minor, add logs [Forced Update!]

2017-09-04 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/2622-2764 2607e18b5 -> ccd076861 (forced update)


minor, add logs


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

Branch: refs/heads/2622-2764
Commit: a637d2a0cea88d85a372bc449269a50a1502471f
Parents: 68ae79a
Author: Cheng Wang 
Authored: Tue Aug 22 16:18:17 2017 +0800
Committer: 成 
Committed: Tue Aug 22 16:46:53 2017 +0800

--
 .../main/java/org/apache/kylin/rest/service/CubeService.java| 1 +
 .../kylin/storage/hbase/util/HBaseRegionSizeCalculator.java | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/a637d2a0/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java 
b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
index f8ca38d..fe8fb6c 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
@@ -718,6 +718,7 @@ public class CubeService extends BasicService implements 
InitializingBean {
 @Override
 public void afterPropertiesSet() throws Exception {
 Broadcaster.getInstance(getConfig()).registerListener(new 
HTableInfoSyncListener(), "cube");
+logger.info("HTableInfoSyncListener is on.");
 }
 
 private class HTableInfoSyncListener extends Broadcaster.Listener {

http://git-wip-us.apache.org/repos/asf/kylin/blob/a637d2a0/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HBaseRegionSizeCalculator.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HBaseRegionSizeCalculator.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HBaseRegionSizeCalculator.java
index 1daca0a..5189628 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HBaseRegionSizeCalculator.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HBaseRegionSizeCalculator.java
@@ -104,8 +104,9 @@ public class HBaseRegionSizeCalculator {
 sizeMap.put(regionId, regionSizeBytes);
 countMap.put(regionId, new 
Pair<>(regionLoad.getStores(), regionLoad.getStorefiles()));
 
-// logger.info("Region " + regionLoad.getNameAsString()
-// + " has size " + regionSizeBytes);
+if (regionSizeBytes == 0L) {
+logger.info("Region " + 
regionLoad.getNameAsString() + " has size " + regionSizeBytes);
+}
 }
 }
 }



[39/50] [abbrv] kylin git commit: KYLIN-2753 Fix for the special case that jobs not really stopped

2017-09-04 Thread kangkaisen
KYLIN-2753 Fix for the special case that jobs not really stopped

Signed-off-by: Billy Liu 


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

Branch: refs/heads/2622-2764
Commit: 1004a853225503e00f48a27949d7e09109e937db
Parents: 7a47e94
Author: zhengdong 
Authored: Fri Sep 1 17:58:21 2017 +0800
Committer: Billy Liu 
Committed: Fri Sep 1 18:10:00 2017 +0800

--
 .../apache/kylin/job/execution/ExecutableManager.java| 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/1004a853/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java
--
diff --git 
a/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java 
b/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java
index 124a5a9..0439ddd 100755
--- 
a/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java
+++ 
b/core-job/src/main/java/org/apache/kylin/job/execution/ExecutableManager.java
@@ -338,12 +338,13 @@ public class ExecutableManager {
 break;
 }
 }
-info = Maps.newHashMap();
 final long endTime = job.getEndTime();
-long interruptTime = System.currentTimeMillis() - endTime + 
job.getInterruptTime();
-info.putAll(getJobOutput(jobId).getInfo());
-info.put(AbstractExecutable.INTERRUPT_TIME, 
Long.toString(interruptTime));
-info.remove(AbstractExecutable.END_TIME);
+if (endTime != 0) {
+long interruptTime = System.currentTimeMillis() - endTime + 
job.getInterruptTime();
+info = Maps.newHashMap(getJobOutput(jobId).getInfo());
+info.put(AbstractExecutable.INTERRUPT_TIME, 
Long.toString(interruptTime));
+info.remove(AbstractExecutable.END_TIME);
+}
 }
 updateJobOutput(jobId, ExecutableState.READY, info, null);
 }



[47/50] [abbrv] kylin git commit: KYLIN-2833 Storage cleanup job could delete the intermediate hive table used by running jobs

2017-09-04 Thread kangkaisen
KYLIN-2833 Storage cleanup job could delete the intermediate hive table used by 
running jobs

Signed-off-by: Li Yang 


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

Branch: refs/heads/2622-2764
Commit: 14058bda896f7670c333ca14f614e7cdab0ce62c
Parents: 1da269d
Author: zhengdong 
Authored: Fri Sep 1 18:27:57 2017 +0800
Committer: Li Yang 
Committed: Sun Sep 3 20:15:58 2017 +0800

--
 .../main/java/org/apache/kylin/rest/job/StorageCleanupJob.java | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/14058bda/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java 
b/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java
old mode 100644
new mode 100755
index 8bb06b5..6d1d44c
--- a/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java
@@ -324,10 +324,8 @@ public class StorageCleanupJob extends AbstractApplication 
{
 for (String jobId : workingJobList) {
 String segmentId = getSegmentIdFromJobId(jobId);
 
-if (null == segmentId)
-continue;
-
-return segUuid.equals(segmentId);
+if (segUuid.equals(segmentId))
+return true;
 }
 return false;
 }



[44/50] [abbrv] kylin git commit: KYLIN-2814 fix HTTP connection may not be released in RestClient

2017-09-04 Thread kangkaisen
KYLIN-2814 fix HTTP connection may not be released in RestClient

Signed-off-by: Li Yang 


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

Branch: refs/heads/2622-2764
Commit: ae311b10e29f64c519140e4c02d903987981733a
Parents: 78543d6
Author: lichao 
Authored: Fri Aug 25 14:31:17 2017 +0800
Committer: Li Yang 
Committed: Sun Sep 3 17:57:25 2017 +0800

--
 .../java/org/apache/kylin/common/restclient/RestClient.java| 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/ae311b10/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java 
b/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
index 13490cb..b0ca5f7 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
@@ -121,8 +121,9 @@ public class RestClient {
 String url = baseUrl + "/cache/" + entity + "/" + cacheKey + "/" + 
event;
 HttpPut request = new HttpPut(url);
 
+HttpResponse response = null;
 try {
-HttpResponse response = client.execute(request);
+response = client.execute(request);
 
 if (response.getStatusLine().getStatusCode() != 200) {
 String msg = EntityUtils.toString(response.getEntity());
@@ -131,6 +132,9 @@ public class RestClient {
 } catch (Exception ex) {
 throw new IOException(ex);
 } finally {
+if (response != null) {
+EntityUtils.consume(response.getEntity());
+}
 request.releaseConnection();
 }
 }



[31/50] [abbrv] kylin git commit: minor, refactor pushdown code

2017-09-04 Thread kangkaisen
minor, refactor pushdown code


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

Branch: refs/heads/2622-2764
Commit: 068baf6b3ec13fe6e68e9a41593dcd139b4a8597
Parents: a4aeb77
Author: Li Yang 
Authored: Wed Aug 30 21:18:19 2017 +0800
Committer: Roger Shi 
Committed: Thu Aug 31 10:37:32 2017 +0800

--
 .../kylin/common/debug/BackdoorToggles.java |  19 +++-
 .../source/adhocquery/IPushDownRunner.java  |   2 +-
 .../org/apache/kylin/query/KylinTestBase.java   |  11 +-
 .../query/adhoc/PushDownRunnerJdbcImpl.java |   5 +-
 .../apache/kylin/query/relnode/OLAPContext.java |  11 +-
 .../apache/kylin/query/relnode/OLAPJoinRel.java |   1 +
 .../relnode/OLAPToEnumerableConverter.java  |  61 ++-
 .../routing/RoutingIndicatorException.java  |  35 +++
 .../apache/kylin/query/util/PushDownUtil.java   | 104 ++-
 .../apache/kylin/rest/service/QueryService.java |  37 ---
 10 files changed, 145 insertions(+), 141 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/068baf6b/core-common/src/main/java/org/apache/kylin/common/debug/BackdoorToggles.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/debug/BackdoorToggles.java 
b/core-common/src/main/java/org/apache/kylin/common/debug/BackdoorToggles.java
index 8cb48b6..88c7c16 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/debug/BackdoorToggles.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/debug/BackdoorToggles.java
@@ -40,6 +40,14 @@ public class BackdoorToggles {
 _backdoorToggles.set(toggles);
 }
 
+public static void addToggle(String key, String value) {
+Map map = _backdoorToggles.get();
+if (map == null) {
+setToggles(Maps. newHashMap());
+}
+_backdoorToggles.get().put(key, value);
+}
+
 public static void addToggles(Map toggles) {
 Map map = _backdoorToggles.get();
 if (map == null) {
@@ -47,6 +55,15 @@ public class BackdoorToggles {
 }
 _backdoorToggles.get().putAll(toggles);
 }
+
+// try avoid using this generic method
+public static String getToggle(String key) {
+Map map = _backdoorToggles.get();
+if (map == null)
+return null;
+
+return map.get(key);
+}
 
 public static String getCoprocessorBehavior() {
 return getString(DEBUG_TOGGLE_COPROCESSOR_BEHAVIOR);
@@ -109,7 +126,7 @@ public class BackdoorToggles {
 public static boolean getPrepareOnly() {
 return getBoolean(DEBUG_TOGGLE_PREPARE_ONLY);
 }
-
+
 private static String getString(String key) {
 Map toggles = _backdoorToggles.get();
 if (toggles == null) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/068baf6b/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/IPushDownRunner.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/IPushDownRunner.java
 
b/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/IPushDownRunner.java
index 0336bfb..9983f5c 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/IPushDownRunner.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/IPushDownRunner.java
@@ -47,6 +47,6 @@ public interface IPushDownRunner {
  *
  * @throws Exception if running pushdown fails
  */
-boolean executeUpdate(String sql) throws Exception;
+void executeUpdate(String sql) throws Exception;
 
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/068baf6b/kylin-it/src/test/java/org/apache/kylin/query/KylinTestBase.java
--
diff --git a/kylin-it/src/test/java/org/apache/kylin/query/KylinTestBase.java 
b/kylin-it/src/test/java/org/apache/kylin/query/KylinTestBase.java
index 8f143c7..d3db995 100644
--- a/kylin-it/src/test/java/org/apache/kylin/query/KylinTestBase.java
+++ b/kylin-it/src/test/java/org/apache/kylin/query/KylinTestBase.java
@@ -70,7 +70,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
 import com.google.common.io.Files;
 
 /**
@@ -261,14 +260,12 @@ public class KylinTestBase {
 
 return output(resultSet, needDisplay);
 } catch (SQLException sqlException) {
-List> results = Lists.newArrayList();
-List columnMetas = Lists.newArrayList();
-boolean b

[02/50] [abbrv] kylin git commit: minor, remove user/ADMIN

2017-09-04 Thread kangkaisen
minor, remove user/ADMIN


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

Branch: refs/heads/2622-2764
Commit: 891caabd7563b230855d251f4896fdfa9c09d0cd
Parents: aaf9416
Author: Hongbin Ma 
Authored: Tue Aug 22 17:26:52 2017 +0800
Committer: Hongbin Ma 
Committed: Tue Aug 22 17:27:57 2017 +0800

--
 examples/sample_cube/template/user/ADMIN | 19 ---
 1 file changed, 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/891caabd/examples/sample_cube/template/user/ADMIN
--
diff --git a/examples/sample_cube/template/user/ADMIN 
b/examples/sample_cube/template/user/ADMIN
deleted file mode 100644
index f27a36f..000
--- a/examples/sample_cube/template/user/ADMIN
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  "username" : "ADMIN",
-  "password" : "skippped-ldap",
-  "authorities" : [ {
-"authority" : "ROLE_ADMIN"
-  }, {
-"authority" : "ROLE_ANALYST"
-  }, {
-"authority" : "ROLE_MODELER"
-  } ],
-  "disabled" : false,
-  "defaultPassword" : false,
-  "locked" : false,
-  "lockedTime" : 0,
-  "wrongTime" : 0,
-  "uuid" : null,
-  "last_modified" : 0,
-  "version" : "2.1.0"
-}
\ No newline at end of file



[13/50] [abbrv] kylin git commit: KYLIN-2811, refine spark cubing

2017-09-04 Thread kangkaisen
KYLIN-2811, refine spark cubing

Signed-off-by: Hongbin Ma 


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

Branch: refs/heads/2622-2764
Commit: a1c234a9afbc5a30306f4275127649f980ab75bd
Parents: 4316cfd
Author: Cheng Wang 
Authored: Sun Aug 27 13:29:12 2017 +0800
Committer: Hongbin Ma 
Committed: Sun Aug 27 15:08:18 2017 +0800

--
 .../org/apache/kylin/common/KylinConfig.java|  50 +--
 .../metadata/model/ComputedColumnDesc.java  |  10 +-
 .../kylin/engine/mr/common/BatchConstants.java  |   1 +
 .../spark/SparkBatchCubingJobBuilder2.java  |   1 +
 .../kylin/engine/spark/SparkCubingByLayer.java  | 380 ---
 .../localmeta/cube_desc/ci_inner_join_cube.json |   2 +-
 .../kylin/rest/util/Log4jConfigListener.java|   1 +
 7 files changed, 267 insertions(+), 178 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/a1c234a9/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
--
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java 
b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
index a56e9b8..1d5e0ec 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
@@ -18,6 +18,15 @@
 
 package org.apache.kylin.common;
 
+import com.google.common.base.Preconditions;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.kylin.common.restclient.RestClient;
+import org.apache.kylin.common.util.ClassUtil;
+import org.apache.kylin.common.util.OrderedProperties;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
@@ -34,26 +43,15 @@ import java.util.Enumeration;
 import java.util.Map;
 import java.util.Properties;
 
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.kylin.common.restclient.RestClient;
-import org.apache.kylin.common.util.ClassUtil;
-import org.apache.kylin.common.util.HadoopUtil;
-import org.apache.kylin.common.util.OrderedProperties;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Preconditions;
-
 /**
  */
 public class KylinConfig extends KylinConfigBase {
 private static final long serialVersionUID = 1L;
 private static final Logger logger = 
LoggerFactory.getLogger(KylinConfig.class);
 
-/** Kylin properties file name */
+/**
+ * Kylin properties file name
+ */
 public static final String KYLIN_CONF_PROPERTIES_FILE = "kylin.properties";
 public static final String KYLIN_CONF = "KYLIN_CONF";
 
@@ -62,7 +60,7 @@ public class KylinConfig extends KylinConfigBase {
 
 // thread-local instances, will override SYS_ENV_INSTANCE
 private static transient ThreadLocal THREAD_ENV_INSTANCE = 
new ThreadLocal<>();
-
+
 static {
 /*
  * Make Calcite to work with Unicode.
@@ -121,9 +119,6 @@ public class KylinConfig extends KylinConfigBase {
 }
 
 private static UriType decideUriType(String metaUri) {
-if (metaUri.indexOf("@hdfs") > 0) {
-return UriType.HDFS_FILE;
-}
 
 try {
 File file = new File(metaUri);
@@ -163,23 +158,6 @@ public class KylinConfig extends KylinConfigBase {
  */
 UriType uriType = decideUriType(uri);
 
-if (uriType == UriType.HDFS_FILE) {
-KylinConfig config;
-FileSystem fs;
-int cut = uri.indexOf('@');
-String realHdfsPath = uri.substring(0, cut) + "/" + 
KYLIN_CONF_PROPERTIES_FILE;
-try {
-config = new KylinConfig();
-fs = HadoopUtil.getFileSystem(realHdfsPath);
-InputStream is = fs.open(new Path(realHdfsPath));
-Properties prop = streamToProps(is);
-config.reloadKylinConfig(prop);
-} catch (IOException e) {
-throw new RuntimeException(e);
-}
-return config;
-}
-
 if (uriType == UriType.LOCAL_FOLDER) {
 KylinConfig config = new KylinConfig();
 config.setMetadataUrl(uri);
@@ -241,7 +219,7 @@ public class KylinConfig extends KylinConfigBase {
 public static void setKylinConfigThreadLocal(KylinConfig config) {
 THREAD_ENV_INSTANCE.set(config);
 }
-
+
 public static void removeKylinConfigThrea

[36/50] [abbrv] kylin git commit: KYLIN-2824 Parse Boolean type in JDBC driver

2017-09-04 Thread kangkaisen
KYLIN-2824 Parse Boolean type in JDBC driver

Signed-off-by: Billy Liu 


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

Branch: refs/heads/2622-2764
Commit: 7a47e9479f7a8c53d284d3bd95cf11b145cf9c36
Parents: 363f858
Author: Tianhao Zhao 
Authored: Thu Aug 31 16:10:28 2017 +0800
Committer: Billy Liu 
Committed: Fri Sep 1 17:37:31 2017 +0800

--
 jdbc/src/main/java/org/apache/kylin/jdbc/KylinClient.java | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/7a47e947/jdbc/src/main/java/org/apache/kylin/jdbc/KylinClient.java
--
diff --git a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinClient.java 
b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinClient.java
index d42dbb1..cd7b921 100644
--- a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinClient.java
+++ b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinClient.java
@@ -112,6 +112,7 @@ public class KylinClient implements IRemoteClient {
 result = BigDecimal.class;
 break;
 case Types.BIT:
+case Types.BOOLEAN:
 result = Boolean.class;
 break;
 case Types.TINYINT:
@@ -167,6 +168,7 @@ public class KylinClient implements IRemoteClient {
 case Types.DECIMAL:
 return new BigDecimal(value);
 case Types.BIT:
+case Types.BOOLEAN:
 return Boolean.parseBoolean(value);
 case Types.TINYINT:
 return Byte.valueOf(value);



[20/50] [abbrv] kylin git commit: KYLIN-2816 wrap columns with backtick

2017-09-04 Thread kangkaisen
KYLIN-2816 wrap columns with backtick


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

Branch: refs/heads/2622-2764
Commit: 74c904e4eedc224b07c9b6463ab0b63faddd4a21
Parents: b778f33
Author: tttMelody <245915...@qq.com>
Authored: Mon Aug 28 14:19:36 2017 +0800
Committer: Hongbin Ma 
Committed: Mon Aug 28 15:25:27 2017 +0800

--
 .../org/apache/kylin/job/JoinedFlatTable.java   | 77 ++--
 .../kylin/job/TestWrapColumnWithBacktick.java   | 57 +++
 .../metadata/model/tool/CalciteParser.java  |  8 +-
 3 files changed, 135 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/74c904e4/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
--
diff --git a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java 
b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
index 824c693..4ac5a3a 100644
--- a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
+++ b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
@@ -21,11 +21,17 @@ package org.apache.kylin.job;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.calcite.sql.SqlIdentifier;
+import org.apache.calcite.sql.SqlNode;
+import org.apache.calcite.sql.util.SqlBasicVisitor;
 import org.apache.kylin.common.KylinConfig;
+import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.cube.CubeSegment;
 import org.apache.kylin.job.engine.JobEngineConfig;
 import org.apache.kylin.metadata.model.DataModelDesc;
@@ -35,6 +41,9 @@ import org.apache.kylin.metadata.model.JoinTableDesc;
 import org.apache.kylin.metadata.model.PartitionDesc;
 import org.apache.kylin.metadata.model.TableRef;
 import org.apache.kylin.metadata.model.TblColRef;
+import org.apache.kylin.metadata.model.tool.CalciteParser;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  *
@@ -43,6 +52,7 @@ import org.apache.kylin.metadata.model.TblColRef;
 public class JoinedFlatTable {
 
 public static final String BACKTICK = "`";
+private static final Logger logger = 
LoggerFactory.getLogger(JoinedFlatTable.class);
 
 public static String getTableDir(IJoinedFlatTableDesc flatDesc, String 
storageDfsDir) {
 return storageDfsDir + "/" + flatDesc.getTableName();
@@ -130,11 +140,7 @@ public class JoinedFlatTable {
 sql.append(",");
 }
 String colTotalName = String.format("%s.%s", 
col.getTableRef().getTableName(), col.getName());
-String expressionInSourceDB = col.getExpressionInSourceDB();
-if (expressionInSourceDB.contains(".")) {
-// surround column name with back-tick, to support unicode 
column name
-expressionInSourceDB = expressionInSourceDB.replace(".", "." + 
BACKTICK) + BACKTICK;
-}
+String expressionInSourceDB = 
quoteOriginalColumnWithBacktick(col.getExpressionInSourceDB());
 if (skipAsList.contains(colTotalName)) {
 sql.append(expressionInSourceDB + sep);
 } else {
@@ -277,4 +283,65 @@ public class JoinedFlatTable {
 return sql.toString();
 }
 
+/**
+ * quote column name with back-tick, to support unicode column name
+ *
+ * @param sourceSQL
+ * @return
+ */
+static String quoteOriginalColumnWithBacktick(String sourceSQL) {
+StringBuilder result = new StringBuilder(sourceSQL);
+try {
+List> replacePoses = new ArrayList<>();
+for (SqlIdentifier id : 
SqlIdentifierVisitor.getAllSqlIdentifier(CalciteParser.getExpNode(sourceSQL))) {
+
replacePoses.add(CalciteParser.getReplacePos(id.getComponentParserPosition(1), 
"select " + sourceSQL + " from t"));
+}
+
+// latter replace position in the front of the list.
+Collections.sort(replacePoses, new Comparator>() {
+@Override
+public int compare(Pair o1, Pair o2) {
+return -(o1.getSecond() - o2.getSecond());
+}
+});
+
+// cuz the pos is add "select "'s size, so minus 7 offset.
+final int OFFSET = 7;
+for (Pair replacePos : replacePoses) {
+result.insert(replacePos.getSecond() - OFFSET, "`");
+result.insert(replacePos.getFirst() - OFFSET, "`");
+}
+} catch (

[12/50] [abbrv] kylin git commit: KYLIN-2808, fix table not fould exception

2017-09-04 Thread kangkaisen
KYLIN-2808, fix table not fould exception


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

Branch: refs/heads/2622-2764
Commit: ff4f634fe5ad5f96b1506a2ab368eb701f62c5dc
Parents: 1fff421
Author: Cheng Wang 
Authored: Fri Aug 25 19:10:19 2017 +0800
Committer: 成 
Committed: Sat Aug 26 00:19:08 2017 +0800

--
 .../apache/kylin/source/hive/HiveMRInput.java   | 41 +---
 1 file changed, 26 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/ff4f634f/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 71a7152..096134c 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
@@ -62,10 +62,12 @@ public class HiveMRInput implements IMRInput {
 
 @SuppressWarnings("unused")
 private static final Logger logger = 
LoggerFactory.getLogger(HiveMRInput.class);
-
+
 public static String getTableNameForHCat(TableDesc table) {
 String tableName = (table.isView()) ? table.getMaterializedName() : 
table.getName();
-return String.format("%s.%s", table.getDatabase(), 
tableName).toUpperCase();
+String database = (table.isView()) ? 
KylinConfig.getInstanceFromEnv().getHiveDatabaseForIntermediateTable()
+: table.getDatabase();
+return String.format("%s.%s", database, tableName).toUpperCase();
 }
 
 @Override
@@ -139,17 +141,18 @@ public class HiveMRInput implements IMRInput {
 @Override
 public void addStepPhase1_CreateFlatTable(DefaultChainedExecutable 
jobFlow) {
 final String cubeName = 
CubingExecutableUtil.getCubeName(jobFlow.getParams());
-final KylinConfig cubeConfig = 
CubeManager.getInstance(KylinConfig.getInstanceFromEnv()).getCube(cubeName).getConfig();
+final KylinConfig cubeConfig = 
CubeManager.getInstance(KylinConfig.getInstanceFromEnv()).getCube(cubeName)
+.getConfig();
 final String hiveInitStatements = 
JoinedFlatTable.generateHiveInitStatements(flatTableDatabase);
 
 // create flat table first
 addStepPhase1_DoCreateFlatTable(jobFlow);
-
+
 // then count and redistribute
 if (cubeConfig.isHiveRedistributeEnabled()) {
 
jobFlow.addTask(createRedistributeFlatHiveTableStep(hiveInitStatements, 
cubeName));
 }
-
+
 // special for hive
 addStepPhase1_DoMaterializeLookupTable(jobFlow);
 }
@@ -158,14 +161,14 @@ public class HiveMRInput implements IMRInput {
 final String cubeName = 
CubingExecutableUtil.getCubeName(jobFlow.getParams());
 final String hiveInitStatements = 
JoinedFlatTable.generateHiveInitStatements(flatTableDatabase);
 final String jobWorkingDir = getJobWorkingDir(jobFlow);
-
+
 jobFlow.addTask(createFlatHiveTableStep(hiveInitStatements, 
jobWorkingDir, cubeName));
 }
 
 protected void 
addStepPhase1_DoMaterializeLookupTable(DefaultChainedExecutable jobFlow) {
 final String hiveInitStatements = 
JoinedFlatTable.generateHiveInitStatements(flatTableDatabase);
 final String jobWorkingDir = getJobWorkingDir(jobFlow);
-
+
 AbstractExecutable task = 
createLookupHiveViewMaterializationStep(hiveInitStatements, jobWorkingDir);
 if (task != null) {
 jobFlow.addTask(task);
@@ -186,7 +189,8 @@ public class HiveMRInput implements IMRInput {
 return step;
 }
 
-private ShellExecutable createLookupHiveViewMaterializationStep(String 
hiveInitStatements, String jobWorkingDir) {
+private ShellExecutable createLookupHiveViewMaterializationStep(String 
hiveInitStatements,
+String jobWorkingDir) {
 ShellExecutable step = new ShellExecutable();
 
step.setName(ExecutableConstants.STEP_NAME_MATERIALIZE_HIVE_VIEW_IN_LOOKUP);
 
@@ -215,21 +219,25 @@ public class HiveMRInput implements IMRInput {
 if (lookUpTableDesc.isView()) {
 StringBuilder createIntermediateTableHql = new 
StringBuilder();
 createIntermediateTableHql.append("DROP TABLE IF EXISTS " 
+ intermediate + ";\n");
-createIntermediateTable

[41/50] [abbrv] kylin git commit: KYLIN-2818 Refactor dateRange & sourceOffset on CubeSegment

2017-09-04 Thread kangkaisen
KYLIN-2818 Refactor dateRange & sourceOffset on CubeSegment


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

Branch: refs/heads/2622-2764
Commit: 75fbdcffb0366cb555783a229d1a514d010abd87
Parents: a54f016
Author: Li Yang 
Authored: Fri Sep 1 15:18:36 2017 +0800
Committer: Hongbin Ma 
Committed: Sat Sep 2 18:47:28 2017 +0800

--
 .../apache/kylin/common/KylinConfigBase.java|   4 +
 .../org/apache/kylin/common/util/ClassUtil.java |   1 -
 .../main/resources/kylin-defaults.properties|   1 +
 .../org/apache/kylin/cube/CubeInstance.java |  12 +-
 .../java/org/apache/kylin/cube/CubeManager.java | 164 ++
 .../java/org/apache/kylin/cube/CubeSegment.java | 136 ++--
 .../apache/kylin/cube/CubeSegmentAdvisor.java   |  95 
 .../org/apache/kylin/cube/CubeValidator.java| 132 ---
 .../cube/gridtable/SegmentGTStartAndEnd.java|  11 +-
 .../org/apache/kylin/cube/model/CubeDesc.java   |   2 +-
 .../cube/model/CubeJoinedFlatTableDesc.java |  14 +-
 .../cube/model/CubeJoinedFlatTableEnrich.java   |  18 +-
 .../org/apache/kylin/cube/CubeManagerTest.java  |  49 +++--
 .../org/apache/kylin/cube/CubeSegmentsTest.java |  52 ++---
 .../org/apache/kylin/job/JoinedFlatTable.java   |   8 +-
 .../metadata/model/ComputedColumnDesc.java  |   1 +
 .../metadata/model/IJoinedFlatTableDesc.java|   5 +-
 .../apache/kylin/metadata/model/ISegment.java   |  21 +-
 .../kylin/metadata/model/ISegmentAdvisor.java   |  35 +++
 .../apache/kylin/metadata/model/JoinDesc.java   |   7 +-
 .../kylin/metadata/model/MeasureDesc.java   |   1 +
 .../kylin/metadata/model/PartitionDesc.java |  89 +---
 .../kylin/metadata/model/SegmentRange.java  | 220 +++
 .../apache/kylin/metadata/model/Segments.java   | 166 +++---
 .../apache/kylin/metadata/model/TableRef.java   |   1 +
 .../apache/kylin/metadata/model/TblColRef.java  |   2 +-
 .../apache/kylin/source/SourcePartition.java|  57 ++---
 .../DefaultPartitionConditionBuilderTest.java   |  20 +-
 .../kylin/storage/translate/HBaseKeyRange.java  |   2 +-
 .../mr/steps/UpdateCubeInfoAfterBuildStep.java  |   7 +-
 .../engine/mr/steps/MergeCuboidMapperTest.java  |   3 +-
 .../kylin/provision/BuildCubeWithEngine.java|  14 +-
 .../kylin/provision/BuildCubeWithStream.java|  19 +-
 .../.settings/org.eclipse.core.resources.prefs  |   1 -
 .../kylin/rest/controller/CubeController.java   |  40 ++--
 .../rest/controller2/CubeControllerV2.java  |  40 ++--
 .../apache/kylin/rest/job/HybridCubeCLI.java|  16 +-
 .../apache/kylin/rest/service/CubeService.java  |  13 +-
 .../apache/kylin/rest/service/JobService.java   |  58 ++---
 .../apache/kylin/rest/service/ModelService.java |  10 +-
 .../rest/controller/CubeControllerTest.java |  10 +-
 .../kylin/rest/service/CacheServiceTest.java|   3 +-
 .../apache/kylin/source/hive/HiveSource.java|   3 +-
 .../apache/kylin/source/jdbc/JdbcSource.java|   3 +-
 .../apache/kylin/source/kafka/KafkaSource.java  |  22 +-
 .../kylin/source/kafka/job/MergeOffsetStep.java |  18 +-
 .../hbase/util/ExtendCubeToHybridCLI.java   |   6 +-
 .../kylin/tool/ExtendCubeToHybridCLI.java   |   6 +-
 48 files changed, 965 insertions(+), 653 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/75fbdcff/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 e5fc3d6..9533400 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
@@ -335,6 +335,10 @@ abstract public class KylinConfigBase implements 
Serializable {
 return getOptional("kylin.cube.cuboid-scheduler", 
"org.apache.kylin.cube.cuboid.DefaultCuboidScheduler");
 }
 
+public String getSegmentAdvisor() {
+return getOptional("kylin.cube.segment-advisor", 
"org.apache.kylin.cube.CubeSegmentAdvisor");
+}
+
 public double getJobCuboidSizeRatio() {
 return 
Double.parseDouble(getOptional("kylin.cube.size-estimate-ratio", "0.25"));
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/75fbdcff/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/u

[04/50] [abbrv] kylin git commit: minor, only apply adjustSqlDigest to involved aggregations

2017-09-04 Thread kangkaisen
minor, only apply adjustSqlDigest to involved aggregations


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

Branch: refs/heads/2622-2764
Commit: d85f6ab0130e3c1962c9dc770e06f178d3d85c32
Parents: f26b1ab
Author: Roger Shi 
Authored: Tue Aug 22 17:42:37 2017 +0800
Committer: Roger Shi 
Committed: Tue Aug 22 17:55:53 2017 +0800

--
 .../org/apache/kylin/cube/CubeCapabilityChecker.java |  5 +
 .../extendedcolumn/ExtendedColumnMeasureType.java| 10 +-
 .../org/apache/kylin/measure/raw/RawMeasureType.java | 10 +-
 .../apache/kylin/measure/topn/TopNMeasureType.java   | 15 ++-
 .../kylin/metadata/realization/CapabilityResult.java |  8 
 .../apache/kylin/metadata/realization/SQLDigest.java | 10 --
 .../apache/kylin/storage/hbase/ITStorageTest.java|  4 +++-
 .../kylin/query/enumerator/OLAPEnumerator.java   |  1 -
 .../org/apache/kylin/query/relnode/OLAPContext.java  |  5 -
 .../org/apache/kylin/query/routing/QueryRouter.java  |  6 ++
 10 files changed, 66 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/d85f6ab0/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 61516d2..47f268a 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
@@ -127,6 +127,11 @@ public class CubeCapabilityChecker {
 public double suggestCostMultiplier() {
 return 100;
 }
+
+@Override
+public MeasureDesc getInvolvedMeasure() {
+return null;
+}
 });
 }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/d85f6ab0/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
 
b/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
index de5ee25..c95cd1c 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
@@ -95,6 +95,9 @@ public class ExtendedColumnMeasureType extends 
MeasureType {
 @Override
 public void adjustSqlDigest(List measureDescs, SQLDigest 
sqlDigest) {
 for (MeasureDesc measureDesc : measureDescs) {
+if (!sqlDigest.involvedMeasure.contains(measureDesc)) {
+continue;
+}
 FunctionDesc extendColumnFunc = measureDesc.getFunction();
 List hosts = getExtendedColumnHosts(extendColumnFunc);
 TblColRef extended = getExtendedColumn(extendColumnFunc);
@@ -111,7 +114,7 @@ public class ExtendedColumnMeasureType extends 
MeasureType {
 }
 
 @Override
-public CapabilityResult.CapabilityInfluence 
influenceCapabilityCheck(Collection unmatchedDimensions, 
Collection unmatchedAggregations, SQLDigest digest, MeasureDesc 
measureDesc) {
+public CapabilityResult.CapabilityInfluence 
influenceCapabilityCheck(Collection unmatchedDimensions, 
Collection unmatchedAggregations, SQLDigest digest, final 
MeasureDesc measureDesc) {
 TblColRef extendedCol = getExtendedColumn(measureDesc.getFunction());
 
 if (!unmatchedDimensions.contains(extendedCol)) {
@@ -129,6 +132,11 @@ public class ExtendedColumnMeasureType extends 
MeasureType {
 public double suggestCostMultiplier() {
 return 0.9;
 }
+
+@Override
+public MeasureDesc getInvolvedMeasure() {
+return measureDesc;
+}
 };
 }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/d85f6ab0/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java 
b/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
index 31f35e9..eee8fa6 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
+++ 
b

[21/50] [abbrv] kylin git commit: minor, fix some error messages.

2017-09-04 Thread kangkaisen
minor, fix some error messages.


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

Branch: refs/heads/2622-2764
Commit: 480592d49b8479d4cbba74e889eb5e256d9b2ef8
Parents: 74c904e
Author: Roger Shi 
Authored: Mon Aug 28 15:41:59 2017 +0800
Committer: Roger Shi 
Committed: Mon Aug 28 15:47:38 2017 +0800

--
 server-base/src/main/java/org/apache/kylin/rest/msg/CnMessage.java | 2 +-
 server-base/src/main/java/org/apache/kylin/rest/msg/Message.java   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/480592d4/server-base/src/main/java/org/apache/kylin/rest/msg/CnMessage.java
--
diff --git a/server-base/src/main/java/org/apache/kylin/rest/msg/CnMessage.java 
b/server-base/src/main/java/org/apache/kylin/rest/msg/CnMessage.java
index ece4b83..2b1bf8e 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/msg/CnMessage.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/msg/CnMessage.java
@@ -187,7 +187,7 @@ public class CnMessage extends Message {
 }
 
 public String getUPDATE_MODEL_KEY_FIELD() {
-return "已使用的维度和度量与现有的连接æ 
‘不能被修改";
+return "由于维度、度量或者连接å…
³ç³»è¢«ä¿®æ”¹å¯¼è‡´ä¸Žå­˜åœ¨çš„cube定义不一致,因而当前模型无
法保存。";
 }
 
 public String getBROKEN_MODEL_DESC() {

http://git-wip-us.apache.org/repos/asf/kylin/blob/480592d4/server-base/src/main/java/org/apache/kylin/rest/msg/Message.java
--
diff --git a/server-base/src/main/java/org/apache/kylin/rest/msg/Message.java 
b/server-base/src/main/java/org/apache/kylin/rest/msg/Message.java
index 8137c34..146a0a5 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/msg/Message.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/msg/Message.java
@@ -187,7 +187,7 @@ public class Message {
 }
 
 public String getUPDATE_MODEL_KEY_FIELD() {
-return "Dimensions and measures in use and existing join tree cannot 
be modified.";
+return "Model cannot save because there are dimensions, measures or 
join relations modified to be inconsistent with existing cube.";
 }
 
 public String getBROKEN_MODEL_DESC() {



[37/50] [abbrv] kylin git commit: minor, code clean up in KylinConfig

2017-09-04 Thread kangkaisen
ontributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+package org.apache.kylin.common;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.util.Properties;
+
+import org.apache.kylin.common.util.LocalFileMetadataTestCase;
+import org.junit.After;
+import org.junit.Before;
+
+/**
+ * @author kangkaisen
+ */
+
+public class HotLoadKylinPropertiesTestCase extends LocalFileMetadataTestCase {
+@Before
+public void setUp() throws Exception {
+this.createTestMetadata();
+}
+
+@After
+public void after() throws Exception {
+this.cleanupTestMetadata();
+}
+
+protected void updateProperty(String key, String value) {
+File propFile = KylinConfig.getSitePropertiesFile();
+Properties conf = new Properties();
+
+//load
+try (FileInputStream is = new FileInputStream(propFile)) {
+conf.load(is);
+conf.setProperty(key, value);
+} catch (Exception e) {
+System.err.println(e.getMessage());
+}
+
+//store
+try (FileOutputStream out = new FileOutputStream(propFile)) {
+conf.store(out, null);
+} catch (Exception e) {
+System.err.println(e.getMessage());
+}
+}
+}

http://git-wip-us.apache.org/repos/asf/kylin/blob/4b3a44b9/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java
--
diff --git 
a/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java 
b/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java
index f20ed7c..6da854b 100644
--- a/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java
+++ b/core-common/src/test/java/org/apache/kylin/common/KylinConfigTest.java
@@ -27,7 +27,6 @@ import static org.junit.Assert.assertTrue;
 import java.util.Map;
 import java.util.Properties;
 
-import org.apache.kylin.common.util.HotLoadKylinPropertiesTestCase;
 import org.junit.Test;
 
 import com.google.common.collect.Maps;
@@ -85,7 +84,7 @@ public class KylinConfigTest extends 
HotLoadKylinPropertiesTestCase {
 assertEquals("who...@kylin.apache.org", config.getKylinOwner());
 
 updateProperty("kylin.storage.hbase.owner-tag", 
"ky...@kylin.apache.org");
-KylinConfig.getInstanceFromEnv().hotLoadKylinProperties();
+KylinConfig.getInstanceFromEnv().reloadFromSiteProperties();
 
 assertEquals("ky...@kylin.apache.org", config.getKylinOwner());
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/4b3a44b9/core-common/src/test/java/org/apache/kylin/common/util/HotLoadKylinPropertiesTestCase.java
--
diff --git 
a/core-common/src/test/java/org/apache/kylin/common/util/HotLoadKylinPropertiesTestCase.java
 
b/core-common/src/test/java/org/apache/kylin/common/util/HotLoadKylinPropertiesTestCase.java
deleted file mode 100644
index 9f5b278..000
--- 
a/core-common/src/test/java/org/apache/kylin/common/util/HotLoadKylinPropertiesTestCase.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.common.util;
-
-import org.apache.kylin.common.KylinConfig;
-import org.junit.After;
-import org.junit.Before;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import 

[06/50] [abbrv] kylin git commit: KYLIN-2776 Using dropwizard as default metric framework

2017-09-04 Thread kangkaisen
http://git-wip-us.apache.org/repos/asf/kylin/blob/8e078847/server/src/test/java/org/apache/kylin/rest/metrics/QueryMetrics2Test.java
--
diff --git 
a/server/src/test/java/org/apache/kylin/rest/metrics/QueryMetrics2Test.java 
b/server/src/test/java/org/apache/kylin/rest/metrics/QueryMetrics2Test.java
new file mode 100644
index 000..5e3e00b
--- /dev/null
+++ b/server/src/test/java/org/apache/kylin/rest/metrics/QueryMetrics2Test.java
@@ -0,0 +1,128 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.kylin.rest.metrics;
+
+import static 
org.apache.kylin.common.metrics.common.Metricss.buildCubeMetricPrefix;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
+import org.apache.kylin.common.metrics.common.Metrics;
+import org.apache.kylin.common.metrics.common.MetricsConstant;
+import org.apache.kylin.common.metrics.common.MetricsFactory;
+import org.apache.kylin.common.metrics.common.Metricss;
+import org.apache.kylin.rest.request.SQLRequest;
+import org.apache.kylin.rest.response.SQLResponse;
+import org.apache.kylin.rest.service.ServiceTestBase;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.codahale.metrics.Snapshot;
+
+public class QueryMetrics2Test extends ServiceTestBase {
+
+private static MBeanServer mBeanServer;
+private static ObjectName objectName;
+
+@Before
+public void setup() throws Exception {
+super.setup();
+
+objectName = new ObjectName("Hadoop:service=Kylin,name=Server_Total");
+}
+
+@Test
+public void testQueryMetrics() throws Exception {
+System.setProperty("kylin.server.query-metrics-enabled", "true");
+QueryMetrics2Facade.init();
+
+SQLRequest sqlRequest = new SQLRequest();
+sqlRequest.setSql("select * from TEST_KYLIN_FACT");
+sqlRequest.setProject("default");
+
+SQLResponse sqlResponse = new SQLResponse();
+sqlResponse.setDuration(10);
+sqlResponse.setCube("test_cube");
+sqlResponse.setIsException(false);
+sqlResponse.setTotalScanCount(100);
+List list1 = new ArrayList<>();
+list1.add("111");
+list1.add("112");
+List list2 = new ArrayList<>();
+list2.add("111");
+list2.add("112");
+List> results = new ArrayList<>();
+results.add(list1);
+results.add(list2);
+sqlResponse.setResults(results);
+sqlResponse.setStorageCacheUsed(true);
+Metrics metrics = MetricsFactory.getInstance();
+QueryMetrics2Facade.updateMetrics(sqlRequest, sqlResponse);
+String prefix = buildCubeMetricPrefix(sqlRequest.getProject(), 
sqlResponse.getCube().replace("=", "->"));
+Thread.sleep(2000);
+
+Assert.assertEquals(1L,
+metrics.getCounter(Metricss.buildMetricName(prefix, 
MetricsConstant.QUERY_COUNT)).getCount());
+Assert.assertEquals(1L,
+metrics.getCounter(Metricss.buildMetricName(prefix, 
MetricsConstant.QUERY_SUCCESS_COUNT)).getCount());
+Assert.assertEquals(0L,
+metrics.getCounter(Metricss.buildMetricName(prefix, 
MetricsConstant.QUERY_FAIL_COUNT)).getCount());
+Assert.assertEquals(1L,
+metrics.getCounter(Metricss.buildMetricName(prefix, 
MetricsConstant.QUERY_CACHE_COUNT)).getCount());
+//
+Snapshot  queryScanSnapshot= metrics
+.getHistogram(Metricss.buildMetricName(prefix, 
MetricsConstant.QUERY_SCAN_ROWCOUNT)).getSnapshot();
+Assert.assertEquals(100.0, queryScanSnapshot.getMean(), 0);
+Assert.assertEquals(100.0, queryScanSnapshot.getMax(), 0);
+Assert.assertEquals(100.0, queryScanSnapshot.getMin(), 0);
+
+Snapshot queryResultSnapshot = metrics
+.getHistogram(Metricss.buildMetricName(prefix, 
MetricsConstant.QUERY_RESULT_ROWCOUNT)).getSnapshot();
+
+Assert.assertEquals(2.0, queryResultSnapshot.getMean(), 0);
+Assert.assertEquals(2.0, queryResultSnapshot.getMax(), 0);

[45/50] [abbrv] kylin git commit: KYLIN-2814 code cleanup in RestClient

2017-09-04 Thread kangkaisen
KYLIN-2814 code cleanup in RestClient


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

Branch: refs/heads/2622-2764
Commit: 2e4474e46cb563096635d0b749ee023e0fcb66d0
Parents: ae311b1
Author: Li Yang 
Authored: Sun Sep 3 18:38:15 2017 +0800
Committer: Li Yang 
Committed: Sun Sep 3 18:38:15 2017 +0800

--
 .../kylin/common/restclient/RestClient.java | 144 ---
 1 file changed, 90 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/2e4474e4/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java 
b/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
index b0ca5f7..95aa626 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
@@ -27,7 +27,8 @@ import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
+import javax.xml.bind.DatatypeConverter;
+
 import org.apache.commons.io.IOUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.auth.AuthScope;
@@ -45,20 +46,17 @@ import org.apache.http.params.HttpConnectionParams;
 import org.apache.http.params.HttpParams;
 import org.apache.http.util.EntityUtils;
 import org.apache.kylin.common.util.JsonUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-import javax.xml.bind.DatatypeConverter;
+import com.fasterxml.jackson.databind.ObjectMapper;
 
 /**
  * @author yangli9
  */
 public class RestClient {
 
-protected String host;
-protected int port;
-protected String baseUrl;
-protected String userName;
-protected String password;
-protected DefaultHttpClient client;
+private static final Logger logger = 
LoggerFactory.getLogger(RestClient.class);
 
 protected static Pattern fullRestPattern = 
Pattern.compile("(?:([^:]+)[:]([^@]+)[@])?([^:]+)(?:[:](\\d+))?");
 
@@ -74,9 +72,17 @@ public class RestClient {
 return m.matches();
 }
 
+// 

+
+protected String host;
+protected int port;
+protected String baseUrl;
+protected String userName;
+protected String password;
+protected DefaultHttpClient client;
+
 /**
- * @param uri
- *"user:pwd@host:port"
+ * @param uri "user:pwd@host:port"
  */
 public RestClient(String uri) {
 Matcher m = fullRestPattern.matcher(uri);
@@ -127,32 +133,30 @@ public class RestClient {
 
 if (response.getStatusLine().getStatusCode() != 200) {
 String msg = EntityUtils.toString(response.getEntity());
-throw new IOException("Invalid response " + 
response.getStatusLine().getStatusCode() + " with cache wipe url " + url + "\n" 
+ msg);
+throw new IOException("Invalid response " + 
response.getStatusLine().getStatusCode()
++ " with cache wipe url " + url + "\n" + msg);
 }
-} catch (Exception ex) {
-throw new IOException(ex);
 } finally {
-if (response != null) {
-EntityUtils.consume(response.getEntity());
-}
-request.releaseConnection();
+cleanup(request, response);
 }
 }
 
 public String getKylinProperties() throws IOException {
 String url = baseUrl + "/admin/config";
 HttpGet request = new HttpGet(url);
+HttpResponse response = null;
 try {
-HttpResponse response = client.execute(request);
+response = client.execute(request);
 String msg = EntityUtils.toString(response.getEntity());
 Map map = JsonUtil.readValueAsMap(msg);
 msg = map.get("config");
 
 if (response.getStatusLine().getStatusCode() != 200)
-throw new IOException("Invalid response " + 
response.getStatusLine().getStatusCode() + " with cache wipe url " + url + "\n" 
+ msg);
+throw new IOException("Invalid response " + 
response.getStatusLine().getStatusCode()
++ " with cache wipe url " + url + "\n" + msg);
 return msg;
 } finally {
-request.releaseConnection();
+cleanup(request, response);
 }
 }
 
@@ -167,18 +171,24 @@ public class RestClient {
 public boolean 

[49/50] [abbrv] kylin git commit: KYLIN-2622 Add SegmentAppendTrieDictBuilder for count distinct measure

2017-09-04 Thread kangkaisen
KYLIN-2622 Add SegmentAppendTrieDictBuilder for count distinct measure


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

Branch: refs/heads/2622-2764
Commit: 8de0d529723eca45fb2aeca5789a5d8f8dc8edb6
Parents: 520f627
Author: kangkaisen 
Authored: Tue May 16 17:04:55 2017 +0800
Committer: kangkaisen 
Committed: Mon Sep 4 21:38:46 2017 +0800

--
 .../apache/kylin/dict/AppendTrieDictionary.java |  9 ++-
 .../apache/kylin/dict/DictionaryManager.java| 10 +++
 .../kylin/dict/GlobalDictionaryBuilder.java |  8 +--
 .../global/AppendTrieDictionaryBuilder.java | 15 ++--
 .../kylin/dict/global/GlobalDictHDFSStore.java  | 54 +-
 .../kylin/dict/global/GlobalDictMetadata.java   |  1 -
 .../kylin/dict/global/GlobalDictStore.java  |  5 +-
 .../global/SegmentAppendTrieDictBuilder.java| 76 
 .../dict/global/AppendTrieDictionaryTest.java   |  3 +-
 .../kylin/measure/bitmap/BitmapMeasureType.java | 21 +-
 .../localmeta/cube_desc/ci_inner_join_cube.json |  2 +-
 webapp/app/js/model/cubeConfig.js   |  3 +-
 .../cubeDesigner/advanced_settings.html | 13 +++-
 13 files changed, 162 insertions(+), 58 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/8de0d529/core-dictionary/src/main/java/org/apache/kylin/dict/AppendTrieDictionary.java
--
diff --git 
a/core-dictionary/src/main/java/org/apache/kylin/dict/AppendTrieDictionary.java 
b/core-dictionary/src/main/java/org/apache/kylin/dict/AppendTrieDictionary.java
index b9f0d2b..18795b4 100644
--- 
a/core-dictionary/src/main/java/org/apache/kylin/dict/AppendTrieDictionary.java
+++ 
b/core-dictionary/src/main/java/org/apache/kylin/dict/AppendTrieDictionary.java
@@ -38,8 +38,8 @@ import java.io.IOException;
 import java.io.PrintStream;
 import java.util.Arrays;
 import java.util.Objects;
+import java.util.TreeMap;
 import java.util.concurrent.ExecutionException;
-import static com.google.common.base.Preconditions.checkState;
 
 /**
  * A dictionary based on Trie data structure that maps enumerations of byte[] 
to
@@ -72,7 +72,12 @@ public class AppendTrieDictionary extends 
CacheDictionary {
 this.baseDir = baseDir;
 final GlobalDictStore globalDictStore = new 
GlobalDictHDFSStore(baseDir);
 Long[] versions = globalDictStore.listAllVersions();
-checkState(versions.length > 0, "Global dict at %s is empty", baseDir);
+
+if (versions.length == 0) {
+this.metadata = new GlobalDictMetadata(0, 0, 0, 0, null, new 
TreeMap());
+return; // for the removed SegmentAppendTrieDictBuilder
+}
+
 final long latestVersion = versions[versions.length - 1];
 final Path latestVersionPath = 
globalDictStore.getVersionDir(latestVersion);
 this.metadata = globalDictStore.getMetadata(latestVersion);

http://git-wip-us.apache.org/repos/asf/kylin/blob/8de0d529/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
--
diff --git 
a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java 
b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
index 857ee30..47e5c29 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
@@ -227,6 +227,16 @@ public class DictionaryManager {
 if (dicts.size() == 1)
 return dicts.get(0);
 
+/**
+ * AppendTrieDictionary needn't merge
+ * more than one AppendTrieDictionary will generate when user use 
{@link SegmentAppendTrieDictBuilder}
+ */
+for (DictionaryInfo dict: dicts) {
+if 
(dict.getDictionaryClass().equals(AppendTrieDictionary.class.getName())) {
+return dict;
+}
+}
+
 DictionaryInfo firstDictInfo = null;
 int totalSize = 0;
 for (DictionaryInfo info : dicts) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/8de0d529/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
--
diff --git 
a/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
 
b/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
index a593371..404d53c 100644
--- 
a/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
+++ 
b/core-dictionary/src/main/java/org

[15/50] [abbrv] kylin git commit: KYLIN-2816 support hive unicode column name

2017-09-04 Thread kangkaisen
KYLIN-2816 support hive unicode column name



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

Branch: refs/heads/2622-2764
Commit: 28a07ebd3983c325c64c0642e7dedbf32c284f39
Parents: e2e0102
Author: Billy(Yiming) Liu 
Authored: Sun Aug 27 18:55:03 2017 +0800
Committer: GitHub 
Committed: Sun Aug 27 18:55:03 2017 +0800

--
 .../kylin/common/util/HiveCmdBuilder.java   |  5 ++--
 .../kylin/common/util/HiveCmdBuilderTest.java   |  2 +-
 .../org/apache/kylin/job/JoinedFlatTable.java   | 28 
 .../apache/kylin/source/hive/HiveMRInput.java   |  2 +-
 4 files changed, 28 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/28a07ebd/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java 
b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
index 2f6b9a0..191bbc0 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
@@ -66,11 +66,12 @@ public class HiveCmdBuilder {
 
 switch (clientMode) {
 case CLI:
-buf.append("hive -e \"");
+// use single-quote to ignore the executing back-ticks surrounded 
column name in shell
+buf.append("hive -e \'");
 for (String statement : statements) {
 buf.append(statement).append("\n");
 }
-buf.append("\"");
+buf.append("\'");
 buf.append(parseProps());
 break;
 case BEELINE:

http://git-wip-us.apache.org/repos/asf/kylin/blob/28a07ebd/core-common/src/test/java/org/apache/kylin/common/util/HiveCmdBuilderTest.java
--
diff --git 
a/core-common/src/test/java/org/apache/kylin/common/util/HiveCmdBuilderTest.java
 
b/core-common/src/test/java/org/apache/kylin/common/util/HiveCmdBuilderTest.java
index d69d4d2..d2938b5 100644
--- 
a/core-common/src/test/java/org/apache/kylin/common/util/HiveCmdBuilderTest.java
+++ 
b/core-common/src/test/java/org/apache/kylin/common/util/HiveCmdBuilderTest.java
@@ -60,7 +60,7 @@ public class HiveCmdBuilderTest {
 hiveCmdBuilder.addStatement("SHOW\n TABLES;");
 hiveCmdBuilder.setHiveConfProps(hiveProps);
 hiveCmdBuilder.overwriteHiveProps(hivePropsOverwrite);
-assertEquals("hive -e \"USE default;\nDROP TABLE test;\nSHOW\n 
TABLES;\n\" --hiveconf hive.execution.engine=tez", hiveCmdBuilder.build());
+assertEquals("hive -e \'USE default;\nDROP TABLE test;\nSHOW\n 
TABLES;\n\' --hiveconf hive.execution.engine=tez", hiveCmdBuilder.build());
 }
 
 @Test

http://git-wip-us.apache.org/repos/asf/kylin/blob/28a07ebd/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
--
diff --git a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java 
b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
index acb29e1..824c693 100644
--- a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
+++ b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
@@ -42,6 +42,8 @@ import org.apache.kylin.metadata.model.TblColRef;
 
 public class JoinedFlatTable {
 
+public static final String BACKTICK = "`";
+
 public static String getTableDir(IJoinedFlatTableDesc flatDesc, String 
storageDfsDir) {
 return storageDfsDir + "/" + flatDesc.getTableName();
 }
@@ -75,7 +77,7 @@ public class JoinedFlatTable {
 ddl.append("ROW FORMAT DELIMITED FIELDS TERMINATED BY ','" + "\n");
 }
 ddl.append("STORED AS " + format + "\n");
-ddl.append("LOCATION '" + getTableDir(flatDesc, storageDfsDir) + 
"';").append("\n");
+ddl.append("LOCATION '\"'\"'" + getTableDir(flatDesc, storageDfsDir) + 
"'\"'\"';").append("\n");
 return ddl.toString();
 }
 
@@ -128,10 +130,15 @@ public class JoinedFlatTable {
 sql.append(",");
 }
 String colTotalName = String.format("%s.%s", 
col.getTableRef().getTableName(), col.getName());
+String expressionInSourceDB = col.getExpressionInSourceDB();
+if (expressionInSourceDB.contains(".")) {
+// surround column name with back-tick, to support unicode 
column name
+expressionInSourceDB = expressionInSourceDB.replace(".", "." + 
BACKTICK)

[34/50] [abbrv] kylin git commit: Revert "KYLIN-2790 Add extending point for column family"

2017-09-04 Thread kangkaisen
Revert "KYLIN-2790 Add extending point for column family"

This reverts commit 842dc4ca1dabb576aed40c55ebfc1cbabaaf3944.


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

Branch: refs/heads/2622-2764
Commit: 363f858b890ea04c87ee7b081fc74805766e0b93
Parents: 32d346b
Author: Hongbin Ma 
Authored: Thu Aug 31 22:43:36 2017 +0800
Committer: Hongbin Ma 
Committed: Thu Aug 31 22:43:36 2017 +0800

--
 .../apache/kylin/common/KylinConfigBase.java|  4 
 .../org/apache/kylin/cube/model/CubeDesc.java   | 18 ++--
 .../kylin/cube/model/HBaseMappingDesc.java  | 18 
 .../org/apache/kylin/gridtable/GTRecord.java| 22 
 4 files changed, 2 insertions(+), 60 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/363f858b/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 d32f08c..0e990df 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
@@ -286,10 +286,6 @@ abstract public class KylinConfigBase implements 
Serializable {
 
"org.apache.kylin.storage.hbase.util.ZookeeperDistributedLock$Factory");
 return (DistributedLockFactory) ClassUtil.newInstance(clsName);
 }
-
-public String getHBaseMappingAdapter() {
-return getOptional("kylin.metadata.hbasemapping-adapter");
-}
 
 // 

 // DICTIONARY & SNAPSHOT

http://git-wip-us.apache.org/repos/asf/kylin/blob/363f858b/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 d263e1f..0e22587 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
@@ -22,7 +22,6 @@ import static 
com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 
-import java.lang.reflect.Method;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
@@ -604,21 +603,8 @@ public class CubeDesc extends RootPersistentEntity 
implements IEngineAware {
 validateAggregationGroups(); // check if aggregation group is valid
 validateAggregationGroupsCombination();
 
-String hbaseMappingAdapterName = config.getHBaseMappingAdapter();
-
-if (hbaseMappingAdapterName != null) {
-try {
-Class hbaseMappingAdapterClass = 
Class.forName(hbaseMappingAdapterName);
-Method initMethod = 
hbaseMappingAdapterClass.getMethod("initHBaseMapping", CubeDesc.class);
-initMethod.invoke(null, this);
-} catch (Exception e) {
-logger.error("Wrong configuration for 
kylin.metadata.hbasemapping-adapter: class "
-+ hbaseMappingAdapterName + " not found. ");
-}
-} else {
-if (hbaseMapping != null) {
-hbaseMapping.init(this);
-}
+if (hbaseMapping != null) {
+hbaseMapping.init(this);
 }
 
 initMeasureReferenceToColumnFamily();

http://git-wip-us.apache.org/repos/asf/kylin/blob/363f858b/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
--
diff --git 
a/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java 
b/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
index 77b4b14..d1e5829 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
@@ -87,24 +87,6 @@ public class HBaseMappingDesc implements 
java.io.Serializable {
 }
 }
 
-public void initAsSeparatedColumns(CubeDesc cubeDesc) {
-cubeRef = cubeDesc;
-
-int cfNum = cubeDesc.getMeasures().size();
-columnFamily = new HBaseColumnFamilyDesc[cfNum];
-
-for (int i = 0; i < cfN

[10/50] [abbrv] kylin git commit: KYLIN-2809 update calcite to support "+" as string concat

2017-09-04 Thread kangkaisen
KYLIN-2809 update calcite to support "+" as string concat


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

Branch: refs/heads/2622-2764
Commit: d059c05e7a064c6c6bc861fb3e399985ed968177
Parents: d873ca1
Author: Roger Shi 
Authored: Thu Aug 24 15:28:10 2017 +0800
Committer: Roger Shi 
Committed: Thu Aug 24 15:46:12 2017 +0800

--
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/d059c05e/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 5b00798..d82a7f4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,7 @@
 
 
 
-1.13.0-kylin-r1-SNAPSHOT
+1.13.0-kylin-r2-SNAPSHOT
 1.10.0
 
 



[08/50] [abbrv] kylin git commit: minor, fix flanky test query

2017-09-04 Thread kangkaisen
minor, fix flanky test query


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

Branch: refs/heads/2622-2764
Commit: cd9a515286eb7ba0553339cfb98d86ea10377a90
Parents: 8e07884
Author: Hongbin Ma 
Authored: Wed Aug 23 14:05:47 2017 +0800
Committer: Hongbin Ma 
Committed: Thu Aug 24 10:30:24 2017 +0800

--
 kylin-it/src/test/resources/query/sql/query98.sql | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/cd9a5152/kylin-it/src/test/resources/query/sql/query98.sql
--
diff --git a/kylin-it/src/test/resources/query/sql/query98.sql 
b/kylin-it/src/test/resources/query/sql/query98.sql
index d73a4cb..81736d9 100644
--- a/kylin-it/src/test/resources/query/sql/query98.sql
+++ b/kylin-it/src/test/resources/query/sql/query98.sql
@@ -16,6 +16,6 @@
 -- limitations under the License.
 --
 
-select cal_dt, sum(price) as x,leaf_categ_id as GMV 
+select cal_dt,leaf_categ_id as x, sum(price) as GMV 
  from test_kylin_fact 
  group by leaf_categ_id, cal_dt



[32/50] [abbrv] kylin git commit: Merge commit '727920b4d3642aaa3657d90b7f3dce7dcdd68fe2'

2017-09-04 Thread kangkaisen
Merge commit '727920b4d3642aaa3657d90b7f3dce7dcdd68fe2'


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

Branch: refs/heads/2622-2764
Commit: b50030da4cd64d424a82e9d2b752c00917e8e681
Parents: 068baf6 727920b
Author: Hongbin Ma 
Authored: Thu Aug 31 15:42:16 2017 +0800
Committer: Hongbin Ma 
Committed: Thu Aug 31 21:33:14 2017 +0800

--
 assembly/pom.xml|   2 +-
 atopcalcite/pom.xml |   2 +-
 core-common/pom.xml |   2 +-
 .../org/apache/kylin/common/KylinConfig.java|  57 ++-
 .../apache/kylin/common/KylinConfigBase.java|   1 +
 .../org/apache/kylin/common/KylinConfigExt.java |   2 +-
 .../org/apache/kylin/common/KylinVersion.java   |   4 +-
 .../org/apache/kylin/common/util/ClassUtil.java |  13 +-
 core-cube/pom.xml   |   2 +-
 .../kylin/cube/gridtable/CubeCodeSystem.java|   4 +
 .../org/apache/kylin/gridtable/GTRecord.java|   8 +
 .../kylin/gridtable/GTSampleCodeSystem.java |   4 +
 .../apache/kylin/gridtable/IGTCodeSystem.java   |   3 +
 core-dictionary/pom.xml |   2 +-
 core-job/pom.xml|   2 +-
 .../job/execution/DefaultChainedExecutable.java |  13 +-
 .../kylin/job/execution/ExecutableManager.java  |  12 +-
 core-metadata/pom.xml   |   2 +-
 .../measure/bitmap/BitmapCounterFactory.java|   2 +
 .../kylin/measure/bitmap/BitmapSerializer.java  |  38 +-
 .../measure/bitmap/RoaringBitmapCounter.java|  10 +
 .../bitmap/RoaringBitmapCounterFactory.java |   5 +
 .../measure/percentile/PercentileCounter.java   |  28 +-
 .../metadata/datatype/DataTypeSerializer.java   |  13 +
 .../percentile/PercentileCounterTest.java   |  46 ---
 core-storage/pom.xml|   2 +-
 .../gtrecord/GTCubeStorageQueryBase.java|  53 ++-
 .../gtrecord/SequentialCubeTupleIterator.java   |  17 +-
 engine-mr/pom.xml   |   2 +-
 .../engine/mr/common/AbstractHadoopJob.java | 128 +++---
 .../kylin/engine/mr/common/BatchConstants.java  |   1 +
 .../kylin/engine/mr/common/HadoopCmdOutput.java |  19 +-
 .../engine/mr/common/JobInfoConverter.java  |   7 +-
 .../engine/mr/common/JobRelatedMetaUtil.java|  72 
 engine-spark/pom.xml|   2 +-
 .../engine/spark/KylinKryoRegistrator.java  |  11 +-
 .../spark/SparkBatchCubingJobBuilder2.java  |   5 +
 .../kylin/engine/spark/SparkCubingByLayer.java  | 392 +++
 .../kylin/engine/spark/SparkExecutable.java |  58 ++-
 .../spark/util/PercentileCounterSerializer.java |  55 +++
 .../spark/util/PercentileSerializerTest.java|  67 
 .../acl/0928468a-9fab-4185-9a14-6f2e7c74823f|  27 ++
 .../acl/2fbca32a-a33e-4b69-83dd-0bb8b1f8c53b|  27 ++
 .../acl/2fbca32a-a33e-4b69-83dd-0bb8b1f8c91b|  24 ++
 jdbc/pom.xml|   2 +-
 kylin-it/pom.xml|  18 +-
 .../job/ITDistributedSchedulerBaseTest.java |   2 +
 .../jdbc/ITJdbcSourceTableLoaderTest.java   | 114 ++
 .../source/jdbc/ITJdbcTableReaderTest.java  | 109 ++
 .../test/resources/query/sql_limit/query05.sql  |  21 +
 pom.xml |   2 +-
 query/pom.xml   |   2 +-
 .../query/adhoc/PushDownRunnerJdbcImpl.java |   2 -
 .../kylin/query/relnode/OLAPAggregateRel.java   |   4 +-
 .../kylin/query/relnode/OLAPWindowRel.java  |   2 -
 .../kylin/query/routing/RealizationChooser.java |   7 +-
 server-base/pom.xml |   2 +-
 .../kylin/rest/controller/CubeController.java   |  49 ++-
 .../rest/controller2/CubeControllerV2.java  |  19 +-
 .../apache/kylin/rest/service/AclService.java   |   4 +-
 .../rest/service/AclTableMigrationTool.java |  13 +-
 .../apache/kylin/rest/service/JobService.java   |   4 +
 .../apache/kylin/rest/service/QueryService.java |   4 +-
 .../kylin/rest/util/Log4jConfigListener.java|   1 +
 server/pom.xml  |   2 +-
 server/src/main/resources/kylinSecurity.xml |   2 +
 .../kylin/rest/service/JobServiceTest.java  |  33 ++
 source-hive/pom.xml |   7 +-
 .../HiveColumnCardinalityUpdateJob.java |   3 +-
 .../apache/kylin/source/jdbc/JdbcExplorer.java  |   6 +-
 source-kafka/pom.xml|   2 +-
 .../kylin/source/kafka/DateTimeParser.java  |  62 +++
 storage-hbase/pom.xml   |   2 +-
 .../kylin/storage/hbase/HBaseConnection.java|   2 +-
 .../kylin/storage/hbase/HBaseResourceStore.java |   7 +-
 .../hbas

[14/50] [abbrv] kylin git commit: KYLIN-2812, Fix the wrong destination database during load kafka topic (#2074)

2017-09-04 Thread kangkaisen
KYLIN-2812, Fix the wrong destination database during load kafka topic (#2074)



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

Branch: refs/heads/2622-2764
Commit: e2e0102c4bac289c1e0d61226794030fd93cb145
Parents: ff4f634
Author: Billy(Yiming) Liu 
Authored: Sun Aug 27 18:51:50 2017 +0800
Committer: GitHub 
Committed: Sun Aug 27 18:51:50 2017 +0800

--
 .../rest/controller2/StreamingControllerV2.java |  3 +-
 .../controller/StreamingControllerTest.java | 52 
 2 files changed, 53 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/e2e0102c/server-base/src/main/java/org/apache/kylin/rest/controller2/StreamingControllerV2.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller2/StreamingControllerV2.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller2/StreamingControllerV2.java
index 54733ea..90f2a45 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller2/StreamingControllerV2.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller2/StreamingControllerV2.java
@@ -247,10 +247,9 @@ public class StreamingControllerV2 extends BasicController 
{
 }
 
 if (null != desc) {
-String[] dbTable = HadoopUtil.parseHiveTableName(desc.getName());
+String[] dbTable = 
HadoopUtil.parseHiveTableName(desc.getIdentity());
 desc.setName(dbTable[1]);
 desc.setDatabase(dbTable[0]);
-desc.getIdentity();
 }
 return desc;
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/e2e0102c/server-base/src/test/java/org/apache/kylin/rest/controller/StreamingControllerTest.java
--
diff --git 
a/server-base/src/test/java/org/apache/kylin/rest/controller/StreamingControllerTest.java
 
b/server-base/src/test/java/org/apache/kylin/rest/controller/StreamingControllerTest.java
new file mode 100644
index 000..171d22e
--- /dev/null
+++ 
b/server-base/src/test/java/org/apache/kylin/rest/controller/StreamingControllerTest.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+package org.apache.kylin.rest.controller;
+
+import org.apache.kylin.common.util.HadoopUtil;
+import org.apache.kylin.common.util.JsonUtil;
+import org.apache.kylin.metadata.model.TableDesc;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.IOException;
+
+public class StreamingControllerTest {
+
+@Test
+public void testReadTableDesc() throws IOException {
+String requestTableData = 
"{\"name\":\"my_table_name\",\"source_type\":1,\"columns\":[{\"id\":1,\"name\":"
 +
+
"\"amount\",\"datatype\":\"decimal\"},{\"id\":2,\"name\":\"category\",\"datatype\":\"varchar(256)\"},"
 +
+
"{\"id\":3,\"name\":\"order_time\",\"datatype\":\"timestamp\"},{\"id\":4,\"name\":\"device\","
 +
+
"\"datatype\":\"varchar(256)\"},{\"id\":5,\"name\":\"qty\",\"datatype\":\"int\"},{\"id\":6,\"name\":"
 +
+
"\"user_id\",\"datatype\":\"varchar(256)\"},{\"id\":7,\"name\":\"user_age\",\"datatype\":\"int\"},"
 +
+
"{\"id\":8,\"name\":\"user_gender\",\"datatype\":\"varchar(256)\"},{\"id\":9,\"name\":\"currency\","
 +
+
"\"datatype\":\"varchar(256)\"},{\"id\":10,\"name\":\"country\",\"datatype\":\"varchar(256)\"},"
 +
+
"{\"id\":11,\"name\":\"year_start\",\"datatype\":\"date\"},{\"id\":12,\"name\":\"quarter_start\","
 +
+
"\"datatype\":\"date\"},{\"id\":13,\"name\":\"month_start\",\"datatype\":\"date\"},{\"id\":14,"
 +
+
"\"name\":\"week_start\",\"datatype\":\"date\"},{\"id\":15,\"name\":\"day_start\",\"datatype\":"
 +
+
"\"date\"},{\"id\":16,\"na

[50/50] [abbrv] kylin git commit: KYLIN-2764 Build UHC Dict Use MR

2017-09-04 Thread kangkaisen
KYLIN-2764 Build UHC Dict Use MR


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

Branch: refs/heads/2622-2764
Commit: ccd076861415a40926ab42e6f9b71cd5258d4daf
Parents: 8de0d52
Author: kangkaisen 
Authored: Fri Jul 21 15:22:30 2017 +0800
Committer: kangkaisen 
Committed: Mon Sep 4 21:41:50 2017 +0800

--
 .../apache/kylin/common/KylinConfigBase.java|  11 +-
 .../java/org/apache/kylin/cube/CubeManager.java |  82 +-
 .../apache/kylin/dict/DictionaryGenerator.java  |  14 +-
 .../org/apache/kylin/dict/DictionaryInfo.java   |   4 +
 .../kylin/dict/GlobalDictionaryBuilder.java |   9 +-
 .../apache/kylin/dict/IDictionaryBuilder.java   |   2 +-
 .../global/SegmentAppendTrieDictBuilder.java|   4 +-
 .../kylin/dict/DictionaryProviderTest.java  |   2 +-
 .../kylin/job/constant/ExecutableConstants.java |   1 +
 .../kylin/engine/mr/BatchCubingJobBuilder2.java |  26 +++-
 .../kylin/engine/mr/JobBuilderSupport.java  |  24 ++-
 .../engine/mr/common/AbstractHadoopJob.java |   3 +
 .../kylin/engine/mr/common/BatchConstants.java  |   4 +
 .../engine/mr/steps/CreateDictionaryJob.java|  16 +-
 .../mr/steps/FactDistinctColumnsReducer.java|   2 +-
 .../kylin/engine/mr/steps/UHCDictionaryJob.java | 154 +++
 .../engine/mr/steps/UHCDictionaryMapper.java| 101 
 .../mr/steps/UHCDictionaryPartitioner.java  |  30 
 .../engine/mr/steps/UHCDictionaryReducer.java   | 113 ++
 .../test_case_data/sandbox/kylin.properties |   5 +
 .../dict/ITGlobalDictionaryBuilderTest.java |   4 +-
 21 files changed, 553 insertions(+), 58 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/ccd07686/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 749b515..485bf21 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
@@ -899,6 +899,10 @@ abstract public class KylinConfigBase implements 
Serializable {
 return getPropertiesByPrefix("kylin.engine.mr.config-override.");
 }
 
+public Map getUHCMRConfigOverride() {
+return getPropertiesByPrefix("kylin.engine.mr.uhc-config-override.");
+}
+
 public Map getSparkConfigOverride() {
 return getPropertiesByPrefix("kylin.engine.spark-conf.");
 }
@@ -925,9 +929,14 @@ 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", "5"));
 }
 
+public boolean isBuildUHCDictWithMREnabled() {
+return 
Boolean.parseBoolean(getOptional("kylin.engine.mr.build-uhc-dict", "true"));
+}
+
+
 public boolean isBuildDictInReducerEnabled() {
 return 
Boolean.parseBoolean(getOptional("kylin.engine.mr.build-dict-in-reducer", 
"true"));
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/ccd07686/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
--
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java 
b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
index 043993c..1ca4b08 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
@@ -30,7 +30,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
-import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
@@ -229,6 +228,7 @@ public class CubeManager implements IRealizationProvider {
 return null;
 
 String builderClass = cubeDesc.getDictionaryBuilderClass(col);
+
 DictionaryInfo dictInfo = 
getDictionaryManager().buildDictionary(cubeDesc.getModel(), col, inpTable,
 builderClass);
 
@@ -878,6 +878,52 @@ public class CubeManager implements IRealizationProvider {
 return factDictCols;
 

[25/50] [abbrv] kylin git commit: minor change getProject() in DataModelDesc

2017-09-04 Thread kangkaisen
minor change getProject() in DataModelDesc


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

Branch: refs/heads/2622-2764
Commit: 28ac7d9aeeeb8818207a363231b1354652f9aa8d
Parents: 487a854
Author: tttMelody <245915...@qq.com>
Authored: Tue Aug 29 17:22:41 2017 +0800
Committer: Hongbin Ma 
Committed: Tue Aug 29 17:40:33 2017 +0800

--
 .../java/org/apache/kylin/metadata/model/DataModelDesc.java  | 4 ++--
 .../org/apache/kylin/rest/controller/ModelController.java| 2 +-
 .../java/org/apache/kylin/rest/service/ModelService.java | 8 
 .../java/org/apache/kylin/rest/service/ModelServiceTest.java | 8 
 4 files changed, 11 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/28ac7d9a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
index a5da833..b27d644 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
@@ -854,11 +854,11 @@ public class DataModelDesc extends RootPersistentEntity {
 }
 
 public String getProject() {
-return 
ProjectManager.getInstance(KylinConfig.getInstanceFromEnv()).getProjectOfModel(this.getName()).getName();
+return 
ProjectManager.getInstance(getConfig()).getProjectOfModel(this.getName()).getName();
 }
 
 public ProjectInstance getProjectInstance() {
-return 
ProjectManager.getInstance(KylinConfig.getInstanceFromEnv()).getProjectOfModel(this.getName());
+return 
ProjectManager.getInstance(getConfig()).getProjectOfModel(this.getName());
 }
 
 public static DataModelDesc getCopyOf(DataModelDesc orig) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/28ac7d9a/server-base/src/main/java/org/apache/kylin/rest/controller/ModelController.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller/ModelController.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller/ModelController.java
index 4226e87..c5bee9f 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller/ModelController.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller/ModelController.java
@@ -131,7 +131,7 @@ public class ModelController extends BasicController {
 return modelRequest;
 }
 try {
-modelDesc = modelService.updateModelAndDesc(modelDesc);
+modelDesc = 
modelService.updateModelAndDesc(modelRequest.getProject(), modelDesc);
 } catch (AccessDeniedException accessDeniedException) {
 throw new ForbiddenException("You don't have right to update this 
model.");
 } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/28ac7d9a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
--
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java 
b/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
index 82632eb..42cf085 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
@@ -143,8 +143,8 @@ public class ModelService extends BasicService {
 return createdDesc;
 }
 
-public DataModelDesc updateModelAndDesc(DataModelDesc desc) throws 
IOException {
-aclEvaluate.hasProjectWritePermission(desc.getProjectInstance());
+public DataModelDesc updateModelAndDesc(String project, DataModelDesc 
desc) throws IOException {
+aclEvaluate.checkProjectWritePermission(project);
 getMetadataManager().updateDataModelDesc(desc);
 return desc;
 }
@@ -428,7 +428,7 @@ public class ModelService extends BasicService {
 }
 
 public DataModelDesc updateModelToResourceStore(DataModelDesc modelDesc, 
String projectName) throws IOException {
-
aclEvaluate.hasProjectWritePermission(getProjectManager().getProject(projectName));
+aclEvaluate.checkProjectWritePermission(projectName);
 Message msg = MsgPicker.getMsg();
 
 modelDesc.setDraft(false);
@@ -445,7 +445,7 @@ public class ModelService extends BasicService {
 if (!error.isEm

[30/50] [abbrv] kylin git commit: #949 Refine column family for measures

2017-09-04 Thread kangkaisen
#949 Refine column family for measures


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

Branch: refs/heads/2622-2764
Commit: a4aeb77890577e46300bc702c1117bf542081cc9
Parents: d62cb58
Author: auphyroc99 <454530...@qq.com>
Authored: Wed Aug 30 16:03:24 2017 +0800
Committer: Roger Shi 
Committed: Wed Aug 30 18:13:52 2017 +0800

--
 .../org/apache/kylin/gridtable/GTRecord.java | 19 ++-
 1 file changed, 6 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/a4aeb778/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
--
diff --git a/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java 
b/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
index 862fb99..c3a160a 100644
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
@@ -45,7 +45,7 @@ public class GTRecord implements Comparable, 
Cloneable {
 }
 this.info = info;
 }
-
+
 @Override
 public GTRecord clone() { // deep copy
 ByteArray[] cols = new ByteArray[this.cols.length];
@@ -114,7 +114,6 @@ public class GTRecord implements Comparable, 
Cloneable {
 return result;
 }
 
-
 /** decode and return the values of this record */
 public Object[] getValues(int[] selectedColumns, Object[] result) {
 assert selectedColumns.length <= result.length;
@@ -295,27 +294,21 @@ public class GTRecord implements Comparable, 
Cloneable {
 buf.position(pos);
 }
 }
-
-public void loadColumnsFromColumnBlocks(ImmutableBitSet[] 
selectedColumnBlocks, ImmutableBitSet selectedCols, ByteBuffer buf) {
-
+
+public void loadColumnsFromColumnBlocks(ImmutableBitSet[] 
selectedColumnBlocks, ImmutableBitSet selectedCols,
+ByteBuffer buf) {
 int pos = buf.position();
-
 for (ImmutableBitSet selectedColBlock : selectedColumnBlocks) {
-
 for (int i = 0; i < selectedColBlock.trueBitCount(); i++) {
-
 int c = selectedColBlock.trueBitAt(i);
-
 int len = info.codeSystem.codeLength(c, buf);
-if(selectedCols.get(c)) {  
-cols[c].set(buf.array(), buf.arrayOffset() + pos, len);
 
+if (selectedCols.get(c)) {
+cols[c].set(buf.array(), buf.arrayOffset() + pos, len);
 }
 pos += len;
 buf.position(pos);
 }
-
 }
-
 }
 
 }



[35/50] [abbrv] kylin git commit: KYLIN-2775 fix wrong tsColName parsing

2017-09-04 Thread kangkaisen
KYLIN-2775 fix wrong tsColName parsing


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

Branch: refs/heads/2622-2764
Commit: 7f47b51a3ebe0ccd0283fa79995bfb02f4c3919e
Parents: 363f858
Author: Billy Liu 
Authored: Fri Sep 1 13:49:12 2017 +0800
Committer: 成 
Committed: Fri Sep 1 14:43:21 2017 +0800

--
 .../template/kafka/DEFAULT.KYLIN_STREAMING_TABLE.json | 2 +-
 .../java/org/apache/kylin/source/kafka/StreamingParser.java   | 2 +-
 .../org/apache/kylin/source/kafka/config/KafkaConfig.java | 7 ---
 3 files changed, 6 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/7f47b51a/examples/sample_cube/template/kafka/DEFAULT.KYLIN_STREAMING_TABLE.json
--
diff --git 
a/examples/sample_cube/template/kafka/DEFAULT.KYLIN_STREAMING_TABLE.json 
b/examples/sample_cube/template/kafka/DEFAULT.KYLIN_STREAMING_TABLE.json
index 6c02b27..02bf0d0 100644
--- a/examples/sample_cube/template/kafka/DEFAULT.KYLIN_STREAMING_TABLE.json
+++ b/examples/sample_cube/template/kafka/DEFAULT.KYLIN_STREAMING_TABLE.json
@@ -6,7 +6,7 @@
   "timeout": 6,
   "bufferSize": 65536,
   "parserName": "org.apache.kylin.source.kafka.TimedJsonStreamParser",
-  "parserProperties": "tsColName=order_time",
+  "parserTimeStampField": "order_time",
   "last_modified": 0,
   "clusters": [
 {

http://git-wip-us.apache.org/repos/asf/kylin/blob/7f47b51a/source-kafka/src/main/java/org/apache/kylin/source/kafka/StreamingParser.java
--
diff --git 
a/source-kafka/src/main/java/org/apache/kylin/source/kafka/StreamingParser.java 
b/source-kafka/src/main/java/org/apache/kylin/source/kafka/StreamingParser.java
index 2e3c11c..c2b5104 100644
--- 
a/source-kafka/src/main/java/org/apache/kylin/source/kafka/StreamingParser.java
+++ 
b/source-kafka/src/main/java/org/apache/kylin/source/kafka/StreamingParser.java
@@ -76,7 +76,7 @@ public abstract class StreamingParser {
 Constructor constructor = clazz.getConstructor(List.class, 
Map.class);
 return (StreamingParser) constructor.newInstance(columns, 
properties);
 } else {
-throw new IllegalStateException("invalid StreamingConfig, 
parserName " + parserName + ", parserProperties " + parserProperties + ".");
+throw new IllegalStateException("Invalid StreamingConfig, 
parserName " + parserName + ", parserProperties " + parserProperties + ".");
 }
 }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/7f47b51a/source-kafka/src/main/java/org/apache/kylin/source/kafka/config/KafkaConfig.java
--
diff --git 
a/source-kafka/src/main/java/org/apache/kylin/source/kafka/config/KafkaConfig.java
 
b/source-kafka/src/main/java/org/apache/kylin/source/kafka/config/KafkaConfig.java
index 547e738..ce1d706 100644
--- 
a/source-kafka/src/main/java/org/apache/kylin/source/kafka/config/KafkaConfig.java
+++ 
b/source-kafka/src/main/java/org/apache/kylin/source/kafka/config/KafkaConfig.java
@@ -34,6 +34,7 @@ import org.apache.kylin.metadata.MetadataConstants;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonManagedReference;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.kylin.source.kafka.TimedJsonStreamParser;
 
 /**
  */
@@ -141,12 +142,12 @@ public class KafkaConfig extends RootPersistentEntity {
 
 public String getAllParserProperties() {
 StringBuilder sb = new StringBuilder();
-if (parserProperties != null)
-sb.append(parserProperties);
 if (parserTimeStampField != null) {
+sb.append(TimedJsonStreamParser.PROPERTY_TS_COLUMN_NAME + "=" + 
parserTimeStampField);
 sb.append(";");
-sb.append(parserTimeStampField);
 }
+if (parserProperties != null)
+sb.append(parserProperties);
 return sb.toString();
 }
 



[11/50] [abbrv] kylin git commit: minor, fix some files license header

2017-09-04 Thread kangkaisen
minor, fix some files license header


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

Branch: refs/heads/2622-2764
Commit: 1fff42146aa539b599802f9b19de28dc87d05fad
Parents: d059c05
Author: Roger Shi 
Authored: Fri Aug 25 17:31:19 2017 +0800
Committer: Roger Shi 
Committed: Fri Aug 25 17:36:24 2017 +0800

--
 .../calcite/prepare/CalcitePrepareImpl.java | 34 
 .../calcite/sql2rel/SqlToRelConverter.java  | 34 
 .../java/org/apache/calcite/tools/Programs.java | 34 
 3 files changed, 42 insertions(+), 60 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/1fff4214/atopcalcite/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java
--
diff --git 
a/atopcalcite/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java 
b/atopcalcite/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java
index b1ce7ea..7b4c549 100644
--- 
a/atopcalcite/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java
+++ 
b/atopcalcite/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java
@@ -1,26 +1,20 @@
 /*
- * Copyright (C) 2016 Kyligence Inc. All rights reserved.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * http://kyligence.io
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * This software is the confidential and proprietary information of
- * Kyligence Inc. ("Confidential Information"). You shall not disclose
- * such Confidential Information and shall use it only in accordance
- * with the terms of the license agreement you entered into with
- * Kyligence Inc.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
 package org.apache.calcite.prepare;
 
 import static org.apache.calcite.util.Static.RESOURCE;

http://git-wip-us.apache.org/repos/asf/kylin/blob/1fff4214/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
--
diff --git 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
index 18aadef..f10ba96 100644
--- 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
+++ 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
@@ -1,26 +1,20 @@
 /*
- * Copyright (C) 2016 Kyligence Inc. All rights reserved.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * http://kyligence.io
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * This software is the confidential and proprietary information of
- * Kyligence Inc. ("Confidential Information"). You shall not disclose
- * such Confidential Information and shall use it only 

[24/50] [abbrv] kylin git commit: Revert "KYLIN-2816 wrap columns with backtick"

2017-09-04 Thread kangkaisen
Revert "KYLIN-2816 wrap columns with backtick"

This reverts commit 53b25c6137731c1b0d26925be7dcaa0252d75b64.


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

Branch: refs/heads/2622-2764
Commit: 81e9f573fae2af9511ac6004f69101598fc7a71a
Parents: dbecb9b
Author: Hongbin Ma 
Authored: Mon Aug 28 19:19:10 2017 +0800
Committer: Hongbin Ma 
Committed: Tue Aug 29 10:36:10 2017 +0800

--
 .../org/apache/kylin/job/JoinedFlatTable.java   | 77 ++--
 .../kylin/job/TestWrapColumnWithBacktick.java   | 57 ---
 .../metadata/model/tool/CalciteParser.java  |  8 +-
 3 files changed, 7 insertions(+), 135 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/81e9f573/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
--
diff --git a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java 
b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
index 4ac5a3a..824c693 100644
--- a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
+++ b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
@@ -21,17 +21,11 @@ package org.apache.kylin.job;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.calcite.sql.SqlIdentifier;
-import org.apache.calcite.sql.SqlNode;
-import org.apache.calcite.sql.util.SqlBasicVisitor;
 import org.apache.kylin.common.KylinConfig;
-import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.cube.CubeSegment;
 import org.apache.kylin.job.engine.JobEngineConfig;
 import org.apache.kylin.metadata.model.DataModelDesc;
@@ -41,9 +35,6 @@ import org.apache.kylin.metadata.model.JoinTableDesc;
 import org.apache.kylin.metadata.model.PartitionDesc;
 import org.apache.kylin.metadata.model.TableRef;
 import org.apache.kylin.metadata.model.TblColRef;
-import org.apache.kylin.metadata.model.tool.CalciteParser;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  *
@@ -52,7 +43,6 @@ import org.slf4j.LoggerFactory;
 public class JoinedFlatTable {
 
 public static final String BACKTICK = "`";
-private static final Logger logger = 
LoggerFactory.getLogger(JoinedFlatTable.class);
 
 public static String getTableDir(IJoinedFlatTableDesc flatDesc, String 
storageDfsDir) {
 return storageDfsDir + "/" + flatDesc.getTableName();
@@ -140,7 +130,11 @@ public class JoinedFlatTable {
 sql.append(",");
 }
 String colTotalName = String.format("%s.%s", 
col.getTableRef().getTableName(), col.getName());
-String expressionInSourceDB = 
quoteOriginalColumnWithBacktick(col.getExpressionInSourceDB());
+String expressionInSourceDB = col.getExpressionInSourceDB();
+if (expressionInSourceDB.contains(".")) {
+// surround column name with back-tick, to support unicode 
column name
+expressionInSourceDB = expressionInSourceDB.replace(".", "." + 
BACKTICK) + BACKTICK;
+}
 if (skipAsList.contains(colTotalName)) {
 sql.append(expressionInSourceDB + sep);
 } else {
@@ -283,65 +277,4 @@ public class JoinedFlatTable {
 return sql.toString();
 }
 
-/**
- * quote column name with back-tick, to support unicode column name
- *
- * @param sourceSQL
- * @return
- */
-static String quoteOriginalColumnWithBacktick(String sourceSQL) {
-StringBuilder result = new StringBuilder(sourceSQL);
-try {
-List> replacePoses = new ArrayList<>();
-for (SqlIdentifier id : 
SqlIdentifierVisitor.getAllSqlIdentifier(CalciteParser.getExpNode(sourceSQL))) {
-
replacePoses.add(CalciteParser.getReplacePos(id.getComponentParserPosition(1), 
"select " + sourceSQL + " from t"));
-}
-
-// latter replace position in the front of the list.
-Collections.sort(replacePoses, new Comparator>() {
-@Override
-public int compare(Pair o1, Pair o2) {
-return -(o1.getSecond() - o2.getSecond());
-}
-});
-
-// cuz the pos is add "select "'s size, so minus 7 offset.
-final int OFFSET = 7;
-for (Pair replacePos : replacePoses) {
-result.insert(replacePos.getSecond() - OFFSET, "`");
-result.insert(replacePos.getFirst() - OFFSET, "`

[07/50] [abbrv] kylin git commit: KYLIN-2776 Using dropwizard as default metric framework

2017-09-04 Thread kangkaisen
KYLIN-2776 Using dropwizard as default metric framework


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

Branch: refs/heads/2622-2764
Commit: 8e078847a42b4f7853a2c1a75afa405c09c4ea7b
Parents: d85f6ab
Author: yiming.xu <100650...@qq.com>
Authored: Wed Aug 23 13:12:58 2017 +0800
Committer: Hongbin Ma 
Committed: Wed Aug 23 13:49:23 2017 +0800

--
 core-common/pom.xml |  17 +
 .../apache/kylin/common/KylinConfigBase.java|  20 +
 .../kylin/common/metrics/common/Metrics.java| 162 ++
 .../common/metrics/common/MetricsConstant.java  |  38 ++
 .../common/metrics/common/MetricsFactory.java   |  62 +++
 .../common/metrics/common/MetricsScope.java |  33 ++
 .../common/metrics/common/MetricsVariable.java  |  27 +
 .../kylin/common/metrics/common/Metricss.java   |  40 ++
 .../metrics/metrics2/CodahaleMetrics.java   | 508 +++
 .../metrics/metrics2/CodahaleReporter.java  |  31 ++
 .../metrics2/ConsoleMetricsReporter.java|  51 ++
 .../metrics/metrics2/JmxMetricsReporter.java|  55 ++
 .../metrics2/JsonFileMetricsReporter.java   | 136 +
 .../metrics2/KylinObjectNameFactory.java|  68 +++
 .../metrics2/MetricVariableRatioGauge.java  |  47 ++
 .../metrics/metrics2/Metrics2Reporter.java  |  60 +++
 .../metrics/metrics2/MetricsReporting.java  |  26 +
 .../common/metrics/perflog/IPerfLogger.java |  48 ++
 .../common/metrics/perflog/PerfLogger.java  | 158 ++
 .../metrics/perflog/PerfLoggerFactory.java  |  56 ++
 .../metrics/perflog/SimplePerfLogger.java   |  73 +++
 pom.xml |   3 +-
 .../kylin/rest/init/InitialTaskManager.java |   4 +-
 .../kylin/rest/metrics/QueryMetrics2Facade.java | 106 
 .../apache/kylin/rest/service/QueryService.java |   2 +
 .../kylin/rest/metrics/QueryMetrics2Test.java   | 128 +
 26 files changed, 1957 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/8e078847/core-common/pom.xml
--
diff --git a/core-common/pom.xml b/core-common/pom.xml
index 8852743..d58de36 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -68,6 +68,23 @@
 junit
 test
 
+
+
+io.dropwizard.metrics
+metrics-jvm
+${dropwizard.version}
+
 
+
+io.dropwizard.metrics
+metrics-json
+${dropwizard.version}
+
+
+
+com.github.joshelser
+
dropwizard-metrics-hadoop-metrics2-reporter
+0.1.2
+
 
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/8e078847/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 b622825..99b9bb2 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
@@ -1173,4 +1173,24 @@ abstract public class KylinConfigBase implements 
Serializable {
 public boolean isWebCrossDomainEnabled() {
 return 
Boolean.parseBoolean(getOptional("kylin.web.cross-domain-enabled", "true"));
 }
+
+/**
+ * metric
+ */
+public String getCoadhaleMetricReportClassesName() {
+return getOptional("kylin.metric.codahale-metric-report-classes",
+
"org.apache.kylin.common.metrics.metrics2.JsonFileMetricsReporter,org.apache.kylin.common.metrics.metrics2.JmxMetricsReporter");
+}
+
+public String getMetricFileLocation() {
+return getOptional("kylin.metric.file.location", "/tmp/report.json");
+}
+
+public Long getJsonFileMetricsReporterInterval() {
+return 
Long.parseLong(getOptional("kylin.metric.json-file-metric-reporter.interval", 
"5000"));
+}
+
+public String getPerfLoggerClassName() {
+return getOptional("kylin.metric.perf-logger.class", 
"org.apache.kylin.common.metrics.perflog.PerfLogger");
+}
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/8e078847/core-common/src/main/java/org/apache/kylin/common/metrics/common/Metrics.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/metrics/common/Metrics.java 
b/core-common/src/main/java/org/apache/kylin/common/metrics/common/Metrics.java
ne

[18/50] [abbrv] kylin git commit: KYLIN-2776 Using dropwizard as default metric framework modify comment code

2017-09-04 Thread kangkaisen
KYLIN-2776 Using dropwizard as default metric framework
modify comment code


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

Branch: refs/heads/2622-2764
Commit: b778f33af3718fd1bf5f705b81104f424803fe78
Parents: fad75c9
Author: yiming.xu <100650...@qq.com>
Authored: Mon Aug 28 12:57:10 2017 +0800
Committer: Hongbin Ma 
Committed: Mon Aug 28 13:50:36 2017 +0800

--
 .../apache/kylin/common/KylinConfigBase.java|  4 ++
 .../kylin/common/metrics/common/Metrics.java| 40 ---
 .../common/metrics/common/MetricsConstant.java  |  2 +-
 .../common/metrics/common/MetricsFactory.java   |  2 +-
 .../metrics/common/MetricsNameBuilder.java  | 38 ++
 .../common/metrics/common/MetricsScope.java |  8 +--
 .../kylin/common/metrics/common/Metricss.java   | 40 ---
 .../metrics/metrics2/CodahaleMetrics.java   | 20 
 .../metrics2/ConsoleMetricsReporter.java|  2 +-
 .../metrics/metrics2/JmxMetricsReporter.java|  2 +-
 .../metrics2/MetricVariableRatioGauge.java  |  2 +-
 .../metrics/metrics2/Metrics2Reporter.java  |  2 +-
 .../metrics/metrics2/MetricsReporting.java  |  3 --
 .../common/metrics/perflog/PerfLogger.java  |  3 +-
 .../kylin/rest/metrics/QueryMetrics2Facade.java | 20 
 .../kylin/rest/metrics/QueryMetrics2Test.java   | 52 ++--
 16 files changed, 122 insertions(+), 118 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/b778f33a/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 99b9bb2..bca00e7 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
@@ -1149,6 +1149,10 @@ abstract public class KylinConfigBase implements 
Serializable {
 return 
Boolean.parseBoolean(getOptional("kylin.server.query-metrics-enabled", 
"false"));
 }
 
+public boolean getQueryMetrics2Enabled() {
+return 
Boolean.parseBoolean(getOptional("kylin.server.query-metrics2-enabled", 
"false"));
+}
+
 public int[] getQueryMetricsPercentilesIntervals() {
 String[] dft = { "60", "300", "3600" };
 return 
getOptionalIntArray("kylin.server.query-metrics-percentiles-intervals", dft);

http://git-wip-us.apache.org/repos/asf/kylin/blob/b778f33a/core-common/src/main/java/org/apache/kylin/common/metrics/common/Metrics.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/metrics/common/Metrics.java 
b/core-common/src/main/java/org/apache/kylin/common/metrics/common/Metrics.java
index dcda3cd..9bf8e7a 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/metrics/common/Metrics.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/metrics/common/Metrics.java
@@ -17,13 +17,13 @@
 */
 package org.apache.kylin.common.metrics.common;
 
+import java.util.concurrent.TimeUnit;
+
 import com.codahale.metrics.Counter;
 import com.codahale.metrics.Histogram;
 import com.codahale.metrics.Meter;
 import com.codahale.metrics.Timer;
 
-import java.util.concurrent.TimeUnit;
-
 /**
  * Generic Metics interface.
  */
@@ -35,7 +35,6 @@ public interface Metrics {
 public void close() throws Exception;
 
 /**
- *
  * @param name starts a scope of a given name.  Scopes is stored as 
thread-local variable.
  */
 public void startStoredScope(String name);
@@ -43,12 +42,14 @@ public interface Metrics {
 /**
  * Closes the stored scope of a given name.
  * Note that this must be called on the same thread as where the scope was 
started.
+ *
  * @param name
  */
 public void endStoredScope(String name);
 
 /**
  * Create scope with given name and returns it.
+ *
  * @param name
  * @return
  */
@@ -56,6 +57,7 @@ public interface Metrics {
 
 /**
  * Close the given scope.
+ *
  * @param scope
  */
 public void endScope(MetricsScope scope);
@@ -64,6 +66,7 @@ public interface Metrics {
 
 /**
  * Increments a counter of the given name by 1.
+ *
  * @param name
  * @return
  */
@@ -71,6 +74,7 @@ public interface Metrics {
 
 /**
  * Increments a counter of the given name by "increment"
+ *
  * @param name
  * @param increment
  * @return
@@ -79,6 +83,7 @@ public interface

[46/50] [abbrv] kylin git commit: KYLIN-2781 make find-hadoop-conf-dir.sh executable

2017-09-04 Thread kangkaisen
KYLIN-2781 make find-hadoop-conf-dir.sh executable

Signed-off-by: Li Yang 


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

Branch: refs/heads/2622-2764
Commit: 1da269d5912aed83eebb93a2e4429fd025321386
Parents: 2e4474e
Author: yanghao3 
Authored: Fri Sep 1 16:09:12 2017 +0800
Committer: Li Yang 
Committed: Sun Sep 3 19:51:04 2017 +0800

--
 build/bin/find-hadoop-conf-dir.sh | 106 +
 1 file changed, 54 insertions(+), 52 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/1da269d5/build/bin/find-hadoop-conf-dir.sh
--
diff --git a/build/bin/find-hadoop-conf-dir.sh 
b/build/bin/find-hadoop-conf-dir.sh
index 403bc97..f5658ce 100755
--- a/build/bin/find-hadoop-conf-dir.sh
+++ b/build/bin/find-hadoop-conf-dir.sh
@@ -21,57 +21,59 @@ source $(cd -P -- "$(dirname -- "$0")" && pwd -P)/header.sh
 
 echo Retrieving hadoop conf dir...
 
-override_hadoop_conf_dir=`bash ${KYLIN_HOME}/bin/get-properties.sh 
kylin.env.hadoop-conf-dir`
-
-if [ -n "$override_hadoop_conf_dir" ]; then
-verbose "kylin_hadoop_conf_dir is override as $override_hadoop_conf_dir"
-export kylin_hadoop_conf_dir=${override_hadoop_conf_dir}
-return
-fi
-
-hbase_classpath=`hbase classpath`
-
-arr=(`echo $hbase_classpath | cut -d ":" -f 1- | sed 's/:/ /g'`)
-kylin_hadoop_conf_dir=
-
-for data in ${arr[@]}
-do
-result=`echo $data | grep -v -E ".*jar"`
-if [ $result ]
-then
-valid_conf_dir=true
-
-if [ ! -f $result/yarn-site.xml ]
-then
-verbose "$result is not valid hadoop dir conf because 
yarn-site.xml is missing"
-valid_conf_dir=false
-continue
-fi
-
-if [ ! -f $result/mapred-site.xml ]
-then
-verbose "$result is not valid hadoop dir conf because 
mapred-site.xml is missing"
-valid_conf_dir=false
-continue
-fi
-
-if [ ! -f $result/hdfs-site.xml ]
-then
-verbose "$result is not valid hadoop dir conf because 
hdfs-site.xml is missing"
-valid_conf_dir=false
-continue
-fi
-
-if [ ! -f $result/core-site.xml ]
-then
-verbose "$result is not valid hadoop dir conf because 
core-site.xml is missing"
-valid_conf_dir=false
-continue
-fi
-
-verbose "kylin_hadoop_conf_dir is $result"
-export kylin_hadoop_conf_dir=$result
+function find_hadoop_conf_dir() {
+override_hadoop_conf_dir=`bash ${KYLIN_HOME}/bin/get-properties.sh 
kylin.env.hadoop-conf-dir`
+
+if [ -n "$override_hadoop_conf_dir" ]; then
+verbose "kylin_hadoop_conf_dir is override as 
$override_hadoop_conf_dir"
+export kylin_hadoop_conf_dir=${override_hadoop_conf_dir}
 return
 fi
-done
-
+
+hbase_classpath=`hbase classpath`
+
+arr=(`echo $hbase_classpath | cut -d ":" -f 1- | sed 's/:/ /g'`)
+kylin_hadoop_conf_dir=
+
+for data in ${arr[@]}
+do
+result=`echo $data | grep -v -E ".*jar"`
+if [ $result ]
+then
+valid_conf_dir=true
+
+if [ ! -f $result/yarn-site.xml ]
+then
+verbose "$result is not valid hadoop dir conf because 
yarn-site.xml is missing"
+valid_conf_dir=false
+continue
+fi
+
+if [ ! -f $result/mapred-site.xml ]
+then
+verbose "$result is not valid hadoop dir conf because 
mapred-site.xml is missing"
+valid_conf_dir=false
+continue
+fi
+
+if [ ! -f $result/hdfs-site.xml ]
+then
+verbose "$result is not valid hadoop dir conf because 
hdfs-site.xml is missing"
+valid_conf_dir=false
+continue
+fi
+
+if [ ! -f $result/core-site.xml ]
+then
+verbose "$result is not valid hadoop dir conf because 
core-site.xml is missing"
+valid_conf_dir=false
+continue
+fi
+
+verbose "kylin_hadoop_conf_dir is $result"
+export kylin_hadoop_conf_dir=$result
+return
+fi
+done
+}
+find_hadoop_conf_dir
\ No newline at end of file



[22/50] [abbrv] kylin git commit: KYLIN-2803 Pushdown non select query

2017-09-04 Thread kangkaisen
KYLIN-2803 Pushdown non select query


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

Branch: refs/heads/2622-2764
Commit: dbecb9b84bc90049acb3ef314128ac71f3516731
Parents: 480592d
Author: shi shaofeng 
Authored: Fri Aug 25 16:18:21 2017 +0800
Committer: SHAOFENG SHI 
Committed: Mon Aug 28 16:02:43 2017 +0800

--
 .../apache/kylin/common/KylinConfigBase.java|  4 ++
 .../adhocquery/HivePushDownConverter.java   |  4 ++
 .../source/adhocquery/IPushDownRunner.java  | 13 ++
 .../query/adhoc/PushDownRunnerJdbcImpl.java | 36 -
 .../apache/kylin/query/util/PushDownUtil.java   | 32 ++-
 .../org/apache/kylin/query/util/QueryUtil.java  | 28 +
 .../apache/kylin/query/util/QueryUtilTest.java  | 39 ++
 .../apache/kylin/rest/service/QueryService.java | 42 +---
 8 files changed, 172 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/dbecb9b8/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 bca00e7..a113327 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
@@ -1088,6 +1088,10 @@ abstract public class KylinConfigBase implements 
Serializable {
 new String[] { 
"org.apache.kylin.source.adhocquery.HivePushDownConverter" });
 }
 
+public boolean isPushdownQueryCacheEnabled() {
+return 
Boolean.parseBoolean(this.getOptional("kylin.query.pushdown.cache-enabled", 
"false"));
+}
+
 public String getJdbcUrl() {
 return getOptional("kylin.query.pushdown.jdbc.url", "");
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/dbecb9b8/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/HivePushDownConverter.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/HivePushDownConverter.java
 
b/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/HivePushDownConverter.java
index bcd8608..eef4594 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/HivePushDownConverter.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/HivePushDownConverter.java
@@ -262,6 +262,10 @@ public class HivePushDownConverter implements 
IPushDownConverter {
 // Step7.Add quote for interval in timestampadd
 convertedSql = timestampaddReplace(convertedSql);
 
+// Step8.Replace integer with int
+convertedSql = replaceString(convertedSql, "INTEGER", "INT");
+convertedSql = replaceString(convertedSql, "integer", "int");
+
 return convertedSql;
 }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/dbecb9b8/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/IPushDownRunner.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/IPushDownRunner.java
 
b/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/IPushDownRunner.java
index c8d18aa..0336bfb 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/IPushDownRunner.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/source/adhocquery/IPushDownRunner.java
@@ -36,4 +36,17 @@ public interface IPushDownRunner {
  * @throws Exception if running pushdown query fails
  */
 void executeQuery(String query, List> returnRows, 
List returnColumnMeta) throws Exception;
+
+
+/**
+ * Run an pushdown non-query sql
+ *
+ * @param sql the sql statement
+ *
+ * @return whether the SQL is executed successfully
+ *
+ * @throws Exception if running pushdown fails
+ */
+boolean executeUpdate(String sql) throws Exception;
+
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/dbecb9b8/query/src/main/java/org/apache/kylin/query/adhoc/PushDownRunnerJdbcImpl.java
--
diff --git 
a/query/src/main/java/org/apache/kylin/query/adhoc/PushDownRunnerJdbcImpl.java 
b/query/src/main/java/org/apache/kylin/query/adhoc/PushDownRunnerJdbcImpl.java
index 751e6b0..713629a 100644
--- 
a/query/src/main/java/org/apache/kylin/query/adhoc/PushDownRunnerJdbcImpl.java
+++ 
b/query/src/main/java/

[38/50] [abbrv] kylin git commit: minor, add api to get table_ext from table_desc

2017-09-04 Thread kangkaisen
minor, add api to get table_ext from table_desc


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

Branch: refs/heads/2622-2764
Commit: a54f016aff86e93652e7df0a401c270ca6795d13
Parents: 4b3a44b
Author: lidongsjtu 
Authored: Fri Sep 1 14:44:00 2017 +0800
Committer: Hongbin Ma 
Committed: Fri Sep 1 17:53:18 2017 +0800

--
 .../src/main/java/org/apache/kylin/metadata/MetadataManager.java | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/a54f016a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
index 367ad64..b8141fe 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
@@ -217,6 +217,10 @@ public class MetadataManager {
 if (t == null)
 return null;
 
+return getTableExt(t);
+}
+
+public TableExtDesc getTableExt(TableDesc t) {
 TableExtDesc result = srcTableExtMap.get(mapKey(t.getIdentity(), 
t.getProject()));
 
 // avoid returning null, since the TableDesc exists



[28/50] [abbrv] kylin git commit: KYLIN-2823 Trim TupleFilter after dictionary-based filter optimization

2017-09-04 Thread kangkaisen
KYLIN-2823 Trim TupleFilter after dictionary-based filter optimization


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

Branch: refs/heads/2622-2764
Commit: 47822891332aef146ae3c2b5e3adc98c23024770
Parents: 1eb3617
Author: Hongbin Ma 
Authored: Wed Aug 30 16:06:18 2017 +0800
Committer: 成 
Committed: Wed Aug 30 17:40:03 2017 +0800

--
 .../java/org/apache/kylin/gridtable/GTUtil.java |  24 +++-
 .../metadata/filter/ConstantTupleFilter.java|  14 +++
 .../filter/FilterOptimizeTransformer.java   |  35 +-
 .../filter/FilterOptimizeTransformerTest.java   | 121 +++
 .../storage/gtrecord/DictGridTableTest.java | 108 +++--
 .../src/test/resources/query/sql/query106.sql   | 101 
 .../src/test/resources/query/sql/query107.sql   | 102 
 7 files changed, 459 insertions(+), 46 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/47822891/core-cube/src/main/java/org/apache/kylin/gridtable/GTUtil.java
--
diff --git a/core-cube/src/main/java/org/apache/kylin/gridtable/GTUtil.java 
b/core-cube/src/main/java/org/apache/kylin/gridtable/GTUtil.java
index 7a7e4e6..5c9dfe3 100755
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTUtil.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTUtil.java
@@ -30,6 +30,7 @@ import org.apache.kylin.common.util.BytesUtil;
 import org.apache.kylin.metadata.filter.ColumnTupleFilter;
 import org.apache.kylin.metadata.filter.CompareTupleFilter;
 import org.apache.kylin.metadata.filter.ConstantTupleFilter;
+import org.apache.kylin.metadata.filter.FilterOptimizeTransformer;
 import org.apache.kylin.metadata.filter.IFilterCodeSystem;
 import org.apache.kylin.metadata.filter.TupleFilter;
 import org.apache.kylin.metadata.filter.TupleFilterSerializer;
@@ -64,7 +65,15 @@ public class GTUtil {
 public static TupleFilter convertFilterColumnsAndConstants(TupleFilter 
rootFilter, GTInfo info, //
 List colMapping, Set 
unevaluatableColumnCollector) {
 Map map = colListToMap(colMapping);
-return convertFilter(rootFilter, info, map, true, 
unevaluatableColumnCollector);
+TupleFilter filter = convertFilter(rootFilter, info, map, true, 
unevaluatableColumnCollector);
+
+// optimize the filter: after translating with dictionary, some 
filters become determined
+// e.g.
+// ( a = 'value_in_dict' OR a = 'value_not_in_dict') will become (a = 
'value_in_dict' OR ConstantTupleFilter.FALSE)
+// use the following to further trim the filter to (a = 
'value_in_dict')
+// The goal is to avoid too many children after flatten filter step
+filter = new FilterOptimizeTransformer().transform(filter);
+return filter;
 }
 
 protected static Map colListToMap(List 
colMapping) {
@@ -81,8 +90,9 @@ public class GTUtil {
 final Set unevaluatableColumnCollector) {
 
 IFilterCodeSystem filterCodeSystem = 
wrap(info.codeSystem.getComparator());
-
-GTConvertDecorator decorator = new 
GTConvertDecorator(unevaluatableColumnCollector, colMapping, info, 
encodeConstants);
+
+GTConvertDecorator decorator = new 
GTConvertDecorator(unevaluatableColumnCollector, colMapping, info,
+encodeConstants);
 
 byte[] bytes = TupleFilterSerializer.serialize(rootFilter, decorator, 
filterCodeSystem);
 return TupleFilterSerializer.deserialize(bytes, filterCodeSystem);
@@ -122,14 +132,15 @@ public class GTUtil {
 protected final GTInfo info;
 protected final boolean encodeConstants;
 
-public GTConvertDecorator(Set unevaluatableColumnCollector, 
Map colMapping, GTInfo info, boolean encodeConstants) {
+public GTConvertDecorator(Set unevaluatableColumnCollector, 
Map colMapping,
+GTInfo info, boolean encodeConstants) {
 this.unevaluatableColumnCollector = unevaluatableColumnCollector;
 this.colMapping = colMapping;
 this.info = info;
 this.encodeConstants = encodeConstants;
 buf = ByteBuffer.allocate(info.getMaxColumnLength());
 }
-
+
 protected int mapCol(TblColRef col) {
 Integer i = colMapping.get(col);
 return i == null ? -1 : i;
@@ -143,7 +154,8 @@ public class GTUtil {
 // In case of NOT(unEvaluatableFilter), we should immediately 
replace it as TRUE,
 // Otherwise, unEvaluatableFilter will later be replace with TRUE 
and NOT(unEvaluatableFilter)
 // will always return F

[19/50] [abbrv] kylin git commit: KYLIN-2811, fix NPE

2017-09-04 Thread kangkaisen
KYLIN-2811, fix NPE

Signed-off-by: Hongbin Ma 


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

Branch: refs/heads/2622-2764
Commit: 727920b4d3642aaa3657d90b7f3dce7dcdd68fe2
Parents: a1c234a
Author: Cheng Wang 
Authored: Mon Aug 28 12:47:58 2017 +0800
Committer: Hongbin Ma 
Committed: Mon Aug 28 14:41:26 2017 +0800

--
 .../kylin/engine/spark/SparkCubingByLayer.java  | 43 +++-
 1 file changed, 24 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/727920b4/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 a3a6ad0..a03e238 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
@@ -100,7 +100,6 @@ public class SparkCubingByLayer extends AbstractApplication 
implements Serializa
 .withDescription("Configuration Path").create("confPath");
 
 private Options options;
-private static String metaUrl;
 
 public SparkCubingByLayer() {
 options = new Options();
@@ -117,7 +116,7 @@ public class SparkCubingByLayer extends AbstractApplication 
implements Serializa
 return options;
 }
 
-public static KylinConfig getKylinConfigForExecutor() {
+public static KylinConfig getKylinConfigForExecutor(String metaUrl) {
 File file = new 
File(SparkFiles.get(KylinConfig.KYLIN_CONF_PROPERTIES_FILE));
 String confPath = file.getParentFile().getAbsolutePath();
 System.setProperty(KylinConfig.KYLIN_CONF, confPath);
@@ -128,7 +127,7 @@ public class SparkCubingByLayer extends AbstractApplication 
implements Serializa
 
 @Override
 protected void execute(OptionsHelper optionsHelper) throws Exception {
-metaUrl = optionsHelper.getOptionValue(OPTION_META_URL);
+String metaUrl = optionsHelper.getOptionValue(OPTION_META_URL);
 String hiveTable = optionsHelper.getOptionValue(OPTION_INPUT_TABLE);
 String cubeName = optionsHelper.getOptionValue(OPTION_CUBE_NAME);
 String segmentId = optionsHelper.getOptionValue(OPTION_SEGMENT_ID);
@@ -178,17 +177,17 @@ public class SparkCubingByLayer extends 
AbstractApplication implements Serializa
 
 // encode with dimension encoding, transform to  
RDD
 final JavaPairRDD encodedBaseRDD = 
intermediateTable.javaRDD()
-.mapToPair(new EncodeBaseCuboid(cubeName, segmentId));
+.mapToPair(new EncodeBaseCuboid(cubeName, segmentId, metaUrl));
 
 Long totalCount = 0L;
 if (envConfig.isSparkSanityCheckEnabled()) {
 totalCount = encodedBaseRDD.count();
 }
 
-final BaseCuboidReducerFunction2 baseCuboidReducerFunction = new 
BaseCuboidReducerFunction2(cubeName);
+final BaseCuboidReducerFunction2 baseCuboidReducerFunction = new 
BaseCuboidReducerFunction2(cubeName, metaUrl);
 BaseCuboidReducerFunction2 reducerFunction2 = 
baseCuboidReducerFunction;
 if (allNormalMeasure == false) {
-reducerFunction2 = new CuboidReducerFunction2(cubeName, needAggr);
+reducerFunction2 = new CuboidReducerFunction2(cubeName, metaUrl, 
needAggr);
 }
 
 final int totalLevels = cubeDesc.getBuildLevel();
@@ -202,18 +201,18 @@ public class SparkCubingByLayer extends 
AbstractApplication implements Serializa
 Configuration confOverwrite = new 
Configuration(sc.hadoopConfiguration());
 confOverwrite.set("dfs.replication", "2"); // cuboid intermediate 
files, replication=2
 
-saveToHDFS(allRDDs[0], cubeName, cubeSegment, outputPath, 0, 
confOverwrite);
+saveToHDFS(allRDDs[0], cubeName, metaUrl, cubeSegment, outputPath, 0, 
confOverwrite);
 
 // aggregate to ND cuboids
 for (level = 1; level <= totalLevels; level++) {
 long levelRddSize = SizeEstimator.estimate(allRDDs[level - 1]) / 
(1024 * 1024);
 partition = estimateRDDPartitionNum(level, cubeStatsReader, 
envConfig, (int) levelRddSize);
-allRDDs[level] = allRDDs[level - 1].flatMapToPair(new 
CuboidFlatMap(cubeName, segmentId))
+allRDDs[level] = allRDDs[level - 1].flatMapToPair(new 
CuboidFlatMap(cubeName, segmentId, metaUrl))
 .reduceByKey(reducerFunction2, 
partition).persist(storageLevel);
 if 

[23/50] [abbrv] kylin git commit: Revert "KYLIN-2816 support hive unicode column name"

2017-09-04 Thread kangkaisen
Revert "KYLIN-2816 support hive unicode column name"

This reverts commit 3712464e5e09c66b4c17cdb0c19e420c61c13358.


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

Branch: refs/heads/2622-2764
Commit: 487a854bfece7b9fc72b0118a40d51100eca8463
Parents: 81e9f57
Author: Hongbin Ma 
Authored: Mon Aug 28 19:19:24 2017 +0800
Committer: Hongbin Ma 
Committed: Tue Aug 29 10:36:10 2017 +0800

--
 .../kylin/common/util/HiveCmdBuilder.java   |  5 ++--
 .../kylin/common/util/HiveCmdBuilderTest.java   |  2 +-
 .../org/apache/kylin/job/JoinedFlatTable.java   | 28 
 .../apache/kylin/source/hive/HiveMRInput.java   |  2 +-
 4 files changed, 9 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/487a854b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java 
b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
index 191bbc0..2f6b9a0 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
@@ -66,12 +66,11 @@ public class HiveCmdBuilder {
 
 switch (clientMode) {
 case CLI:
-// use single-quote to ignore the executing back-ticks surrounded 
column name in shell
-buf.append("hive -e \'");
+buf.append("hive -e \"");
 for (String statement : statements) {
 buf.append(statement).append("\n");
 }
-buf.append("\'");
+buf.append("\"");
 buf.append(parseProps());
 break;
 case BEELINE:

http://git-wip-us.apache.org/repos/asf/kylin/blob/487a854b/core-common/src/test/java/org/apache/kylin/common/util/HiveCmdBuilderTest.java
--
diff --git 
a/core-common/src/test/java/org/apache/kylin/common/util/HiveCmdBuilderTest.java
 
b/core-common/src/test/java/org/apache/kylin/common/util/HiveCmdBuilderTest.java
index d2938b5..d69d4d2 100644
--- 
a/core-common/src/test/java/org/apache/kylin/common/util/HiveCmdBuilderTest.java
+++ 
b/core-common/src/test/java/org/apache/kylin/common/util/HiveCmdBuilderTest.java
@@ -60,7 +60,7 @@ public class HiveCmdBuilderTest {
 hiveCmdBuilder.addStatement("SHOW\n TABLES;");
 hiveCmdBuilder.setHiveConfProps(hiveProps);
 hiveCmdBuilder.overwriteHiveProps(hivePropsOverwrite);
-assertEquals("hive -e \'USE default;\nDROP TABLE test;\nSHOW\n 
TABLES;\n\' --hiveconf hive.execution.engine=tez", hiveCmdBuilder.build());
+assertEquals("hive -e \"USE default;\nDROP TABLE test;\nSHOW\n 
TABLES;\n\" --hiveconf hive.execution.engine=tez", hiveCmdBuilder.build());
 }
 
 @Test

http://git-wip-us.apache.org/repos/asf/kylin/blob/487a854b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
--
diff --git a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java 
b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
index 824c693..acb29e1 100644
--- a/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
+++ b/core-job/src/main/java/org/apache/kylin/job/JoinedFlatTable.java
@@ -42,8 +42,6 @@ import org.apache.kylin.metadata.model.TblColRef;
 
 public class JoinedFlatTable {
 
-public static final String BACKTICK = "`";
-
 public static String getTableDir(IJoinedFlatTableDesc flatDesc, String 
storageDfsDir) {
 return storageDfsDir + "/" + flatDesc.getTableName();
 }
@@ -77,7 +75,7 @@ public class JoinedFlatTable {
 ddl.append("ROW FORMAT DELIMITED FIELDS TERMINATED BY ','" + "\n");
 }
 ddl.append("STORED AS " + format + "\n");
-ddl.append("LOCATION '\"'\"'" + getTableDir(flatDesc, storageDfsDir) + 
"'\"'\"';").append("\n");
+ddl.append("LOCATION '" + getTableDir(flatDesc, storageDfsDir) + 
"';").append("\n");
 return ddl.toString();
 }
 
@@ -130,15 +128,10 @@ public class JoinedFlatTable {
 sql.append(",");
 }
 String colTotalName = String.format("%s.%s", 
col.getTableRef().getTableName(), col.getName());
-String expressionInSourceDB = col.getExpressionInSourceDB();
-if (expressionInSourceDB.contains(".")) {
-// surround column name with back-tick, to support unicode 
column name
-expre

kylin git commit: KYLIN-2838 Should get storageType in changeHtableHost of CubeMigrationCLI

2017-09-03 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master 34596d355 -> 78543d6e9


KYLIN-2838 Should get storageType in changeHtableHost of CubeMigrationCLI


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

Branch: refs/heads/master
Commit: 78543d6e970cfb9dc85bcc48775681afcdb1c0e9
Parents: 34596d3
Author: kangkaisen 
Authored: Sun Sep 3 17:52:18 2017 +0800
Committer: kangkaisen 
Committed: Sun Sep 3 17:53:37 2017 +0800

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


http://git-wip-us.apache.org/repos/asf/kylin/blob/78543d6e/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java
--
diff --git a/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java 
b/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java
index bb308e2..d3865c6 100644
--- a/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java
+++ b/tool/src/main/java/org/apache/kylin/tool/CubeMigrationCLI.java
@@ -201,7 +201,7 @@ public class CubeMigrationCLI {
 }
 
 protected void changeHtableHost(CubeInstance cube) {
-if (cube.getDescriptor().getEngineType() != 
IStorageAware.ID_SHARDED_HBASE)
+if (cube.getDescriptor().getStorageType() != 
IStorageAware.ID_SHARDED_HBASE)
 return;
 for (CubeSegment segment : cube.getSegments()) {
 operations



[1/2] kylin git commit: KYLIN-2622 Add SegmentAppendTrieDictBuilder for count distinct measure

2017-09-02 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/2622-2764 [created] 2607e18b5


KYLIN-2622 Add SegmentAppendTrieDictBuilder for count distinct measure


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

Branch: refs/heads/2622-2764
Commit: ec5dd54e9ea5e373569cd65cab322a17716718ff
Parents: 15d6063
Author: kangkaisen 
Authored: Tue May 16 17:04:55 2017 +0800
Committer: kangkaisen 
Committed: Sat Sep 2 18:53:07 2017 +0800

--
 .../apache/kylin/dict/AppendTrieDictionary.java |  9 ++-
 .../apache/kylin/dict/DictionaryManager.java| 10 +++
 .../kylin/dict/GlobalDictionaryBuilder.java |  8 +--
 .../global/AppendTrieDictionaryBuilder.java | 15 ++--
 .../kylin/dict/global/GlobalDictHDFSStore.java  | 54 +-
 .../kylin/dict/global/GlobalDictMetadata.java   |  1 -
 .../kylin/dict/global/GlobalDictStore.java  |  5 +-
 .../global/SegmentAppendTrieDictBuilder.java| 76 
 .../dict/global/AppendTrieDictionaryTest.java   |  3 +-
 .../kylin/measure/bitmap/BitmapMeasureType.java | 21 +-
 .../localmeta/cube_desc/ci_inner_join_cube.json |  2 +-
 webapp/app/js/model/cubeConfig.js   |  3 +-
 .../cubeDesigner/advanced_settings.html | 13 +++-
 13 files changed, 162 insertions(+), 58 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/ec5dd54e/core-dictionary/src/main/java/org/apache/kylin/dict/AppendTrieDictionary.java
--
diff --git 
a/core-dictionary/src/main/java/org/apache/kylin/dict/AppendTrieDictionary.java 
b/core-dictionary/src/main/java/org/apache/kylin/dict/AppendTrieDictionary.java
index b9f0d2b..18795b4 100644
--- 
a/core-dictionary/src/main/java/org/apache/kylin/dict/AppendTrieDictionary.java
+++ 
b/core-dictionary/src/main/java/org/apache/kylin/dict/AppendTrieDictionary.java
@@ -38,8 +38,8 @@ import java.io.IOException;
 import java.io.PrintStream;
 import java.util.Arrays;
 import java.util.Objects;
+import java.util.TreeMap;
 import java.util.concurrent.ExecutionException;
-import static com.google.common.base.Preconditions.checkState;
 
 /**
  * A dictionary based on Trie data structure that maps enumerations of byte[] 
to
@@ -72,7 +72,12 @@ public class AppendTrieDictionary extends 
CacheDictionary {
 this.baseDir = baseDir;
 final GlobalDictStore globalDictStore = new 
GlobalDictHDFSStore(baseDir);
 Long[] versions = globalDictStore.listAllVersions();
-checkState(versions.length > 0, "Global dict at %s is empty", baseDir);
+
+if (versions.length == 0) {
+this.metadata = new GlobalDictMetadata(0, 0, 0, 0, null, new 
TreeMap());
+return; // for the removed SegmentAppendTrieDictBuilder
+}
+
 final long latestVersion = versions[versions.length - 1];
 final Path latestVersionPath = 
globalDictStore.getVersionDir(latestVersion);
 this.metadata = globalDictStore.getMetadata(latestVersion);

http://git-wip-us.apache.org/repos/asf/kylin/blob/ec5dd54e/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
--
diff --git 
a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java 
b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
index 857ee30..47e5c29 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
@@ -227,6 +227,16 @@ public class DictionaryManager {
 if (dicts.size() == 1)
 return dicts.get(0);
 
+/**
+ * AppendTrieDictionary needn't merge
+ * more than one AppendTrieDictionary will generate when user use 
{@link SegmentAppendTrieDictBuilder}
+ */
+for (DictionaryInfo dict: dicts) {
+if 
(dict.getDictionaryClass().equals(AppendTrieDictionary.class.getName())) {
+return dict;
+}
+}
+
 DictionaryInfo firstDictInfo = null;
 int totalSize = 0;
 for (DictionaryInfo info : dicts) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/ec5dd54e/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
--
diff --git 
a/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
 
b/core-dictionary/src/main/java/org/apache/kylin/dict/GlobalDictionaryBuilder.java
index a593371..404d53c 100644
--- 
a/core-dictionary/src/main/java/org

[2/2] kylin git commit: KYLIN-2764 Build UHC Dict Use MR

2017-09-02 Thread kangkaisen
KYLIN-2764 Build UHC Dict Use MR


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

Branch: refs/heads/2622-2764
Commit: 2607e18b5e17d2a68f4079a76b8c990f144cbbd6
Parents: ec5dd54
Author: kangkaisen 
Authored: Fri Jul 21 15:22:30 2017 +0800
Committer: kangkaisen 
Committed: Sat Sep 2 18:53:17 2017 +0800

--
 .../apache/kylin/common/KylinConfigBase.java|  11 +-
 .../java/org/apache/kylin/cube/CubeManager.java |  82 +-
 .../apache/kylin/dict/DictionaryGenerator.java  |  14 +-
 .../org/apache/kylin/dict/DictionaryInfo.java   |   4 +
 .../kylin/dict/GlobalDictionaryBuilder.java |   9 +-
 .../apache/kylin/dict/IDictionaryBuilder.java   |   2 +-
 .../global/SegmentAppendTrieDictBuilder.java|   4 +-
 .../kylin/dict/DictionaryProviderTest.java  |   2 +-
 .../kylin/job/constant/ExecutableConstants.java |   1 +
 .../kylin/engine/mr/BatchCubingJobBuilder2.java |  26 +++-
 .../kylin/engine/mr/JobBuilderSupport.java  |  24 ++-
 .../engine/mr/common/AbstractHadoopJob.java |   1 +
 .../kylin/engine/mr/common/BatchConstants.java  |   4 +
 .../engine/mr/steps/CreateDictionaryJob.java|  16 +-
 .../mr/steps/FactDistinctColumnsReducer.java|   2 +-
 .../kylin/engine/mr/steps/UHCDictionaryJob.java | 154 +++
 .../engine/mr/steps/UHCDictionaryMapper.java| 101 
 .../mr/steps/UHCDictionaryPartitioner.java  |  30 
 .../engine/mr/steps/UHCDictionaryReducer.java   | 113 ++
 .../test_case_data/sandbox/kylin.properties |   5 +
 .../dict/ITGlobalDictionaryBuilderTest.java |   4 +-
 21 files changed, 551 insertions(+), 58 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/2607e18b/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 f9c3adb..16c60de 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
@@ -844,6 +844,10 @@ abstract public class KylinConfigBase implements 
Serializable {
 return getPropertiesByPrefix("kylin.engine.mr.config-override.");
 }
 
+public Map getUHCMRConfigOverride() {
+return getPropertiesByPrefix("kylin.engine.mr.uhc-config-override.");
+}
+
 public Map getSparkConfigOverride() {
 return getPropertiesByPrefix("kylin.engine.spark-conf.");
 }
@@ -870,9 +874,14 @@ 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", "5"));
 }
 
+public boolean isBuildUHCDictWithMREnabled() {
+return 
Boolean.parseBoolean(getOptional("kylin.engine.mr.build-uhc-dict", "true"));
+}
+
+
 public boolean isBuildDictInReducerEnabled() {
 return 
Boolean.parseBoolean(getOptional("kylin.engine.mr.build-dict-in-reducer", 
"true"));
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/2607e18b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
--
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java 
b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
index 0beb926..aaaedd3 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
@@ -30,7 +30,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
-import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
@@ -227,6 +226,7 @@ public class CubeManager implements IRealizationProvider {
 return null;
 
 String builderClass = cubeDesc.getDictionaryBuilderClass(col);
+
 DictionaryInfo dictInfo = 
getDictionaryManager().buildDictionary(cubeDesc.getModel(), col, inpTable,
 builderClass);
 
@@ -907,6 +907,52 @@ public class CubeManager implements IRealizationProvider {
 return factDictCols;
 

kylin git commit: KYLIN-2606 Only return counter for precise count_distinct if query is exactAggregate

2017-08-18 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master ef148601d -> 5b942267f


KYLIN-2606 Only return counter for precise count_distinct if query is 
exactAggregate


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

Branch: refs/heads/master
Commit: 5b942267fc26175199b4b26229e54def6728ce87
Parents: ef14860
Author: kangkaisen 
Authored: Wed Feb 15 19:53:17 2017 +0800
Committer: kangkaisen 
Committed: Sat Aug 19 13:30:36 2017 +0800

--
 .../kylin/cube/gridtable/CubeCodeSystem.java|   4 +
 .../org/apache/kylin/gridtable/GTRecord.java|   8 +
 .../kylin/gridtable/GTSampleCodeSystem.java |   4 +
 .../apache/kylin/gridtable/IGTCodeSystem.java   |   3 +
 .../measure/bitmap/BitmapCounterFactory.java|   2 +
 .../kylin/measure/bitmap/BitmapSerializer.java  |  38 -
 .../measure/bitmap/RoaringBitmapCounter.java|  10 ++
 .../bitmap/RoaringBitmapCounterFactory.java |   5 +
 .../metadata/datatype/DataTypeSerializer.java   |  13 ++
 .../gtrecord/GTCubeStorageQueryBase.java|  53 ++-
 .../hbase/cube/v2/CubeHBaseEndpointRPC.java |   1 +
 .../storage/hbase/cube/v2/CubeHBaseScanRPC.java |   2 +-
 .../hbase/cube/v2/HBaseReadonlyStore.java   |  33 +++-
 .../coprocessor/endpoint/CubeVisitService.java  |   2 +-
 .../endpoint/generated/CubeVisitProtos.java | 151 +++
 .../endpoint/protobuf/CubeVisit.proto   |   1 +
 16 files changed, 292 insertions(+), 38 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/5b942267/core-cube/src/main/java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java
--
diff --git 
a/core-cube/src/main/java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java 
b/core-cube/src/main/java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java
index aaa12a7..9eae6f3 100644
--- 
a/core-cube/src/main/java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java
+++ 
b/core-cube/src/main/java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java
@@ -177,4 +177,8 @@ public class CubeCodeSystem implements IGTCodeSystem {
 return result;
 }
 
+@Override
+public DataTypeSerializer getSerializer(int col) {
+return serializers[col];
+}
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5b942267/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
--
diff --git a/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java 
b/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
index 3e62ea7..f65e4b5 100644
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTRecord.java
@@ -296,4 +296,12 @@ public class GTRecord implements Comparable, 
Cloneable {
 }
 }
 
+/** change pointers to point to data in given buffer, this
+ *  method allows to defined specific column to load */
+public void loadColumns(int selectedCol, ByteBuffer buf) {
+int pos = buf.position();
+int len = info.codeSystem.codeLength(selectedCol, buf);
+cols[selectedCol].set(buf.array(), buf.arrayOffset() + pos, len);
+}
+
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5b942267/core-cube/src/main/java/org/apache/kylin/gridtable/GTSampleCodeSystem.java
--
diff --git 
a/core-cube/src/main/java/org/apache/kylin/gridtable/GTSampleCodeSystem.java 
b/core-cube/src/main/java/org/apache/kylin/gridtable/GTSampleCodeSystem.java
index 3f3c844..2a5e791 100644
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTSampleCodeSystem.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTSampleCodeSystem.java
@@ -118,4 +118,8 @@ public class GTSampleCodeSystem implements IGTCodeSystem {
 }
 };
 
+@Override
+public DataTypeSerializer getSerializer(int col) {
+return serializers[col];
+}
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5b942267/core-cube/src/main/java/org/apache/kylin/gridtable/IGTCodeSystem.java
--
diff --git 
a/core-cube/src/main/java/org/apache/kylin/gridtable/IGTCodeSystem.java 
b/core-cube/src/main/java/org/apache/kylin/gridtable/IGTCodeSystem.java
index 89dfc99..9c8ad6b 100644
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/IGTCodeSystem.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/IGTCodeSystem.java
@@ -23,6 +23,7 @@ import java.nio.ByteBuffer;
 import org.apache.kylin.common.util.ImmutableBit

kylin git commit: KYLIN-2706 Only compare with group columns in SortedIteratorMergerWithLimit

2017-08-09 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master 714b22512 -> 659eeaedd


KYLIN-2706 Only compare with group columns in SortedIteratorMergerWithLimit


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

Branch: refs/heads/master
Commit: 659eeaedd571c837df3beae44456dadde3036c3d
Parents: 714b225
Author: kangkaisen 
Authored: Sat Jul 22 20:40:45 2017 +0800
Committer: kangkaisen 
Committed: Wed Aug 9 19:59:58 2017 +0800

--
 .../gtrecord/GTCubeStorageQueryBase.java|  2 +-
 .../gtrecord/SequentialCubeTupleIterator.java   | 17 
 .../test/resources/query/sql_limit/query05.sql  | 21 
 3 files changed, 35 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/659eeaed/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
--
diff --git 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
index f89fc47..3543c75 100644
--- 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
+++ 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java
@@ -94,7 +94,7 @@ public abstract class GTCubeStorageQueryBase implements 
IStorageQuery {
 return ITupleIterator.EMPTY_TUPLE_ITERATOR;
 
 return new SequentialCubeTupleIterator(scanners, request.getCuboid(), 
request.getDimensions(),
-request.getMetrics(), returnTupleInfo, request.getContext(), 
sqlDigest);
+request.getGroups(), request.getMetrics(), returnTupleInfo, 
request.getContext(), sqlDigest);
 }
 
 protected GTCubeStorageQueryRequest getStorageQueryRequest(StorageContext 
context, SQLDigest sqlDigest, TupleInfo returnTupleInfo) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/659eeaed/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SequentialCubeTupleIterator.java
--
diff --git 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SequentialCubeTupleIterator.java
 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SequentialCubeTupleIterator.java
index f7cb1b9..3cbb538 100644
--- 
a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SequentialCubeTupleIterator.java
+++ 
b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SequentialCubeTupleIterator.java
@@ -23,6 +23,7 @@ import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
+import java.util.TreeSet;
 
 import org.apache.kylin.common.exceptions.KylinTimeoutException;
 import org.apache.kylin.cube.cuboid.Cuboid;
@@ -53,7 +54,7 @@ public class SequentialCubeTupleIterator implements 
ITupleIterator {
 private int scanCountDelta;
 
 public SequentialCubeTupleIterator(List scanners, 
Cuboid cuboid, Set selectedDimensions, //
-Set selectedMetrics, TupleInfo returnTupleInfo, 
StorageContext context, SQLDigest sqlDigest) {
+Set groups, Set selectedMetrics, 
TupleInfo returnTupleInfo, StorageContext context, SQLDigest sqlDigest) {
 this.context = context;
 this.scanners = scanners;
 
@@ -66,7 +67,7 @@ public class SequentialCubeTupleIterator implements 
ITupleIterator {
 //query with limit
 logger.info("Using SortedIteratorMergerWithLimit to merge segment 
results");
 Iterator> transformed = 
(Iterator>) (Iterator) segmentCubeTupleIterators.iterator();
-tupleIterator = new 
SortedIteratorMergerWithLimit(transformed, 
context.getFinalPushDownLimit(), getTupleDimensionComparator(cuboid, 
returnTupleInfo)).getIterator();
+tupleIterator = new 
SortedIteratorMergerWithLimit(transformed, 
context.getFinalPushDownLimit(), getTupleDimensionComparator(cuboid, groups, 
returnTupleInfo)).getIterator();
 } else {
 //normal case
 logger.info("Using Iterators.concat to merge segment results");
@@ -74,10 +75,18 @@ public class SequentialCubeTupleIterator implements 
ITupleIterator {
 }
 }
 
-public Comparator getTupleDimensionComparator(Cuboid cuboid, 
TupleInfo returnTupleInfo) {
+public Comparator getTupleDimensionComparator(Cuboid cuboid, 
Set groups, TupleInfo returnTupleInfo) {
 // dimensionIndexOnTuple is for SQL with limit
+List dimColumns = cuboid.getColumns();
+
+TreeSet 

kylin git commit: Revert "KYLIN-2604 Use global dict as the default encoding for precise distinct count in web"

2017-08-09 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/v2.1.0-release a85a72db3 -> 74912d48d


Revert "KYLIN-2604 Use global dict as the default encoding for precise distinct 
count in web"

This reverts commit 675881f5326224ca6723499604d8391ce894f05b.


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

Branch: refs/heads/v2.1.0-release
Commit: 74912d48d6d6fe7507f5b84f4010f957fabcaef2
Parents: a85a72d
Author: kangkaisen 
Authored: Wed Aug 9 19:41:12 2017 +0800
Committer: kangkaisen 
Committed: Wed Aug 9 19:41:12 2017 +0800

--
 webapp/app/js/controllers/cubeAdvanceSetting.js |  5 ++
 webapp/app/js/controllers/cubeEdit.js   | 52 
 webapp/app/js/controllers/cubeMeasures.js   |  7 ---
 3 files changed, 5 insertions(+), 59 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/74912d48/webapp/app/js/controllers/cubeAdvanceSetting.js
--
diff --git a/webapp/app/js/controllers/cubeAdvanceSetting.js 
b/webapp/app/js/controllers/cubeAdvanceSetting.js
index 8041a12..7d375da 100644
--- a/webapp/app/js/controllers/cubeAdvanceSetting.js
+++ b/webapp/app/js/controllers/cubeAdvanceSetting.js
@@ -187,6 +187,7 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function 
($scope, $modal,cubeConfi
   };
   $scope.initUpdateDictionariesStatus();
 
+
   $scope.addNewDictionaries = function (dictionaries, index) {
 if(dictionaries&&index>=0){
   $scope.updateDictionariesStatus.isEdit = true;
@@ -206,6 +207,10 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function 
($scope, $modal,cubeConfi
   };
 
   $scope.saveNewDictionaries = function (){
+if(!$scope.cubeMetaFrame.dictionaries){
+  $scope.cubeMetaFrame.dictionaries=[];
+}
+
 if($scope.updateDictionariesStatus.isEdit == true) {
   if 
($scope.cubeMetaFrame.dictionaries[$scope.updateDictionariesStatus.editIndex].column
 != $scope.newDictionaries.column) {
 if(!$scope.checkColumn()){

http://git-wip-us.apache.org/repos/asf/kylin/blob/74912d48/webapp/app/js/controllers/cubeEdit.js
--
diff --git a/webapp/app/js/controllers/cubeEdit.js 
b/webapp/app/js/controllers/cubeEdit.js
index 5f78b61..0e5038e 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -721,59 +721,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, 
$routeParams, $locatio
 }
   }
 
-  function reGenerateAdvancedDict () {
-if (!$scope.cubeMetaFrame.dictionaries) {
-  $scope.cubeMetaFrame.dictionaries = [];
-}
-
-var distinctMeasures = [];
-
-angular.forEach($scope.cubeMetaFrame.measures, function (measure, index) {
-  if (measure.function.expression === 'COUNT_DISTINCT' && 
measure.function.returntype === 'bitmap') {
-var measureColumn = measure.function.parameter.value;
-distinctMeasures.push(measureColumn);
-//keep backward compatibility
-distinctMeasures.push(VdmUtil.removeNameSpace(measureColumn))
-
-var isColumnExit = false;
-angular.forEach($scope.cubeMetaFrame.dictionaries, function 
(dictionaries) {
-  if (!isColumnExit) {
-//keep backward compatibility
-if (dictionaries.column == measureColumn || dictionaries.column == 
VdmUtil.removeNameSpace(measureColumn))
-  isColumnExit = true;
-  }
-});
-
-if (!isColumnExit) {
-  var dict = CubeDescModel.createDictionaries();
-  dict.column = measureColumn;
-  dict.builder = cubeConfig.buildDictionaries[0].value;
-  $scope.cubeMetaFrame.dictionaries.push(dict)
-}
-  }
-});
-
-//get all reuse columns
-var reuseColumns = [];
-angular.forEach($scope.cubeMetaFrame.dictionaries, function (dict, index) {
-  if (dict.reuse != null && reuseColumns.indexOf(dict.reuse) === -1) {
-reuseColumns.push(dict.reuse);
-  }
-});
 
-//remove deprecated distinct measures
-angular.forEach($scope.cubeMetaFrame.dictionaries, function (dict, index) {
-  if (distinctMeasures.indexOf(dict.column) === -1 && 
reuseColumns.indexOf(dict.column) === -1) {
-$scope.cubeMetaFrame.dictionaries.splice(index, 1);
-  }
-});
-  }
-
-  $scope.$on('MeasuresEdited', function (event) {
-if ($scope.cubeMetaFrame) {
-  reGenerateAdvancedDict();
-}
-  });
 
   $scope.$on('DimensionsEdited', function (event) {
 if ($scope.

kylin git commit: KryoRegistrator add ComputedColumnDesc

2017-07-27 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master c08965f92 -> 03bea8d94


KryoRegistrator add ComputedColumnDesc


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

Branch: refs/heads/master
Commit: 03bea8d94c2d4e948c45905cdc174fde73648cd8
Parents: c08965f
Author: kangkaisen 
Authored: Thu Jul 13 20:18:17 2017 +0800
Committer: kangkaisen 
Committed: Thu Jul 27 20:50:10 2017 +0800

--
 .../java/org/apache/kylin/metadata/model/ComputedColumnDesc.java | 4 +++-
 .../java/org/apache/kylin/engine/spark/KylinKryoRegistrator.java | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/03bea8d9/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
index 540b5fc..e8cc351 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
@@ -22,8 +22,10 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.base.Preconditions;
 import org.apache.kylin.metadata.model.tool.CalciteParser;
 
+import java.io.Serializable;
+
 @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, 
getterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = 
JsonAutoDetect.Visibility.NONE, setterVisibility = 
JsonAutoDetect.Visibility.NONE)
-public class ComputedColumnDesc {
+public class ComputedColumnDesc implements Serializable {
 @JsonProperty
 private String tableIdentity;
 @JsonProperty

http://git-wip-us.apache.org/repos/asf/kylin/blob/03bea8d9/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 106653f..048f62b 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
@@ -269,6 +269,7 @@ public class KylinKryoRegistrator implements 
KryoRegistrator {
 
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.DatabaseDesc.class);
+
kyroClasses.add(org.apache.kylin.metadata.model.ComputedColumnDesc.class);
 
kyroClasses.add(org.apache.kylin.metadata.model.ExternalFilterDesc.class);
 kyroClasses.add(org.apache.kylin.metadata.model.FunctionDesc.class);
 kyroClasses.add(org.apache.kylin.metadata.model.JoinDesc.class);



kylin git commit: KYLIN-2653 Manage the metadata use HDFSResourceStore for Spark Cubing

2017-07-27 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/master 6f53bdc54 -> c08965f92


KYLIN-2653 Manage the metadata use HDFSResourceStore for Spark Cubing


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

Branch: refs/heads/master
Commit: c08965f92906bdd6f38efdbe92cbdace570681c7
Parents: 6f53bdc
Author: kangkaisen 
Authored: Thu May 25 14:43:02 2017 +0800
Committer: kangkaisen 
Committed: Thu Jul 27 20:46:48 2017 +0800

--
 .../org/apache/kylin/common/KylinConfig.java| 35 -
 .../org/apache/kylin/common/KylinConfigExt.java |  2 +-
 .../engine/mr/common/AbstractHadoopJob.java | 45 +--
 .../engine/mr/common/JobRelatedMetaUtil.java| 71 +
 .../spark/SparkBatchCubingJobBuilder2.java  |  6 +-
 .../kylin/engine/spark/SparkCubingByLayer.java  | 82 ++--
 .../kylin/engine/spark/SparkExecutable.java | 58 +++---
 7 files changed, 188 insertions(+), 111 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/c08965f9/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
--
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java 
b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
index cc08056..a56e9b8 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
@@ -36,8 +36,11 @@ import java.util.Properties;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
 import org.apache.kylin.common.restclient.RestClient;
 import org.apache.kylin.common.util.ClassUtil;
+import org.apache.kylin.common.util.HadoopUtil;
 import org.apache.kylin.common.util.OrderedProperties;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -114,10 +117,13 @@ public class KylinConfig extends KylinConfigBase {
 }
 
 public enum UriType {
-PROPERTIES_FILE, REST_ADDR, LOCAL_FOLDER
+PROPERTIES_FILE, REST_ADDR, LOCAL_FOLDER, HDFS_FILE
 }
 
 private static UriType decideUriType(String metaUri) {
+if (metaUri.indexOf("@hdfs") > 0) {
+return UriType.HDFS_FILE;
+}
 
 try {
 File file = new File(metaUri);
@@ -157,6 +163,23 @@ public class KylinConfig extends KylinConfigBase {
  */
 UriType uriType = decideUriType(uri);
 
+if (uriType == UriType.HDFS_FILE) {
+KylinConfig config;
+FileSystem fs;
+int cut = uri.indexOf('@');
+String realHdfsPath = uri.substring(0, cut) + "/" + 
KYLIN_CONF_PROPERTIES_FILE;
+try {
+config = new KylinConfig();
+fs = HadoopUtil.getFileSystem(realHdfsPath);
+InputStream is = fs.open(new Path(realHdfsPath));
+Properties prop = streamToProps(is);
+config.reloadKylinConfig(prop);
+} catch (IOException e) {
+throw new RuntimeException(e);
+}
+return config;
+}
+
 if (uriType == UriType.LOCAL_FOLDER) {
 KylinConfig config = new KylinConfig();
 config.setMetadataUrl(uri);
@@ -402,6 +425,16 @@ public class KylinConfig extends KylinConfigBase {
 super(props, force);
 }
 
+public void writeProperties(Properties props, File file) throws 
IOException {
+FileOutputStream fos = null;
+try {
+fos = new FileOutputStream(file);
+props.store(fos, file.getAbsolutePath());
+} finally {
+IOUtils.closeQuietly(fos);
+}
+}
+
 public void writeProperties(File file) throws IOException {
 FileOutputStream fos = null;
 try {

http://git-wip-us.apache.org/repos/asf/kylin/blob/c08965f9/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java 
b/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
index d49dee7..786f467 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
@@ -61,7 +61,7 @@ public class KylinConfigExt extends KylinConfig {
 return super.getOptional(prop, dft);
 }
 
-protected Properties getAllProperties() {
+  

[1/4] kylin git commit: KYLIN-2653 Manage the metadata use HDFSResourceStore for Spark Cubing [Forced Update!]

2017-07-23 Thread kangkaisen
Repository: kylin
Updated Branches:
  refs/heads/KYLIN-2653 edbe7a52f -> 276fa2c4d (forced update)


KYLIN-2653 Manage the metadata use HDFSResourceStore for Spark Cubing


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

Branch: refs/heads/KYLIN-2653
Commit: d8d0395a80cc50fcb59bab4d402c7675aef6cd22
Parents: 1a3527c
Author: kangkaisen 
Authored: Thu May 25 14:43:02 2017 +0800
Committer: kangkaisen 
Committed: Sat Jul 22 14:59:47 2017 +0800

--
 .../org/apache/kylin/common/KylinConfig.java| 35 -
 .../org/apache/kylin/common/KylinConfigExt.java |  2 +-
 .../engine/mr/common/AbstractHadoopJob.java | 45 +--
 .../engine/mr/common/JobRelatedMetaUtil.java| 71 +
 .../spark/SparkBatchCubingJobBuilder2.java  |  6 +-
 .../kylin/engine/spark/SparkCubingByLayer.java  | 82 ++--
 .../kylin/engine/spark/SparkExecutable.java | 58 +++---
 7 files changed, 188 insertions(+), 111 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/d8d0395a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
--
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java 
b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
index cc08056..a56e9b8 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
@@ -36,8 +36,11 @@ import java.util.Properties;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
 import org.apache.kylin.common.restclient.RestClient;
 import org.apache.kylin.common.util.ClassUtil;
+import org.apache.kylin.common.util.HadoopUtil;
 import org.apache.kylin.common.util.OrderedProperties;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -114,10 +117,13 @@ public class KylinConfig extends KylinConfigBase {
 }
 
 public enum UriType {
-PROPERTIES_FILE, REST_ADDR, LOCAL_FOLDER
+PROPERTIES_FILE, REST_ADDR, LOCAL_FOLDER, HDFS_FILE
 }
 
 private static UriType decideUriType(String metaUri) {
+if (metaUri.indexOf("@hdfs") > 0) {
+return UriType.HDFS_FILE;
+}
 
 try {
 File file = new File(metaUri);
@@ -157,6 +163,23 @@ public class KylinConfig extends KylinConfigBase {
  */
 UriType uriType = decideUriType(uri);
 
+if (uriType == UriType.HDFS_FILE) {
+KylinConfig config;
+FileSystem fs;
+int cut = uri.indexOf('@');
+String realHdfsPath = uri.substring(0, cut) + "/" + 
KYLIN_CONF_PROPERTIES_FILE;
+try {
+config = new KylinConfig();
+fs = HadoopUtil.getFileSystem(realHdfsPath);
+InputStream is = fs.open(new Path(realHdfsPath));
+Properties prop = streamToProps(is);
+config.reloadKylinConfig(prop);
+} catch (IOException e) {
+throw new RuntimeException(e);
+}
+return config;
+}
+
 if (uriType == UriType.LOCAL_FOLDER) {
 KylinConfig config = new KylinConfig();
 config.setMetadataUrl(uri);
@@ -402,6 +425,16 @@ public class KylinConfig extends KylinConfigBase {
 super(props, force);
 }
 
+public void writeProperties(Properties props, File file) throws 
IOException {
+FileOutputStream fos = null;
+try {
+fos = new FileOutputStream(file);
+props.store(fos, file.getAbsolutePath());
+} finally {
+IOUtils.closeQuietly(fos);
+}
+}
+
 public void writeProperties(File file) throws IOException {
 FileOutputStream fos = null;
 try {

http://git-wip-us.apache.org/repos/asf/kylin/blob/d8d0395a/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java 
b/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
index d49dee7..786f467 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigExt.java
@@ -61,7 +61,7 @@ public class KylinConfigExt extends KylinConfig {
 return super.getOptional(prop, dft);
 }
 
-protected Propert

[3/4] kylin git commit: Tmp annotated CalciteParser.ensureNoTableNameExists

2017-07-23 Thread kangkaisen
Tmp annotated CalciteParser.ensureNoTableNameExists


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

Branch: refs/heads/KYLIN-2653
Commit: 276fa2c4dafd22cd897227d5cc592cd528f40cc5
Parents: 3326b08
Author: kangkaisen 
Authored: Fri Jul 14 21:31:49 2017 +0800
Committer: kangkaisen 
Committed: Sat Jul 22 14:59:54 2017 +0800

--
 .../java/org/apache/kylin/metadata/model/ComputedColumnDesc.java  | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/276fa2c4/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
--
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
index e8cc351..13cb889 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ComputedColumnDesc.java
@@ -20,7 +20,6 @@ package org.apache.kylin.metadata.model;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.base.Preconditions;
-import org.apache.kylin.metadata.model.tool.CalciteParser;
 
 import java.io.Serializable;
 
@@ -46,7 +45,7 @@ public class ComputedColumnDesc implements Serializable {
 tableIdentity = tableIdentity.toUpperCase();
 columnName = columnName.toUpperCase();
 
-CalciteParser.ensureNoTableNameExists(expression);
+//CalciteParser.ensureNoTableNameExists(expression);
 }
 
 public String getFullName() {



[2/4] kylin git commit: build ci_inner_join_cube with spark

2017-07-23 Thread kangkaisen
build ci_inner_join_cube with spark


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

Branch: refs/heads/KYLIN-2653
Commit: 6413c286ea1d18ea1a8bb2bf9e975e162a08b39f
Parents: d8d0395
Author: kangkaisen 
Authored: Thu Jul 13 16:46:41 2017 +0800
Committer: kangkaisen 
Committed: Sat Jul 22 14:59:54 2017 +0800

--
 .../test_case_data/localmeta/cube_desc/ci_inner_join_cube.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/6413c286/examples/test_case_data/localmeta/cube_desc/ci_inner_join_cube.json
--
diff --git 
a/examples/test_case_data/localmeta/cube_desc/ci_inner_join_cube.json 
b/examples/test_case_data/localmeta/cube_desc/ci_inner_join_cube.json
index 28a63d5..27acdd3 100644
--- a/examples/test_case_data/localmeta/cube_desc/ci_inner_join_cube.json
+++ b/examples/test_case_data/localmeta/cube_desc/ci_inner_join_cube.json
@@ -610,7 +610,7 @@
   "status_need_notify": [],
   "auto_merge_time_ranges": null,
   "retention_range": 0,
-  "engine_type": 2,
+  "engine_type": 4,
   "storage_type": 2,
   "override_kylin_properties": {
 "kylin.cube.algorithm": "LAYER"



  1   2   3   4   >