[kylin] 03/05: Update scripts for HDP 3.0

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

shaofengshi pushed a commit to branch 2.5.x-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 7a3097c486b62aef96e7a5c12a7832334d98e3c5
Author: shaofengshi 
AuthorDate: Tue Aug 28 11:47:03 2018 +0800

Update scripts for HDP 3.0
---
 build/bin/find-hive-dependency.sh  | 2 +-
 build/bin/find-spark-dependency.sh | 2 +-
 build/script/download-tomcat.sh| 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/build/bin/find-hive-dependency.sh 
b/build/bin/find-hive-dependency.sh
index c647af1..02bad47 100755
--- a/build/bin/find-hive-dependency.sh
+++ b/build/bin/find-hive-dependency.sh
@@ -150,7 +150,7 @@ then
 else
 hive_lib_dir="$HIVE_LIB"
 fi
-hive_lib=`find -L ${hive_lib_dir} -name '*.jar' ! -name '*calcite*' ! -name 
'*jackson-datatype-joda*' ! -name '*derby*' -printf '%p:' | sed 's/:$//'`
+hive_lib=`find -L ${hive_lib_dir} -name '*.jar' ! -name '*druid*' ! -name 
'*slf4j*' ! -name '*avatica*' ! -name '*calcite*' ! -name 
'*jackson-datatype-joda*' ! -name '*derby*' -printf '%p:' | sed 's/:$//'`
 
 validateDirectory ${hive_conf_path}
 checkFileExist ${hive_lib}
diff --git a/build/bin/find-spark-dependency.sh 
b/build/bin/find-spark-dependency.sh
index 3565bfc..7179944 100755
--- a/build/bin/find-spark-dependency.sh
+++ b/build/bin/find-spark-dependency.sh
@@ -35,7 +35,7 @@ then
 spark_home=$KYLIN_HOME/spark
 fi
 
-spark_dependency=`find -L $spark_home/jars -name '*.jar' ! -name '*doc*' ! 
-name '*test*' ! -name '*sources*' ''-printf '%p:' | sed 's/:$//'`
+spark_dependency=`find -L $spark_home/jars -name '*.jar' ! -name '*slf4j*' ! 
-name '*calcite*' ! -name '*doc*' ! -name '*test*' ! -name '*sources*' 
''-printf '%p:' | sed 's/:$//'`
 if [ -z "$spark_dependency" ]
 then
 quit "spark jars not found"
diff --git a/build/script/download-tomcat.sh b/build/script/download-tomcat.sh
index beda172..eefc6ba 100755
--- a/build/script/download-tomcat.sh
+++ b/build/script/download-tomcat.sh
@@ -27,13 +27,13 @@ if [[ `uname -a` =~ "Darwin" ]]; then
 alias md5cmd="md5 -q"
 fi
 
-tomcat_pkg_version="7.0.85"
-tomcat_pkg_md5="1ad4760080164bb08e924c330703c94d"
+tomcat_pkg_version="8.5.33"
+tomcat_pkg_md5="79a5ce0bb2c1503a8e46bf00c6ed9181"
 
 if [ ! -f "build/apache-tomcat-${tomcat_pkg_version}.tar.gz" ]
 then
 echo "no binary file found"
-wget --directory-prefix=build/ 
http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat_pkg_version}/bin/apache-tomcat-${tomcat_pkg_version}.tar.gz
 || echo "Download tomcat failed"
+wget --directory-prefix=build/ 
http://archive.apache.org/dist/tomcat/tomcat-8/v${tomcat_pkg_version}/bin/apache-tomcat-${tomcat_pkg_version}.tar.gz
 || echo "Download tomcat failed"
 else
 if [ `md5cmd build/apache-tomcat-${tomcat_pkg_version}.tar.gz | awk 
'{print $1}'` != "${tomcat_pkg_md5}" ]
 then



[kylin] 01/05: KYLIN-2565, upgrade to Hadoop3.0

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

shaofengshi pushed a commit to branch 2.5.x-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 2cf62401ae7e2d48e9d8bb086558dadf7d63fa56
Author: Cheng Wang 
AuthorDate: Tue Apr 25 18:45:57 2017 +0800

KYLIN-2565, upgrade to Hadoop3.0
---
 .../mr/common/DefaultSslProtocolSocketFactory.java | 150 --
 .../kylin/engine/mr/common/HadoopStatusGetter.java | 280 ++
 .../apache/kylin/engine/spark/SparkCountDemo.java  |  80 +++
 .../org/apache/kylin/engine/spark/SparkCubing.java | 591 +
 pom.xml|  19 +-
 server-base/pom.xml|   5 +
 .../org/apache/kylin/rest/security/MockHTable.java | 112 ++--
 .../kylin/storage/hbase/HBaseConnection.java   |   5 +
 .../storage/hbase/cube/v2/CubeHBaseScanRPC.java|  15 +-
 .../v2/coprocessor/endpoint/CubeVisitService.java  |   4 +-
 .../kylin/storage/hbase/steps/CubeHFileJob.java|  12 +
 .../storage/hbase/steps/HBaseCuboidWriter.java | 133 +
 .../kylin/storage/hbase/util/CubeMigrationCLI.java |   2 +-
 .../storage/hbase/util/DeployCoprocessorCLI.java   |   3 +-
 .../storage/hbase/util/ExtendCubeToHybridCLI.java  |   2 +-
 .../hbase/util/GridTableHBaseBenchmark.java|   2 +-
 .../kylin/storage/hbase/util/PingHBaseCLI.java |   3 +-
 .../storage/hbase/steps/CubeHFileMapperTest.java   |  22 +-
 .../kylin/storage/hbase/steps/TestHbaseClient.java |  14 +-
 .../org/apache/kylin/tool/CubeMigrationCLI.java|  14 +-
 .../apache/kylin/tool/CubeMigrationCheckCLI.java   |  17 +-
 .../apache/kylin/tool/ExtendCubeToHybridCLI.java   |   2 +-
 .../org/apache/kylin/tool/StorageCleanupJob.java   |   1 +
 23 files changed, 1240 insertions(+), 248 deletions(-)

diff --git 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java
 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java
deleted file mode 100644
index d66e4eb..000
--- 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java
+++ /dev/null
@@ -1,150 +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.engine.mr.common;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.UnknownHostException;
-
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManager;
-
-import org.apache.commons.httpclient.ConnectTimeoutException;
-import org.apache.commons.httpclient.HttpClientError;
-import org.apache.commons.httpclient.params.HttpConnectionParams;
-import org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory;
-import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author xduo
- * 
- */
-public class DefaultSslProtocolSocketFactory implements 
SecureProtocolSocketFactory {
-/** Log object for this class. */
-private static Logger logger = 
LoggerFactory.getLogger(DefaultSslProtocolSocketFactory.class);
-private SSLContext sslcontext = null;
-
-/**
- * Constructor for DefaultSslProtocolSocketFactory.
- */
-public DefaultSslProtocolSocketFactory() {
-super();
-}
-
-/**
- * @see 
SecureProtocolSocketFactory#createSocket(java.lang.String,int,java.net.InetAddress,int)
- */
-public Socket createSocket(String host, int port, InetAddress clientHost, 
int clientPort) throws IOException, UnknownHostException {
-return getSSLContext().getSocketFactory().createSocket(host, port, 
clientHost, clientPort);
-}
-
-/**
- * Attempts to get a new socket connection to the given host within the
- * given time limit.
- * 
- * 
- * To circumvent the limitations of older JREs that do not support connect
- * timeout a controller thread is executed. The controller thread attempts
- * to create a new socket within the given limit of time. If socket
- * constructor does not return until the timeout expires, the controller
- * terminates and throws an {@link 

[kylin] 05/05: KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

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

shaofengshi pushed a commit to branch 2.5.x-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 7dbd6281913c7c9701a76fe4e84a4da54d7f5ffe
Author: Lijun Cao <>
AuthorDate: Tue Sep 4 09:56:36 2018 +0800

KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

Signed-off-by: shaofengshi 
---
 .../hbase/lookup/LookupTableToHFileJob.java| 24 +--
 .../kylin/storage/hbase/steps/CubeHTableUtil.java  | 46 +++---
 .../storage/hbase/util/DeployCoprocessorCLI.java   | 46 +++---
 3 files changed, 60 insertions(+), 56 deletions(-)

diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
index 054e146..2789401 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
@@ -26,12 +26,12 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.HTable;
+import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
 import org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2;
 import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy;
 import org.apache.hadoop.hdfs.DFSConfigKeys;
@@ -207,24 +207,24 @@ public class LookupTableToHFileJob extends 
AbstractHadoopJob {
 String hTableName = genHTableName(kylinConfig, admin, sourceTableName);
 
 TableName tableName = TableName.valueOf(hTableName);
-HTableDescriptor hTableDesc = new HTableDescriptor(tableName);
-hTableDesc.setCompactionEnabled(false);
-hTableDesc.setValue(HTableDescriptor.SPLIT_POLICY, 
DisabledRegionSplitPolicy.class.getName());
-hTableDesc.setValue(IRealizationConstants.HTableTag, 
kylinConfig.getMetadataUrlPrefix());
-hTableDesc.setValue(IRealizationConstants.HTableCreationTime, 
String.valueOf(System.currentTimeMillis()));
+TableDescriptorBuilder descBuilder = 
TableDescriptorBuilder.newBuilder(tableName);
+descBuilder.setCompactionEnabled(false);
+descBuilder.setValue(TableDescriptorBuilder.SPLIT_POLICY, 
DisabledRegionSplitPolicy.class.getName());
+descBuilder.setValue(IRealizationConstants.HTableTag, 
kylinConfig.getMetadataUrlPrefix());
+descBuilder.setValue(IRealizationConstants.HTableCreationTime, 
String.valueOf(System.currentTimeMillis()));
 String commitInfo = KylinVersion.getGitCommitInfo();
 if (!StringUtils.isEmpty(commitInfo)) {
-hTableDesc.setValue(IRealizationConstants.HTableGitTag, 
commitInfo);
+descBuilder.setValue(IRealizationConstants.HTableGitTag, 
commitInfo);
 }
 
-HColumnDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, 
HBaseLookupRowEncoder.CF_STRING, false);
-hTableDesc.addFamily(cf);
+ColumnFamilyDescriptor cf = 
CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, 
false);
+descBuilder.modifyColumnFamily(cf);
 
 try {
 if (shardNum > 1) {
-admin.createTable(hTableDesc, getSplitsByShardNum(shardNum));
+admin.createTable(descBuilder.build(), 
getSplitsByShardNum(shardNum));
 } else {
-admin.createTable(hTableDesc);
+admin.createTable(descBuilder.build());
 }
 } finally {
 IOUtils.closeQuietly(admin);
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
index f006adb..9e3703c 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
@@ -23,11 +23,12 @@ import java.io.IOException;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
 import 

[kylin] 04/05: KYLIN-3518 Fix Coprocessor NPE problem on hbase 2

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

shaofengshi pushed a commit to branch 2.5.x-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 45b20ca17a6070c35d3a8967f595a06cbae3a108
Author: Lijun Cao <>
AuthorDate: Thu Aug 30 09:28:54 2018 +0800

KYLIN-3518 Fix Coprocessor NPE problem on hbase 2
---
 build/deploy/server.xml  |  2 +-
 build/script/elimate-jar-conflict.sh | 20 
 build/script/prepare.sh  |  3 +++
 .../v2/coprocessor/endpoint/CubeVisitService.java| 10 +-
 4 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/build/deploy/server.xml b/build/deploy/server.xml
index 96f329b..920be25 100644
--- a/build/deploy/server.xml
+++ b/build/deploy/server.xml
@@ -26,7 +26,7 @@
 
 
 
-
+
 
 
 
diff --git a/build/script/elimate-jar-conflict.sh 
b/build/script/elimate-jar-conflict.sh
new file mode 100644
index 000..d02a874
--- /dev/null
+++ b/build/script/elimate-jar-conflict.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+current_dir=`pwd`
+cd ${current_dir}/build/tomcat/webapps
+unzip kylin.war && rm -f kylin.war
+cd WEB-INF/lib
+#remove slf4j-api-1.7.21.jar to solve slf4j conflict
+rm -f slf4j-api-1.7.21.jar
+mkdir modify_avatica_jar && mv avatica-1.10.0.jar modify_avatica_jar
+cd modify_avatica_jar
+#remove org/slf4j in avatica-1.10.0.jar and repackage it to solve slf4j 
conflict
+unzip avatica-1.10.0.jar && rm -f avatica-1.10.0.jar
+rm -rf org/slf4j && jar -cf avatica-1.10.0.jar ./
+rm -rf `ls | egrep -v avatica-1.10.0.jar`
+mv avatica-1.10.0.jar ..
+cd .. && rm -rf modify_avatica_jar
+cd ${current_dir}/build/tomcat/webapps
+#repackage kylin.war
+jar -cf kylin.war ./ && rm -rf `ls | egrep -v kylin.war`
+cd ${current_dir}
\ No newline at end of file
diff --git a/build/script/prepare.sh b/build/script/prepare.sh
index deaf58d..be9dd9d 100755
--- a/build/script/prepare.sh
+++ b/build/script/prepare.sh
@@ -31,6 +31,9 @@ export version
 sh build/script/prepare-libs.sh || { exit 1; }
 
 cp server/target/kylin-server-${version}.war build/tomcat/webapps/kylin.war
+
+sh build/script/elimate-jar-conflict.sh
+
 chmod 644 build/tomcat/webapps/kylin.war
 
 echo "add js css to war"
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
index ded3500..2beddc7 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
@@ -24,6 +24,7 @@ import java.lang.management.ManagementFactory;
 import java.net.InetAddress;
 import java.nio.BufferOverflowException;
 import java.nio.ByteBuffer;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
@@ -31,12 +32,11 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
-import org.apache.hadoop.hbase.Coprocessor;
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
 import org.apache.hadoop.hbase.DoNotRetryIOException;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.coprocessor.CoprocessorException;
-import org.apache.hadoop.hbase.coprocessor.CoprocessorService;
+import org.apache.hadoop.hbase.coprocessor.RegionCoprocessor;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.RegionScanner;
@@ -78,7 +78,7 @@ import com.sun.management.OperatingSystemMXBean;
 
 @SuppressWarnings("unused")
 //used in hbase endpoint
-public class CubeVisitService extends CubeVisitProtos.CubeVisitService 
implements Coprocessor, CoprocessorService {
+public class CubeVisitService extends CubeVisitProtos.CubeVisitService 
implements RegionCoprocessor {
 
 private static final Logger logger = 
LoggerFactory.getLogger(CubeVisitService.class);
 //TODO limit memory footprint
@@ -448,7 +448,7 @@ public class CubeVisitService extends 
CubeVisitProtos.CubeVisitService implement
 }
 
 @Override
-public Service getService() {
-return this;
+public Iterable getServices() {
+return Collections.singleton(this);
 }
 }



[kylin] branch 2.5.x-hadoop3.1 updated (717ec80 -> 7dbd628)

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

shaofengshi pushed a change to branch 2.5.x-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git.


 discard 717ec80  KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.
 discard b7c1e4e  KYLIN-3518 Fix Coprocessor NPE problem on hbase 2
 discard 48ae898  Update scripts for HDP 3.0
 discard 3b86e19  KYLIN-2565 upgrade to hadoop 3.0 hbase 2.0, pass UT
 discard c9c8785  KYLIN-2565, upgrade to Hadoop3.0
 add ded1813  KYLIN-3366 Configure automatic enabling of cubes after a 
build process
 add 3e63074  KYLIN-3258 No check for duplicate cube name when creating a 
hybrid cube
 add 3b3717f  KYLIN-3529 Show more error message
 add d90bb04  KYLIN-3534 Don't compress fact distinct output file
 add 5ce6588  KYLIN-3527 Hybrid allows 0,1 cube
 add f15ae54  KYLIN-3539 Hybrid segment overlap check
 new 2cf6240  KYLIN-2565, upgrade to Hadoop3.0
 new a220ff6  KYLIN-2565 upgrade to hadoop 3.0 hbase 2.0, pass UT
 new 7a3097c  Update scripts for HDP 3.0
 new 45b20ca  KYLIN-3518 Fix Coprocessor NPE problem on hbase 2
 new 7dbd628  KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (717ec80)
\
 N -- N -- N   refs/heads/2.5.x-hadoop3.1 (7dbd628)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

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

The 5 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.


Summary of changes:
 .../org/apache/kylin/common/KylinConfigBase.java   |  4 ++
 .../kylin/common/util/AbstractApplication.java |  2 +-
 .../java/org/apache/kylin/cube/CubeManager.java|  9 +++-
 .../kylin/engine/spark/SparkFactDistinct.java  |  7 +++-
 .../org/apache/kylin/rest/job/HybridCubeCLI.java   | 48 +++---
 .../org/apache/kylin/tool/HybridCubeCLITest.java   | 48 ++
 6 files changed, 99 insertions(+), 19 deletions(-)



[kylin] 02/05: KYLIN-3529 Show more error message

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

shaofengshi pushed a commit to branch 2.5.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 3b3717f11fb7e7f4ed70ace943a064bf704a42a7
Author: chao long 
AuthorDate: Wed Sep 5 09:55:10 2018 +0800

KYLIN-3529 Show more error message
---
 .../src/main/java/org/apache/kylin/common/util/AbstractApplication.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java
 
b/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java
index ab1e691..7275e10 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java
@@ -39,7 +39,7 @@ public abstract class AbstractApplication {
 optionsHelper.printUsage(this.getClass().getName(), getOptions());
 throw new RuntimeException("error parsing args", e);
 } catch (Exception e) {
-throw new RuntimeException("error execute " + 
this.getClass().getName(), e);
+throw new RuntimeException("error execute " + 
this.getClass().getName() + ". Root cause: " + e.getMessage(), e);
 }
 }
 }



[kylin] branch 2.5.x updated (ded1813 -> f15ae54)

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

shaofengshi pushed a change to branch 2.5.x
in repository https://gitbox.apache.org/repos/asf/kylin.git.


from ded1813  KYLIN-3366 Configure automatic enabling of cubes after a 
build process
 new 3e63074  KYLIN-3258 No check for duplicate cube name when creating a 
hybrid cube
 new 3b3717f  KYLIN-3529 Show more error message
 new d90bb04  KYLIN-3534 Don't compress fact distinct output file
 new 5ce6588  KYLIN-3527 Hybrid allows 0,1 cube
 new f15ae54  KYLIN-3539 Hybrid segment overlap check

The 5 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.


Summary of changes:
 .../kylin/common/util/AbstractApplication.java |  2 +-
 .../kylin/engine/spark/SparkFactDistinct.java  |  7 +++-
 .../org/apache/kylin/rest/job/HybridCubeCLI.java   | 48 +++---
 .../org/apache/kylin/tool/HybridCubeCLITest.java   | 48 ++
 4 files changed, 88 insertions(+), 17 deletions(-)



[kylin] 04/05: KYLIN-3527 Hybrid allows 0,1 cube

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

shaofengshi pushed a commit to branch 2.5.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 5ce6588eda365cf4aca5f53ab6cb1adaa4ffe9e8
Author: chao long 
AuthorDate: Wed Sep 5 14:16:31 2018 +0800

KYLIN-3527 Hybrid allows 0,1 cube
---
 .../src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java| 4 
 1 file changed, 4 deletions(-)

diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java 
b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
index e332e1d..303e000 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
@@ -202,10 +202,6 @@ public class HybridCubeCLI extends AbstractApplication {
 }
 
 private void checkSegmentOffset(List realizationEntries) 
{
-if (realizationEntries == null || realizationEntries.size() == 0)
-throw new IllegalArgumentException("No realization found");
-if (realizationEntries.size() == 1)
-throw new IllegalArgumentException("Hybrid needs at least 2 
cubes");
 long lastOffset = -1;
 for (RealizationEntry entry : realizationEntries) {
 if (entry.getType() != RealizationType.CUBE) {



[kylin] 05/05: KYLIN-3539 Hybrid segment overlap check

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

shaofengshi pushed a commit to branch 2.5.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit f15ae54b10ef7b9f22f605d61618d16038512113
Author: chao long 
AuthorDate: Mon Sep 10 16:00:46 2018 +0800

KYLIN-3539 Hybrid segment overlap check
---
 .../org/apache/kylin/rest/job/HybridCubeCLI.java   | 30 +-
 .../org/apache/kylin/tool/HybridCubeCLITest.java   | 48 ++
 2 files changed, 68 insertions(+), 10 deletions(-)

diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java 
b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
index 303e000..443eba6 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.commons.cli.Option;
@@ -38,6 +39,8 @@ import org.apache.kylin.cube.CubeManager;
 import org.apache.kylin.cube.CubeSegment;
 import org.apache.kylin.metadata.model.DataModelDesc;
 import org.apache.kylin.metadata.model.DataModelManager;
+import org.apache.kylin.metadata.model.SegmentRange;
+import org.apache.kylin.metadata.model.Segments;
 import org.apache.kylin.metadata.project.ProjectManager;
 import org.apache.kylin.metadata.project.RealizationEntry;
 import org.apache.kylin.metadata.realization.RealizationType;
@@ -46,6 +49,8 @@ import org.apache.kylin.storage.hybrid.HybridManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.collect.Lists;
+
 /**
  * 1. Create new HybridCube
  * bin/kylin.sh org.apache.kylin.tool.HybridCubeCLI -action create -name 
hybrid_name -project project_name -model model_name -cubes cube1,cube2
@@ -202,23 +207,28 @@ public class HybridCubeCLI extends AbstractApplication {
 }
 
 private void checkSegmentOffset(List realizationEntries) 
{
-long lastOffset = -1;
+List segmentRanges = Lists.newArrayList();
+
 for (RealizationEntry entry : realizationEntries) {
 if (entry.getType() != RealizationType.CUBE) {
 throw new IllegalArgumentException("Wrong realization type: " 
+ entry.getType() + ", only cube supported. ");
 }
 
 CubeInstance cubeInstance = 
cubeManager.getCube(entry.getRealization());
-CubeSegment segment = cubeInstance.getLastSegment();
-if (segment == null)
-continue;
-if (lastOffset == -1) {
-lastOffset = (Long) segment.getSegRange().end.v;
-} else {
-if (lastOffset > (Long) segment.getSegRange().start.v) {
-throw new IllegalArgumentException("Segments has overlap, 
could not hybrid. Last Segment End: " + lastOffset + ", Next Segment Start: " + 
segment.getSegRange().start.v);
+Segments segments = cubeInstance.getSegments();
+
+for (CubeSegment segment : segments) {
+segmentRanges.add(segment.getSegRange());
+}
+}
+
+if (segmentRanges.size() >= 2) {
+Collections.sort(segmentRanges);
+
+for (int i = 0; i < segmentRanges.size() - 1; i++) {
+if (segmentRanges.get(i).overlaps(segmentRanges.get(i + 1))) {
+throw new IllegalArgumentException("Segments has overlap, 
could not hybrid. First Segment Range: [" + segmentRanges.get(i).start.v + "," 
+ segmentRanges.get(i).end.v + "], Second Segment Range: [" + 
segmentRanges.get(i + 1).start.v + "," + segmentRanges.get(i + 1).end.v + "]");
 }
-lastOffset = (Long) segment.getSegRange().end.v;
 }
 }
 }
diff --git a/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java 
b/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java
index f4ed595..99b8319 100644
--- a/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java
+++ b/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java
@@ -22,6 +22,9 @@ import java.io.IOException;
 
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.LocalFileMetadataTestCase;
+import org.apache.kylin.cube.CubeInstance;
+import org.apache.kylin.cube.CubeManager;
+import org.apache.kylin.metadata.model.SegmentRange;
 import org.apache.kylin.metadata.project.ProjectManager;
 import org.apache.kylin.metadata.realization.RealizationType;
 import org.apache.kylin.storage.hybrid.HybridInstance;
@@ -30,12 +33,17 @@ import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.FixMethodOrder;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
 import org.junit.runners.MethodSorters;
 
 

[kylin] 03/05: KYLIN-3534 Don't compress fact distinct output file

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

shaofengshi pushed a commit to branch 2.5.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit d90bb046d191dd06f194e7380da13698772e001f
Author: chao long 
AuthorDate: Wed Sep 5 09:55:44 2018 +0800

KYLIN-3534 Don't compress fact distinct output file
---
 .../main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java
 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java
index 77ebd69..213cdfd 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java
@@ -198,19 +198,22 @@ public class SparkFactDistinct extends 
AbstractApplication implements Serializab
 MultipleOutputs.addNamedOutput(job, 
BatchConstants.CFG_OUTPUT_PARTITION, TextOutputFormat.class, 
NullWritable.class, LongWritable.class);
 
 FileOutputFormat.setOutputPath(job, new Path(outputPath));
+FileOutputFormat.setCompressOutput(job, false);
 
 // prevent to create zero-sized default output
 LazyOutputFormat.setOutputFormatClass(job, 
SequenceFileOutputFormat.class);
 
+
 MultipleOutputsRDD multipleOutputsRDD = 
MultipleOutputsRDD.rddToMultipleOutputsRDD(outputRDD);
 
 
multipleOutputsRDD.saveAsNewAPIHadoopDatasetWithMultipleOutputs(job.getConfiguration());
 
-logger.info("Map input records={}", recordRDD.count());
+long recordCount = recordRDD.count();
+logger.info("Map input records={}", recordCount);
 logger.info("HDFS Read: {} HDFS Write", bytesWritten.value());
 
 Map counterMap = Maps.newHashMap();
-counterMap.put(ExecutableConstants.SOURCE_RECORDS_COUNT, 
String.valueOf(recordRDD.count()));
+counterMap.put(ExecutableConstants.SOURCE_RECORDS_COUNT, 
String.valueOf(recordCount));
 counterMap.put(ExecutableConstants.SOURCE_RECORDS_SIZE, 
String.valueOf(bytesWritten.value()));
 
 // save counter to hdfs



[kylin] 01/05: KYLIN-3258 No check for duplicate cube name when creating a hybrid cube

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

shaofengshi pushed a commit to branch 2.5.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 3e6307473d60036feb8c8497379eb4841d82d093
Author: GinaZhai 
AuthorDate: Fri Sep 7 11:33:13 2018 +0800

KYLIN-3258 No check for duplicate cube name when creating a hybrid cube
---
 .../main/java/org/apache/kylin/rest/job/HybridCubeCLI.java | 14 ++
 1 file changed, 14 insertions(+)

diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java 
b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
index 48e7f40..e332e1d 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
@@ -20,11 +20,14 @@ package org.apache.kylin.rest.job;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
 import java.util.List;
 
 import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.persistence.ResourceStore;
@@ -145,6 +148,17 @@ public class HybridCubeCLI extends AbstractApplication {
 
realizationEntries.add(RealizationEntry.create(RealizationType.CUBE, 
cube.getName()));
 }
 
+int realizationEntriesLen = realizationEntries.size();
+HashSet hashSet = new HashSet<>();
+for (int i = 0; i < realizationEntriesLen; i++) {
+hashSet.add(realizationEntries.get(i));
+}
+int hashSetLen = hashSet.size();
+if (realizationEntriesLen != hashSetLen) {
+Collection duplicateCubes = 
CollectionUtils.subtract(realizationEntries, hashSet);
+throw new IllegalArgumentException("The Cubes name does duplicate, 
could not create: " + duplicateCubes);
+}
+
 if ("create".equals(action)) {
 if (hybridInstance != null) {
 throw new IllegalArgumentException("The Hybrid Cube does 
exist, could not create: " + hybridName);



[kylin] branch master updated: KYLIN-3366 Configure automatic enabling of cubes after a build process

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

shaofengshi 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 165378b  KYLIN-3366 Configure automatic enabling of cubes after a 
build process
165378b is described below

commit 165378bb13a374fad80830ab9a5c56a45420aa7c
Author: Zhong 
AuthorDate: Fri May 4 16:21:05 2018 +0800

KYLIN-3366 Configure automatic enabling of cubes after a build process

Signed-off-by: shaofengshi 
---
 .../src/main/java/org/apache/kylin/common/KylinConfigBase.java   | 4 
 core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java   | 9 +++--
 2 files changed, 11 insertions(+), 2 deletions(-)

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 c583129..816100e 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
@@ -718,6 +718,10 @@ abstract public class KylinConfigBase implements 
Serializable {
 return 
Integer.parseInt(this.getOptional("kylin.job.metadata-persist-retry", "5"));
 }
 
+public boolean isJobAutoReadyCubeEnabled() {
+return 
Boolean.parseBoolean(getOptional("kylin.job.cube-auto-ready-enabled", "true"));
+}
+
 // 

 // SOURCE.HIVE
 // 

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 23dcaf3..2a56941 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
@@ -894,7 +894,10 @@ public class CubeManager implements IRealizationProvider {
 
 CubeUpdate update = new CubeUpdate(cubeCopy);
 update.setToRemoveSegs(toRemoveSegs.toArray(new 
CubeSegment[toRemoveSegs.size()]))
-
.setToUpdateSegs(newSegCopy).setStatus(RealizationStatusEnum.READY);
+.setToUpdateSegs(newSegCopy);
+if (cube.getConfig().isJobAutoReadyCubeEnabled()) {
+update.setStatus(RealizationStatusEnum.READY);
+}
 updateCube(update);
 }
 
@@ -944,9 +947,11 @@ public class CubeManager implements IRealizationProvider {
 CubeUpdate update = new CubeUpdate(cubeCopy);
 update.setToRemoveSegs(originalSegments) //
 .setToUpdateSegs(optSegCopy) //
-.setStatus(RealizationStatusEnum.READY) //
 .setCuboids(recommendCuboids) //
 .setCuboidsRecommend(Sets. newHashSet());
+if (cube.getConfig().isJobAutoReadyCubeEnabled()) {
+update.setStatus(RealizationStatusEnum.READY);
+}
 updateCube(update);
 }
 



[kylin] branch 2.5.x updated: KYLIN-3366 Configure automatic enabling of cubes after a build process

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

shaofengshi pushed a commit to branch 2.5.x
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/2.5.x by this push:
 new ded1813  KYLIN-3366 Configure automatic enabling of cubes after a 
build process
ded1813 is described below

commit ded181304846a52452ce1bc3c597611d167a7eb0
Author: Zhong 
AuthorDate: Fri May 4 16:21:05 2018 +0800

KYLIN-3366 Configure automatic enabling of cubes after a build process

Signed-off-by: shaofengshi 
---
 .../src/main/java/org/apache/kylin/common/KylinConfigBase.java   | 4 
 core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java   | 9 +++--
 2 files changed, 11 insertions(+), 2 deletions(-)

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 1850d20..79750e0 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
@@ -717,6 +717,10 @@ abstract public class KylinConfigBase implements 
Serializable {
 return 
Integer.parseInt(this.getOptional("kylin.job.metadata-persist-retry", "5"));
 }
 
+public boolean isJobAutoReadyCubeEnabled() {
+return 
Boolean.parseBoolean(getOptional("kylin.job.cube-auto-ready-enabled", "true"));
+}
+
 // 

 // SOURCE.HIVE
 // 

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 23dcaf3..2a56941 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
@@ -894,7 +894,10 @@ public class CubeManager implements IRealizationProvider {
 
 CubeUpdate update = new CubeUpdate(cubeCopy);
 update.setToRemoveSegs(toRemoveSegs.toArray(new 
CubeSegment[toRemoveSegs.size()]))
-
.setToUpdateSegs(newSegCopy).setStatus(RealizationStatusEnum.READY);
+.setToUpdateSegs(newSegCopy);
+if (cube.getConfig().isJobAutoReadyCubeEnabled()) {
+update.setStatus(RealizationStatusEnum.READY);
+}
 updateCube(update);
 }
 
@@ -944,9 +947,11 @@ public class CubeManager implements IRealizationProvider {
 CubeUpdate update = new CubeUpdate(cubeCopy);
 update.setToRemoveSegs(originalSegments) //
 .setToUpdateSegs(optSegCopy) //
-.setStatus(RealizationStatusEnum.READY) //
 .setCuboids(recommendCuboids) //
 .setCuboidsRecommend(Sets. newHashSet());
+if (cube.getConfig().isJobAutoReadyCubeEnabled()) {
+update.setStatus(RealizationStatusEnum.READY);
+}
 updateCube(update);
 }
 



[kylin] branch 2.4.x updated: KYLIN-3366 Configure automatic enabling of cubes after a build process

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

shaofengshi pushed a commit to branch 2.4.x
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/2.4.x by this push:
 new 723cc7a  KYLIN-3366 Configure automatic enabling of cubes after a 
build process
723cc7a is described below

commit 723cc7a6b6ac7d260511a45f0188746a59d87c3c
Author: Zhong 
AuthorDate: Fri May 4 16:21:05 2018 +0800

KYLIN-3366 Configure automatic enabling of cubes after a build process

Signed-off-by: shaofengshi 
---
 .../src/main/java/org/apache/kylin/common/KylinConfigBase.java   | 4 
 core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java   | 9 +++--
 2 files changed, 11 insertions(+), 2 deletions(-)

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 8526e73..9b277e2 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
@@ -686,6 +686,10 @@ abstract public class KylinConfigBase implements 
Serializable {
 return 
Integer.parseInt(this.getOptional("kylin.job.metadata-persist-retry", "5"));
 }
 
+public boolean isJobAutoReadyCubeEnabled() {
+return 
Boolean.parseBoolean(getOptional("kylin.job.cube-auto-ready-enabled", "true"));
+}
+
 // 

 // SOURCE.HIVE
 // 

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 7f81cb3..32cbb03 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
@@ -913,7 +913,10 @@ public class CubeManager implements IRealizationProvider {
 
 CubeUpdate update = new CubeUpdate(cubeCopy);
 update.setToRemoveSegs(toRemoveSegs.toArray(new 
CubeSegment[toRemoveSegs.size()]))
-
.setToUpdateSegs(newSegCopy).setStatus(RealizationStatusEnum.READY);
+.setToUpdateSegs(newSegCopy);
+if (cube.getConfig().isJobAutoReadyCubeEnabled()) {
+update.setStatus(RealizationStatusEnum.READY);
+}
 updateCube(update);
 }
 
@@ -963,9 +966,11 @@ public class CubeManager implements IRealizationProvider {
 CubeUpdate update = new CubeUpdate(cubeCopy);
 update.setToRemoveSegs(originalSegments) //
 .setToUpdateSegs(optSegCopy) //
-.setStatus(RealizationStatusEnum.READY) //
 .setCuboids(recommendCuboids) //
 .setCuboidsRecommend(Sets. newHashSet());
+if (cube.getConfig().isJobAutoReadyCubeEnabled()) {
+update.setStatus(RealizationStatusEnum.READY);
+}
 updateCube(update);
 }
 



[kylin] branch master-hadoop3.1-2.5.0 deleted (was 9602688)

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

shaofengshi pushed a change to branch master-hadoop3.1-2.5.0
in repository https://gitbox.apache.org/repos/asf/kylin.git.


 was 9602688  KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

This change permanently discards the following revisions:

 discard 9602688  KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.



[kylin] branch master-hadoop3.1-2.5.0 created (now 9602688)

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

shaofengshi pushed a change to branch master-hadoop3.1-2.5.0
in repository https://gitbox.apache.org/repos/asf/kylin.git.


  at 9602688  KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

This branch includes the following new commits:

 new 9602688  KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

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] 01/01: KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

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

shaofengshi pushed a commit to branch master-hadoop3.1-2.5.0
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 96026886774aff16f03e6d5424e9c0ccdfca1ca0
Author: Lijun Cao <>
AuthorDate: Tue Sep 4 09:56:36 2018 +0800

KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

Signed-off-by: shaofengshi 
---
 .../hbase/lookup/LookupTableToHFileJob.java| 24 +--
 .../kylin/storage/hbase/steps/CubeHTableUtil.java  | 46 +++---
 .../storage/hbase/util/DeployCoprocessorCLI.java   | 46 +++---
 3 files changed, 60 insertions(+), 56 deletions(-)

diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
index 054e146..2789401 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
@@ -26,12 +26,12 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.HTable;
+import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
 import org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2;
 import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy;
 import org.apache.hadoop.hdfs.DFSConfigKeys;
@@ -207,24 +207,24 @@ public class LookupTableToHFileJob extends 
AbstractHadoopJob {
 String hTableName = genHTableName(kylinConfig, admin, sourceTableName);
 
 TableName tableName = TableName.valueOf(hTableName);
-HTableDescriptor hTableDesc = new HTableDescriptor(tableName);
-hTableDesc.setCompactionEnabled(false);
-hTableDesc.setValue(HTableDescriptor.SPLIT_POLICY, 
DisabledRegionSplitPolicy.class.getName());
-hTableDesc.setValue(IRealizationConstants.HTableTag, 
kylinConfig.getMetadataUrlPrefix());
-hTableDesc.setValue(IRealizationConstants.HTableCreationTime, 
String.valueOf(System.currentTimeMillis()));
+TableDescriptorBuilder descBuilder = 
TableDescriptorBuilder.newBuilder(tableName);
+descBuilder.setCompactionEnabled(false);
+descBuilder.setValue(TableDescriptorBuilder.SPLIT_POLICY, 
DisabledRegionSplitPolicy.class.getName());
+descBuilder.setValue(IRealizationConstants.HTableTag, 
kylinConfig.getMetadataUrlPrefix());
+descBuilder.setValue(IRealizationConstants.HTableCreationTime, 
String.valueOf(System.currentTimeMillis()));
 String commitInfo = KylinVersion.getGitCommitInfo();
 if (!StringUtils.isEmpty(commitInfo)) {
-hTableDesc.setValue(IRealizationConstants.HTableGitTag, 
commitInfo);
+descBuilder.setValue(IRealizationConstants.HTableGitTag, 
commitInfo);
 }
 
-HColumnDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, 
HBaseLookupRowEncoder.CF_STRING, false);
-hTableDesc.addFamily(cf);
+ColumnFamilyDescriptor cf = 
CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, 
false);
+descBuilder.modifyColumnFamily(cf);
 
 try {
 if (shardNum > 1) {
-admin.createTable(hTableDesc, getSplitsByShardNum(shardNum));
+admin.createTable(descBuilder.build(), 
getSplitsByShardNum(shardNum));
 } else {
-admin.createTable(hTableDesc);
+admin.createTable(descBuilder.build());
 }
 } finally {
 IOUtils.closeQuietly(admin);
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
index f006adb..9e3703c 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
@@ -23,11 +23,12 @@ import java.io.IOException;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
 

[kylin] 03/06: Update scripts for HDP 3.0

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

shaofengshi pushed a commit to branch master-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 7eeed17a61a643132f85a92e49c220c2d732ea65
Author: shaofengshi 
AuthorDate: Tue Aug 28 11:47:03 2018 +0800

Update scripts for HDP 3.0
---
 build/bin/find-hive-dependency.sh  | 2 +-
 build/bin/find-spark-dependency.sh | 2 +-
 build/script/download-tomcat.sh| 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/build/bin/find-hive-dependency.sh 
b/build/bin/find-hive-dependency.sh
index c647af1..02bad47 100755
--- a/build/bin/find-hive-dependency.sh
+++ b/build/bin/find-hive-dependency.sh
@@ -150,7 +150,7 @@ then
 else
 hive_lib_dir="$HIVE_LIB"
 fi
-hive_lib=`find -L ${hive_lib_dir} -name '*.jar' ! -name '*calcite*' ! -name 
'*jackson-datatype-joda*' ! -name '*derby*' -printf '%p:' | sed 's/:$//'`
+hive_lib=`find -L ${hive_lib_dir} -name '*.jar' ! -name '*druid*' ! -name 
'*slf4j*' ! -name '*avatica*' ! -name '*calcite*' ! -name 
'*jackson-datatype-joda*' ! -name '*derby*' -printf '%p:' | sed 's/:$//'`
 
 validateDirectory ${hive_conf_path}
 checkFileExist ${hive_lib}
diff --git a/build/bin/find-spark-dependency.sh 
b/build/bin/find-spark-dependency.sh
index 3565bfc..7179944 100755
--- a/build/bin/find-spark-dependency.sh
+++ b/build/bin/find-spark-dependency.sh
@@ -35,7 +35,7 @@ then
 spark_home=$KYLIN_HOME/spark
 fi
 
-spark_dependency=`find -L $spark_home/jars -name '*.jar' ! -name '*doc*' ! 
-name '*test*' ! -name '*sources*' ''-printf '%p:' | sed 's/:$//'`
+spark_dependency=`find -L $spark_home/jars -name '*.jar' ! -name '*slf4j*' ! 
-name '*calcite*' ! -name '*doc*' ! -name '*test*' ! -name '*sources*' 
''-printf '%p:' | sed 's/:$//'`
 if [ -z "$spark_dependency" ]
 then
 quit "spark jars not found"
diff --git a/build/script/download-tomcat.sh b/build/script/download-tomcat.sh
index beda172..eefc6ba 100755
--- a/build/script/download-tomcat.sh
+++ b/build/script/download-tomcat.sh
@@ -27,13 +27,13 @@ if [[ `uname -a` =~ "Darwin" ]]; then
 alias md5cmd="md5 -q"
 fi
 
-tomcat_pkg_version="7.0.85"
-tomcat_pkg_md5="1ad4760080164bb08e924c330703c94d"
+tomcat_pkg_version="8.5.33"
+tomcat_pkg_md5="79a5ce0bb2c1503a8e46bf00c6ed9181"
 
 if [ ! -f "build/apache-tomcat-${tomcat_pkg_version}.tar.gz" ]
 then
 echo "no binary file found"
-wget --directory-prefix=build/ 
http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat_pkg_version}/bin/apache-tomcat-${tomcat_pkg_version}.tar.gz
 || echo "Download tomcat failed"
+wget --directory-prefix=build/ 
http://archive.apache.org/dist/tomcat/tomcat-8/v${tomcat_pkg_version}/bin/apache-tomcat-${tomcat_pkg_version}.tar.gz
 || echo "Download tomcat failed"
 else
 if [ `md5cmd build/apache-tomcat-${tomcat_pkg_version}.tar.gz | awk 
'{print $1}'` != "${tomcat_pkg_md5}" ]
 then



[kylin] 06/06: KYLIN-2565 Resolve conflict

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

shaofengshi pushed a commit to branch master-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 766a472bc294e06ac2f13c5437bda349ff3aa480
Author: shaofengshi 
AuthorDate: Mon Sep 10 22:44:58 2018 +0800

KYLIN-2565 Resolve conflict
---
 pom.xml| 786 +
 .../org/apache/kylin/rest/security/MockHTable.java | 745 ---
 .../hbase/cube/v2/CubeHBaseEndpointRPC.java|  26 +-
 .../kylin/storage/hbase/steps/CubeHFileJob.java|   6 +-
 .../storage/hbase/steps/HFileOutputFormat3.java| 673 --
 .../storage/hbase/steps/CubeHFileMapperTest.java   |  24 +-
 6 files changed, 58 insertions(+), 2202 deletions(-)

diff --git a/pom.xml b/pom.xml
index 797188d..c253753 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,7 +61,11 @@
 
 2.1.2
 4.0.0
+
+5.1.8
 
+
+2.11.0
 1.10
 
 
@@ -127,6 +131,8 @@
 
1.0.2.RELEASE
 2.6.6
 1.8.9
+
+2.3
 
 
 jacoco
@@ -558,6 +564,13 @@
 ${hbase-hadoop2.version}
 test
 
+
+
+mysql
+mysql-connector-java
+${mysql-connector.version}
+provided
+
 
 
 org.apache.hive
@@ -918,764 +931,27 @@
 ${tomcat.version}
 provided
 
+
+
+org.scala-lang
+scala-library
+${scala.version}
+
+
+
+org.scala-lang
+scala-compiler
+${scala.version}
+
+
+
+org.scala-lang
+scala-reflect
+${scala.version}
+
 
 
 
->>> KYLIN-2565, upgrade to Hadoop3.0
-
-  
-  
-org.apache.kylin
-atopcalcite
-${project.version}
-  
-  
-org.apache.kylin
-kylin-core-common
-${project.version}
-  
-  
-org.apache.kylin
-kylin-core-metrics
-${project.version}
-  
-  
-org.apache.kylin
-kylin-metrics-reporter-hive
-${project.version}
-  
-  
-org.apache.kylin
-kylin-metrics-reporter-kafka
-${project.version}
-  
-  
-org.apache.kylin
-kylin-core-metadata
-${project.version}
-  
-  
-org.apache.kylin
-kylin-core-dictionary
-${project.version}
-  
-  
-org.apache.kylin
-kylin-core-cube
-${project.version}
-  
-  
-org.apache.kylin
-kylin-core-job
-${project.version}
-  
-  
-org.apache.kylin
-kylin-core-storage
-${project.version}
-  
-  
-org.apache.kylin
-kylin-engine-mr
-${project.version}
-  
-  
-org.apache.kylin
-kylin-engine-spark
-${project.version}
-  
-  
-org.apache.kylin
-kylin-source-hive
-${project.version}
-  
-  
-org.apache.kylin
-kylin-source-kafka
-${project.version}
-  
-  
-org.apache.kylin
-kylin-storage-hbase
-${project.version}
-  
-  
-org.apache.kylin
-kylin-query
-${project.version}
-  
-  
-org.apache.kylin
-kylin-server-base
-${project.version}
-  
-  
-org.apache.kylin
-kylin-server
-${project.version}
-  
-  
-org.apache.kylin
-kylin-jdbc
-${project.version}
-  
-  
-org.apache.kylin
-kylin-assembly
-${project.version}
-  
-  
-org.apache.kylin
-kylin-tool
-${project.version}
-  
-  
-org.apache.kylin
-kylin-tool-assembly
-${project.version}
-  
-  
-org.apache.kylin
-kylin-it
-${project.version}
-  
-  
-org.apache.kylin
-kylin-core-common
-${project.version}
-test-jar
-  
-  
-org.apache.kylin
-kylin-core-storage
-${project.version}
-test-jar
-  
-  
-org.apache.kylin
-kylin-storage-hbase
-${project.version}
-test-jar
-  
-  
-org.apache.kylin
-kylin-server-base
-${project.version}
-test-jar
-  
-  
-org.apache.kylin
-kylin-core-job
-${project.version}
-test-jar
-  
-  
-org.apache.kylin
-kylin-core-cube
-${project.version}
-test-jar
-  
-  
-org.apache.kylin
-

[kylin] 02/06: KYLIN-2565 upgrade to hadoop 3.0 hbase 2.0, pass UT

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

shaofengshi pushed a commit to branch master-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit a09485037906d8105cc38d28b898c85d3c4b7920
Author: shaofengshi 
AuthorDate: Tue Mar 20 09:20:49 2018 +0800

KYLIN-2565 upgrade to hadoop 3.0 hbase 2.0, pass UT
---
 .../org/apache/kylin/common/util/StringUtil.java   |   3 +
 .../apache/kylin/common/util/ClassUtilTest.java|   4 +-
 .../apache/kylin/engine/spark/SparkCountDemo.java  |  80 ---
 .../org/apache/kylin/engine/spark/SparkCubing.java | 591 -
 .../storage/hbase/ITAclTableMigrationToolTest.java |   9 +-
 pom.xml|  30 +-
 server-base/pom.xml|   5 +
 .../kylin/rest/job/StorageCleanJobHbaseUtil.java   |  29 +-
 .../org/apache/kylin/rest/security/MockHTable.java |  25 +-
 .../org/apache/kylin/rest/service/JobService.java  |  22 +-
 .../apache/kylin/rest/service/ProjectService.java  |   4 +-
 .../rest/job/StorageCleanJobHbaseUtilTest.java |   9 +-
 server/pom.xml |  16 +-
 .../kylin/rest/metrics/QueryMetricsTest.java   |   2 +
 .../apache/kylin/source/hive/CLIHiveClient.java|  12 +-
 .../org/apache/kylin/source/hive/DBConnConf.java   |   9 -
 storage-hbase/pom.xml  |   5 +
 .../kylin/storage/hbase/HBaseConnection.java   |   8 +-
 .../hbase/cube/v2/CubeHBaseEndpointRPC.java| 259 -
 .../hbase/cube/v2/ExpectedSizeIterator.java|  34 +-
 .../v2/coprocessor/endpoint/CubeVisitService.java  |   2 +-
 .../kylin/storage/hbase/steps/CreateHTableJob.java |  18 +-
 .../kylin/storage/hbase/steps/CubeHFileJob.java|  15 +-
 .../kylin/storage/hbase/util/PingHBaseCLI.java |   3 +-
 tool/pom.xml   |  10 +
 .../org/apache/kylin/tool/CubeMigrationCLI.java|  12 +-
 .../org/apache/kylin/tool/HBaseUsageExtractor.java |   4 +-
 27 files changed, 249 insertions(+), 971 deletions(-)

diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java
index 0b94d9c..7446e22 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java
@@ -188,4 +188,7 @@ public class StringUtil {
 return a == null ? b == null : a.equals(b);
 }
 
+public static boolean isEmpty(String str) {
+return str == null || str.length() == 0;
+}
 }
diff --git 
a/core-common/src/test/java/org/apache/kylin/common/util/ClassUtilTest.java 
b/core-common/src/test/java/org/apache/kylin/common/util/ClassUtilTest.java
index 75fa574..1ea0ae5 100644
--- a/core-common/src/test/java/org/apache/kylin/common/util/ClassUtilTest.java
+++ b/core-common/src/test/java/org/apache/kylin/common/util/ClassUtilTest.java
@@ -26,7 +26,9 @@ public class ClassUtilTest {
 @Test
 public void testFindContainingJar() throws ClassNotFoundException {
 
Assert.assertTrue(ClassUtil.findContainingJar(Class.forName("org.apache.commons.beanutils.BeanUtils")).contains("commons-beanutils"));
-
Assert.assertTrue(ClassUtil.findContainingJar(Class.forName("org.apache.commons.beanutils.BeanUtils"),
 "core").contains("commons-beanutils-core"));
+
+// fixme broken now
+
//Assert.assertTrue(ClassUtil.findContainingJar(Class.forName("org.apache.commons.beanutils.BeanUtils"),
 "core").contains("commons-beanutils-core"));
 }
 
 }
diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCountDemo.java 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCountDemo.java
deleted file mode 100644
index a079a57..000
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCountDemo.java
+++ /dev/null
@@ -1,80 +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.engine.spark;
-
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.OptionBuilder;
-import org.apache.commons.cli.Options;
-import 

[kylin] 01/06: KYLIN-2565, upgrade to Hadoop3.0

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

shaofengshi pushed a commit to branch master-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 616bb38b41880136f3b649730ba910fa74a64216
Author: Cheng Wang 
AuthorDate: Tue Apr 25 18:45:57 2017 +0800

KYLIN-2565, upgrade to Hadoop3.0
---
 .../mr/common/DefaultSslProtocolSocketFactory.java |  150 ---
 .../kylin/engine/mr/common/HadoopStatusGetter.java |  280 +
 .../apache/kylin/engine/spark/SparkCountDemo.java  |   80 ++
 .../org/apache/kylin/engine/spark/SparkCubing.java |  591 +++
 pom.xml| 1081 
 server-base/pom.xml|5 +
 .../org/apache/kylin/rest/security/MockHTable.java |  115 ++-
 .../kylin/storage/hbase/HBaseConnection.java   |5 +
 .../storage/hbase/cube/v2/CubeHBaseScanRPC.java|   15 +-
 .../v2/coprocessor/endpoint/CubeVisitService.java  |4 +-
 .../kylin/storage/hbase/steps/CubeHFileJob.java|   12 +
 .../storage/hbase/steps/HBaseCuboidWriter.java |  133 +++
 .../kylin/storage/hbase/util/CubeMigrationCLI.java |2 +-
 .../storage/hbase/util/DeployCoprocessorCLI.java   |3 +-
 .../storage/hbase/util/ExtendCubeToHybridCLI.java  |2 +-
 .../hbase/util/GridTableHBaseBenchmark.java|2 +-
 .../kylin/storage/hbase/util/PingHBaseCLI.java |3 +-
 .../storage/hbase/steps/CubeHFileMapperTest.java   |   11 +
 .../kylin/storage/hbase/steps/TestHbaseClient.java |   14 +-
 .../org/apache/kylin/tool/CubeMigrationCLI.java|   14 +-
 .../apache/kylin/tool/CubeMigrationCheckCLI.java   |   17 +-
 .../apache/kylin/tool/ExtendCubeToHybridCLI.java   |2 +-
 .../org/apache/kylin/tool/StorageCleanupJob.java   |1 +
 23 files changed, 2123 insertions(+), 419 deletions(-)

diff --git 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java
 
b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java
deleted file mode 100644
index d66e4eb..000
--- 
a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java
+++ /dev/null
@@ -1,150 +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.engine.mr.common;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.UnknownHostException;
-
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManager;
-
-import org.apache.commons.httpclient.ConnectTimeoutException;
-import org.apache.commons.httpclient.HttpClientError;
-import org.apache.commons.httpclient.params.HttpConnectionParams;
-import org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory;
-import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author xduo
- * 
- */
-public class DefaultSslProtocolSocketFactory implements 
SecureProtocolSocketFactory {
-/** Log object for this class. */
-private static Logger logger = 
LoggerFactory.getLogger(DefaultSslProtocolSocketFactory.class);
-private SSLContext sslcontext = null;
-
-/**
- * Constructor for DefaultSslProtocolSocketFactory.
- */
-public DefaultSslProtocolSocketFactory() {
-super();
-}
-
-/**
- * @see 
SecureProtocolSocketFactory#createSocket(java.lang.String,int,java.net.InetAddress,int)
- */
-public Socket createSocket(String host, int port, InetAddress clientHost, 
int clientPort) throws IOException, UnknownHostException {
-return getSSLContext().getSocketFactory().createSocket(host, port, 
clientHost, clientPort);
-}
-
-/**
- * Attempts to get a new socket connection to the given host within the
- * given time limit.
- * 
- * 
- * To circumvent the limitations of older JREs that do not support connect
- * timeout a controller thread is executed. The controller thread attempts
- * to create a new socket within the given limit of time. If socket
- * constructor does not return until the timeout expires, the controller
- * terminates and 

[kylin] 05/06: KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

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

shaofengshi pushed a commit to branch master-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit cd0f7cbc9473c3b0bfabc076154d85f679c1a41b
Author: Lijun Cao <>
AuthorDate: Tue Sep 4 09:56:36 2018 +0800

KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

Signed-off-by: shaofengshi 
---
 .../hbase/lookup/LookupTableToHFileJob.java| 24 +--
 .../kylin/storage/hbase/steps/CubeHTableUtil.java  | 46 +++---
 .../storage/hbase/util/DeployCoprocessorCLI.java   | 46 +++---
 3 files changed, 60 insertions(+), 56 deletions(-)

diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
index 9146fc4..a90f87e 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
@@ -27,12 +27,12 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.HTable;
+import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
 import org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2;
 import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy;
 import org.apache.hadoop.hdfs.DFSConfigKeys;
@@ -208,24 +208,24 @@ public class LookupTableToHFileJob extends 
AbstractHadoopJob {
 String hTableName = genHTableName(kylinConfig, admin, sourceTableName);
 
 TableName tableName = TableName.valueOf(hTableName);
-HTableDescriptor hTableDesc = new HTableDescriptor(tableName);
-hTableDesc.setCompactionEnabled(false);
-hTableDesc.setValue(HTableDescriptor.SPLIT_POLICY, 
DisabledRegionSplitPolicy.class.getName());
-hTableDesc.setValue(IRealizationConstants.HTableTag, 
kylinConfig.getMetadataUrlPrefix());
-hTableDesc.setValue(IRealizationConstants.HTableCreationTime, 
String.valueOf(System.currentTimeMillis()));
+TableDescriptorBuilder descBuilder = 
TableDescriptorBuilder.newBuilder(tableName);
+descBuilder.setCompactionEnabled(false);
+descBuilder.setValue(TableDescriptorBuilder.SPLIT_POLICY, 
DisabledRegionSplitPolicy.class.getName());
+descBuilder.setValue(IRealizationConstants.HTableTag, 
kylinConfig.getMetadataUrlPrefix());
+descBuilder.setValue(IRealizationConstants.HTableCreationTime, 
String.valueOf(System.currentTimeMillis()));
 String commitInfo = KylinVersion.getGitCommitInfo();
 if (!StringUtils.isEmpty(commitInfo)) {
-hTableDesc.setValue(IRealizationConstants.HTableGitTag, 
commitInfo);
+descBuilder.setValue(IRealizationConstants.HTableGitTag, 
commitInfo);
 }
 
-HColumnDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, 
HBaseLookupRowEncoder.CF_STRING, false);
-hTableDesc.addFamily(cf);
+ColumnFamilyDescriptor cf = 
CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, 
false);
+descBuilder.modifyColumnFamily(cf);
 
 try {
 if (shardNum > 1) {
-admin.createTable(hTableDesc, getSplitsByShardNum(shardNum));
+admin.createTable(descBuilder.build(), 
getSplitsByShardNum(shardNum));
 } else {
-admin.createTable(hTableDesc);
+admin.createTable(descBuilder.build());
 }
 } finally {
 IOUtils.closeQuietly(admin);
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
index d06c993..97f6262 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
@@ -24,11 +24,12 @@ import java.util.Locale;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
 import 

[kylin] 04/06: KYLIN-3518 Fix Coprocessor NPE problem on hbase 2

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

shaofengshi pushed a commit to branch master-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 00e8bd7be00296533414e2a869b18ee855fa89da
Author: Lijun Cao <>
AuthorDate: Thu Aug 30 09:28:54 2018 +0800

KYLIN-3518 Fix Coprocessor NPE problem on hbase 2
---
 build/deploy/server.xml  |  2 +-
 build/script/elimate-jar-conflict.sh | 20 
 build/script/prepare.sh  |  3 +++
 .../v2/coprocessor/endpoint/CubeVisitService.java| 10 +-
 4 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/build/deploy/server.xml b/build/deploy/server.xml
index 96f329b..920be25 100644
--- a/build/deploy/server.xml
+++ b/build/deploy/server.xml
@@ -26,7 +26,7 @@
 
 
 
-
+
 
 
 
diff --git a/build/script/elimate-jar-conflict.sh 
b/build/script/elimate-jar-conflict.sh
new file mode 100644
index 000..d02a874
--- /dev/null
+++ b/build/script/elimate-jar-conflict.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+current_dir=`pwd`
+cd ${current_dir}/build/tomcat/webapps
+unzip kylin.war && rm -f kylin.war
+cd WEB-INF/lib
+#remove slf4j-api-1.7.21.jar to solve slf4j conflict
+rm -f slf4j-api-1.7.21.jar
+mkdir modify_avatica_jar && mv avatica-1.10.0.jar modify_avatica_jar
+cd modify_avatica_jar
+#remove org/slf4j in avatica-1.10.0.jar and repackage it to solve slf4j 
conflict
+unzip avatica-1.10.0.jar && rm -f avatica-1.10.0.jar
+rm -rf org/slf4j && jar -cf avatica-1.10.0.jar ./
+rm -rf `ls | egrep -v avatica-1.10.0.jar`
+mv avatica-1.10.0.jar ..
+cd .. && rm -rf modify_avatica_jar
+cd ${current_dir}/build/tomcat/webapps
+#repackage kylin.war
+jar -cf kylin.war ./ && rm -rf `ls | egrep -v kylin.war`
+cd ${current_dir}
\ No newline at end of file
diff --git a/build/script/prepare.sh b/build/script/prepare.sh
index deaf58d..be9dd9d 100755
--- a/build/script/prepare.sh
+++ b/build/script/prepare.sh
@@ -31,6 +31,9 @@ export version
 sh build/script/prepare-libs.sh || { exit 1; }
 
 cp server/target/kylin-server-${version}.war build/tomcat/webapps/kylin.war
+
+sh build/script/elimate-jar-conflict.sh
+
 chmod 644 build/tomcat/webapps/kylin.war
 
 echo "add js css to war"
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
index ded3500..2beddc7 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java
@@ -24,6 +24,7 @@ import java.lang.management.ManagementFactory;
 import java.net.InetAddress;
 import java.nio.BufferOverflowException;
 import java.nio.ByteBuffer;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
@@ -31,12 +32,11 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
-import org.apache.hadoop.hbase.Coprocessor;
 import org.apache.hadoop.hbase.CoprocessorEnvironment;
 import org.apache.hadoop.hbase.DoNotRetryIOException;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.coprocessor.CoprocessorException;
-import org.apache.hadoop.hbase.coprocessor.CoprocessorService;
+import org.apache.hadoop.hbase.coprocessor.RegionCoprocessor;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.RegionScanner;
@@ -78,7 +78,7 @@ import com.sun.management.OperatingSystemMXBean;
 
 @SuppressWarnings("unused")
 //used in hbase endpoint
-public class CubeVisitService extends CubeVisitProtos.CubeVisitService 
implements Coprocessor, CoprocessorService {
+public class CubeVisitService extends CubeVisitProtos.CubeVisitService 
implements RegionCoprocessor {
 
 private static final Logger logger = 
LoggerFactory.getLogger(CubeVisitService.class);
 //TODO limit memory footprint
@@ -448,7 +448,7 @@ public class CubeVisitService extends 
CubeVisitProtos.CubeVisitService implement
 }
 
 @Override
-public Service getService() {
-return this;
+public Iterable getServices() {
+return Collections.singleton(this);
 }
 }



[kylin] branch master-hadoop3.1 updated (978bb37 -> 766a472)

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

shaofengshi pushed a change to branch master-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git.


 discard 978bb37  KYLIN-2565, upgrade to Hadoop3.1
 add ec8186e  KYLIN-3300 Upgrade jackson-databind
 add 3282faf  KYLIN-3301 Upgrade opensaml
 add 0029d8a  KYLIN-3278 Revert "KYLIN-3084, fix issue by using distribute 
by"
 add 6cc59cf  KYLIN-3304 temporarily disable CacheServiceTest
 add 236e6f5  KYLIN-3306: Fix the rarely happened unit test exception of 
generic algorithm
 add 24042e2  KYLIN-3270: add integration test for optimize job
 add cfb21d7  KYLIN-3292 The update button should be disabled with none key 
and value in setting config dialog (#116)
 add a7a0baa  KYLIN-3288 specify mapreduce.job.queuename when submit sqoop 
job
 add 03316e2  KYLIN-3314 refactor code for cube planner algorithm
 add 8350de4  KYLIN-3293, fix FixedLenHexDimEnc that return a wrong code 
length leads to cut bytes error.
 add 565a442  KYLIN-3320 fix CubeStatsReader cannot print stats properly 
for some cube
 add aff6f42  minor, add main func for EncryptUtil
 add 2e49128  minor, fix query handling right outer join case
 add a6bfc9d  KYLIN-3311 refactor Resource.checkAndPutResourceImpl() to 
throw WriteConflictException
 add febabc4  minor, add null case.
 add cfe84a1  KYLIN-3277 Kylin should override hiveconf settings when 
connecting to hive using jdbc
 add 417c4b6  KYLIN-3277 Code review
 add 343d63d  KYLIN-3324 fix NegativeArraySizeException in 
CreateDictionaryJob$2.getDictionary()
 add 37d3cd9  minor, add test util SetAndUnsetSystemProp
 add 709e564  KYLIN-3315 allow each project to set its own source
 add 5552164  KYLIN-3315 allow each project to set its own source
 add be3588b  KYLIN-3296 Fix the split rowkey problem
 add 1e884f2  Revert "KYLIN-3296 Fix the split rowkey problem"
 add 2cda6c3  KYLIN-3327 Upgrade surefire version to 2.21.0
 add 7540cbd  KYLIN-3339, decoupling SQL keywords set with specify 
implementation.
 add 5ab78cb  KYLIN-3343 support RDBMS on GUI (#131)
 add 6fb75b6  KYLIN-3331 Add script check-hive-usability.sh to avoid script 
hangs
 add 9509989  KYLIN-3328 Upgrade the metadata of sample cube to latest
 add 9d88e47  minor, fix exception swallow in CubeDesc.init()
 add 71397fd  KYLIN-3289 Refactor the storage garbage clean up code
 add a9dcad1  KYLIN-3337 Use an auto-closeable style API to replace 
KylinConfig.setKylinConfigThreadLocal()
 add 143cfdc  Minor, add config for enable and disable auto merge
 add b1c8944  KYLIN-3340, enhance hql check
 add 7e8d5a5  Minor, remove TarGZUtil.java
 add b9bcc92  CubeHFileJob should use currentHBaseConfiguration but not new 
create hbase configuration
 add 7217d7f  KYLIN-3294 Remove HBaseMROutput.java, 
RangeKeyDistributionJob.java and other sunset classes
 add 2ca5b98  KYLIN-3369 reduce data size from kafka
 add f2382ea  KYLIN-3369 code refine
 add 5611760  KYLIN-3368 Move Spark cubing metadata dump to job folder
 add 026db17  KYLIN-3367 add the compatibility for new version of hbase
 add 877cab0  minor, make the metrics parameter name consistent
 add e20e244  KYLIN-3345 Use Apache Parent POM 19
 add faf7064  KYLIN-3363 fix wrong partition condition appended in JDBC 
Source
 add 3681089  KYLIN-3380 JDBC source - add a configuration file for sqoop
 add 6820f8d  KYLIN-3315 fix table init
 add bbb71a8  KYLIN-3348 fix 'missing LastBuildJobID' error
 add 1a1c8a9  KYLIN-3352 better filter transform for better seg pruning
 add c027831  KYLIN-3354 escape double-quoted defaultCatalog keyword
 add 0efcdca  KYLIN-3315 fix table init to avoid deadlock on project manager
 add e08c106  Minor, fix wrong method name of cube's input record size
 add 398401f  Minor, add member "displayCubeName" for job instance
 add 2b1e9f4  Minor, make query response with "Unknown error" if exception 
without message occurs
 add 999f1f0  KYLIN-3250 Upgrade jetty version to 9.3.22.v20171030
 add 4c67905  KYLIN-3372 upgrade jackson databind version to 2.9.5
 add d1c68f6  KYLIN-3336
 add 8325ae9  KYLIN-3295, clean unused class:SQLDigestUtil
 add f0f588f  KYLIN-3373 Some improvements for lookup table - UI part change
 add 179eddb  KYLIN-3374 Some improvements for lookup table - metadata 
change
 add 777f8fa  KYLIN-3375 Some improvements for lookup table - build change
 add 5a96f8b  KYLIN-3376 Some improvements for lookup table - query change
 add b7d2cb7  KYLIN-3377 Some improvements for lookup table - snapshot 
management
 add 71d416a  KYLIN-3373 Some improvements for lookup table - UI part 
change - Bug fix for add snapshot desc
 add 20c66d8  KYLIN-3375 Some improvements for lookup table - build change 
- Fix issue when latest ext snapshot exist
 add 18316ec  

svn commit: r1840508 - in /kylin/site: cn/download/index.html download/index.html feed.xml

2018-09-10 Thread lidong
Author: lidong
Date: Tue Sep 11 00:20:02 2018
New Revision: 1840508

URL: http://svn.apache.org/viewvc?rev=1840508=rev
Log:
update downloage page KEYS link

Modified:
kylin/site/cn/download/index.html
kylin/site/download/index.html
kylin/site/feed.xml

Modified: kylin/site/cn/download/index.html
URL: 
http://svn.apache.org/viewvc/kylin/site/cn/download/index.html?rev=1840508=1840507=1840508=diff
==
--- kylin/site/cn/download/index.html (original)
+++ kylin/site/cn/download/index.html Tue Sep 11 00:20:02 2018
@@ -172,7 +172,7 @@ var _hmt = _hmt || [];
   Apache Kylin™ 相å…
³ä¸‹è½½
 
   
-您可以按照这些https://www.apache.org/info/verification.html;>步骤 
并使用这些https://kylin.apache.org/KEYS;>KEYS来验证下载文件的有效性.
+您可以按照这些https://www.apache.org/info/verification.html;>步骤 
并使用这些https://www.apache.org/dist/kylin/KEYS;>KEYS来验证下载文件的有效性.
 
 v2.4.1
 

Modified: kylin/site/download/index.html
URL: 
http://svn.apache.org/viewvc/kylin/site/download/index.html?rev=1840508=1840507=1840508=diff
==
--- kylin/site/download/index.html (original)
+++ kylin/site/download/index.html Tue Sep 11 00:20:02 2018
@@ -5605,7 +5605,7 @@ var _hmt = _hmt || [];
   Apache Kylin™ 
Download
 
   
-You can verify the download by following these https://www.apache.org/info/verification.html;>procedures and using 
these https://kylin.apache.org/KEYS;>KEYS.
+You can verify the download by following these https://www.apache.org/info/verification.html;>procedures and using 
these https://www.apache.org/dist/kylin/KEYS;>KEYS.
 
 v2.4.1
 

Modified: kylin/site/feed.xml
URL: 
http://svn.apache.org/viewvc/kylin/site/feed.xml?rev=1840508=1840507=1840508=diff
==
--- kylin/site/feed.xml (original)
+++ kylin/site/feed.xml Tue Sep 11 00:20:02 2018
@@ -19,8 +19,8 @@
 Apache Kylin Home
 http://kylin.apache.org/
 http://kylin.apache.org/feed.xml; rel="self" 
type="application/rss+xml"/>
-Mon, 10 Sep 2018 06:59:24 -0700
-Mon, 10 Sep 2018 06:59:24 -0700
+Mon, 10 Sep 2018 17:10:54 -0700
+Mon, 10 Sep 2018 17:10:54 -0700
 Jekyll v2.5.3
 
   




[kylin] branch document updated: update downloage page KEYS link

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

shaofengshi 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 0884840  update downloage page KEYS link
0884840 is described below

commit 088484008fb4e5a19618150bd567058c70c36fc0
Author: shaofengshi 
AuthorDate: Tue Sep 11 08:09:10 2018 +0800

update downloage page KEYS link
---
 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 134b64e..d7e88f9 100644
--- a/website/download/index.cn.md
+++ b/website/download/index.cn.md
@@ -3,7 +3,7 @@ layout: download-cn
 title: 下载
 ---
 
-您可以按照这些[步骤](https://www.apache.org/info/verification.html) 
并使用这些[KEYS](https://kylin.apache.org/KEYS)来验证下载文件的有效性.
+您可以按照这些[步骤](https://www.apache.org/info/verification.html) 
并使用这些[KEYS](https://www.apache.org/dist/kylin/KEYS)来验证下载文件的有效性.
 
  v2.4.1
 - This is a bug fix release after 2.4.0, with 22 bug fixes and enhancement. 
For the detail list please check release notes. 
diff --git a/website/download/index.md b/website/download/index.md
index 77c423e..7774e91 100644
--- a/website/download/index.md
+++ b/website/download/index.md
@@ -4,7 +4,7 @@ title: Download
 permalink: /download/index.html
 ---
 
-You can verify the download by following these 
[procedures](https://www.apache.org/info/verification.html) and using these 
[KEYS](https://kylin.apache.org/KEYS).
+You can verify the download by following these 
[procedures](https://www.apache.org/info/verification.html) and using these 
[KEYS](https://www.apache.org/dist/kylin/KEYS).
 
 
  v2.4.1



svn commit: r1840468 - in /kylin/site: KEYS assets/images/ApacheKylin_Logo_Adjust.png community/index.html feed.xml

2018-09-10 Thread lidong
Author: lidong
Date: Mon Sep 10 14:09:03 2018
New Revision: 1840468

URL: http://svn.apache.org/viewvc?rev=1840468=rev
Log:
KYLIN-3548 Typo on Community page

Modified:
kylin/site/KEYS
kylin/site/assets/images/ApacheKylin_Logo_Adjust.png
kylin/site/community/index.html
kylin/site/feed.xml

Modified: kylin/site/KEYS
URL: 
http://svn.apache.org/viewvc/kylin/site/KEYS?rev=1840468=1840467=1840468=diff
==
--- kylin/site/KEYS (original)
+++ kylin/site/KEYS Mon Sep 10 14:09:03 2018
@@ -361,3 +361,120 @@ 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-
+
+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
+OdzEAbRO1ZpZZ82/yhRecYqxOw==
+=6AF1
+-END PGP PUBLIC KEY BLOCK-
+pub   rsa4096 2018-08-29 [SC]
+  65EFB22583BD2285856207551E54F20594906A1C
+uid   [ultimate] nju_yaho 
+sig 31E54F20594906A1C 2018-08-29  nju_yaho 
+sub   rsa4096 2018-08-29 [E]
+sig  1E54F20594906A1C 2018-08-29  nju_yaho 
+
+-BEGIN PGP PUBLIC KEY BLOCK-
+
+mQINBFuGXB8BEADQs1Ox9gn9w9fJ2GhVCg9fx4qCRCuhmeIUd2psPhIXKuqXt8h2
+act9boQvulPR1Ke7w1ATDdciHPbFoX4S/WxaotscP9VPrXiowVvL/zAYf+6Y6RS8
+9kuEoqQC7G2diZAit40TOFicZy5tXatsc29mwLyhY/HlpMNsGIglQaYkX31738zn
+40dK0iqH4J3TD/8bqdkmGf52cpXN7Wl2l26qro1EdiDW/SytdtrAC+rZFrGEtgUZ
+hh50xCc1CG18GJYAia3F5L8ChRLifdRmTa8OmpbgGOJsK0loxgHAV8vu1d0H70Ud
+Mya7cHztcM+gujGq9nBq44IelwFYj/2mebls9LCrLN4ktKLJTS0bidfl+OgMeqPT

svn commit: r29243 - /release/kylin/KEYS

2018-09-10 Thread nju_yaho
Author: nju_yaho
Date: Mon Sep 10 12:03:08 2018
New Revision: 29243

Log:
checkin KEYS file

Added:
release/kylin/KEYS

Added: release/kylin/KEYS
==
--- release/kylin/KEYS (added)
+++ release/kylin/KEYS Mon Sep 10 12:03:08 2018
@@ -0,0 +1,480 @@
+This file contains the PGP keys of various developers.
+Please don't use them for email unless you have to. Their main
+purpose is code signing.
+
+Examples of importing this file in your keystore:
+ gpg --import KEYS.txt
+ (need pgp and other examples here)
+
+Examples of adding your key to this file:
+ pgp -kxa  and append it to this file.
+ (pgpk -ll  && pgpk -xa ) >> this file.
+ (gpg --list-sigs 
+ && gpg --armor --export ) >> this file.
+
+---
+
+pub   4096R/027DC364 2015-04-10
+uid  Luke Han 
+sig 3027DC364 2015-04-10  Luke Han 
+sub   4096R/19BCFD87 2015-04-10
+sig  027DC364 2015-04-10  Luke Han 
+
+-BEGIN PGP PUBLIC KEY BLOCK-
+Version: GnuPG v1
+
+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
+=YeBe
+-END PGP PUBLIC KEY BLOCK-
+pub   4096R/80181F78 2016-02-08
+uid  Li Yang 
+sig 380181F78 2016-02-08  Li Yang 
+sub   4096R/31F92352 2016-02-08
+sig  80181F78 2016-02-08  Li Yang 
+
+-BEGIN PGP PUBLIC KEY BLOCK-
+Version: GnuPG v1
+
+mQINBFa4kRoBEAC8VfF4w68DbWb/aeFV9P97xbfd0/D7rG3/n60t4vFE7WaPQNhK
+iNq9Ib6eKLH3VU90lSkOBnStL0myvZRSZ6n7FNFO6XYKNKTcESIAvIba7WwdkJsH
+HBda/OcHoi2Z2PieoTws3KgNyj34+XWDssJjRUNe8R4TrK7E0D8DGIRK832BX4te
+38b0vKCK0Vg6MNMRPjWR2FguhBDPOGV45W3+MnwHJEhfWqbSHNwMpsLAgB37xNAp
+9iR/jJI4poZqJpe8u+d4zKIpjyIQsCnanM6U032PJz2TTCwsayz5vZFz0Pswy7wz
+JgvLoAzfJf8C4tU7KrWStjucxnum7DImQXEy/Bv7QeGPBYNkmipPhO4WWDyJuHUg
+sx4e+bitBGqyk7xx6UIF/ybE5yKRuEGQkBbP27zbBXZJHBcOW1ukbVSBK+ogwFtG
+2TZHTrDNDOUPiL1sUyOASekPisEh4kZ6Xvv0Eeb7zTP0tkklVSpReWzoU4beWDUJ

[kylin] branch document updated: KYLIN-3548 Typo on Community page

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

shaofengshi 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 94927aa  KYLIN-3548 Typo on Community page
94927aa is described below

commit 94927aa9a74486aa3a5b83ca417bc12bcd6ff646
Author: shaofengshi 
AuthorDate: Mon Sep 10 18:41:37 2018 +0800

KYLIN-3548 Typo on Community page
---
 website/KEYS   | 117 +
 website/community/index.md |   2 +-
 2 files changed, 118 insertions(+), 1 deletion(-)

diff --git a/website/KEYS b/website/KEYS
index c3539ca..8c0fa0b 100644
--- a/website/KEYS
+++ b/website/KEYS
@@ -361,3 +361,120 @@ 
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-
+
+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
+OdzEAbRO1ZpZZ82/yhRecYqxOw==
+=6AF1
+-END PGP PUBLIC KEY BLOCK-
+pub   rsa4096 2018-08-29 [SC]
+  65EFB22583BD2285856207551E54F20594906A1C
+uid   [ultimate] nju_yaho 
+sig 31E54F20594906A1C 2018-08-29  nju_yaho 
+sub   rsa4096 2018-08-29 [E]
+sig  1E54F20594906A1C 2018-08-29  nju_yaho 
+
+-BEGIN PGP PUBLIC KEY BLOCK-
+
+mQINBFuGXB8BEADQs1Ox9gn9w9fJ2GhVCg9fx4qCRCuhmeIUd2psPhIXKuqXt8h2
+act9boQvulPR1Ke7w1ATDdciHPbFoX4S/WxaotscP9VPrXiowVvL/zAYf+6Y6RS8
+9kuEoqQC7G2diZAit40TOFicZy5tXatsc29mwLyhY/HlpMNsGIglQaYkX31738zn

[kylin] branch master-hadoop3.1-2.5.0 updated: KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

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

shaofengshi pushed a commit to branch master-hadoop3.1-2.5.0
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master-hadoop3.1-2.5.0 by this 
push:
 new 9602688  KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.
9602688 is described below

commit 96026886774aff16f03e6d5424e9c0ccdfca1ca0
Author: Lijun Cao <>
AuthorDate: Tue Sep 4 09:56:36 2018 +0800

KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.

Signed-off-by: shaofengshi 
---
 .../hbase/lookup/LookupTableToHFileJob.java| 24 +--
 .../kylin/storage/hbase/steps/CubeHTableUtil.java  | 46 +++---
 .../storage/hbase/util/DeployCoprocessorCLI.java   | 46 +++---
 3 files changed, 60 insertions(+), 56 deletions(-)

diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
index 054e146..2789401 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java
@@ -26,12 +26,12 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
 import org.apache.hadoop.hbase.client.Connection;
 import org.apache.hadoop.hbase.client.HTable;
+import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
 import org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2;
 import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy;
 import org.apache.hadoop.hdfs.DFSConfigKeys;
@@ -207,24 +207,24 @@ public class LookupTableToHFileJob extends 
AbstractHadoopJob {
 String hTableName = genHTableName(kylinConfig, admin, sourceTableName);
 
 TableName tableName = TableName.valueOf(hTableName);
-HTableDescriptor hTableDesc = new HTableDescriptor(tableName);
-hTableDesc.setCompactionEnabled(false);
-hTableDesc.setValue(HTableDescriptor.SPLIT_POLICY, 
DisabledRegionSplitPolicy.class.getName());
-hTableDesc.setValue(IRealizationConstants.HTableTag, 
kylinConfig.getMetadataUrlPrefix());
-hTableDesc.setValue(IRealizationConstants.HTableCreationTime, 
String.valueOf(System.currentTimeMillis()));
+TableDescriptorBuilder descBuilder = 
TableDescriptorBuilder.newBuilder(tableName);
+descBuilder.setCompactionEnabled(false);
+descBuilder.setValue(TableDescriptorBuilder.SPLIT_POLICY, 
DisabledRegionSplitPolicy.class.getName());
+descBuilder.setValue(IRealizationConstants.HTableTag, 
kylinConfig.getMetadataUrlPrefix());
+descBuilder.setValue(IRealizationConstants.HTableCreationTime, 
String.valueOf(System.currentTimeMillis()));
 String commitInfo = KylinVersion.getGitCommitInfo();
 if (!StringUtils.isEmpty(commitInfo)) {
-hTableDesc.setValue(IRealizationConstants.HTableGitTag, 
commitInfo);
+descBuilder.setValue(IRealizationConstants.HTableGitTag, 
commitInfo);
 }
 
-HColumnDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, 
HBaseLookupRowEncoder.CF_STRING, false);
-hTableDesc.addFamily(cf);
+ColumnFamilyDescriptor cf = 
CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, 
false);
+descBuilder.modifyColumnFamily(cf);
 
 try {
 if (shardNum > 1) {
-admin.createTable(hTableDesc, getSplitsByShardNum(shardNum));
+admin.createTable(descBuilder.build(), 
getSplitsByShardNum(shardNum));
 } else {
-admin.createTable(hTableDesc);
+admin.createTable(descBuilder.build());
 }
 } finally {
 IOUtils.closeQuietly(admin);
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
index f006adb..9e3703c 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java
@@ -23,11 +23,12 @@ import java.io.IOException;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
 import 

[kylin] 01/04: KYLIN-3529 Show more error message

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

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

commit 37a4966db41c775dfc48cdd4a4a244f03a18a96c
Author: chao long 
AuthorDate: Wed Sep 5 09:55:10 2018 +0800

KYLIN-3529 Show more error message
---
 .../src/main/java/org/apache/kylin/common/util/AbstractApplication.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java
 
b/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java
index ab1e691..7275e10 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java
@@ -39,7 +39,7 @@ public abstract class AbstractApplication {
 optionsHelper.printUsage(this.getClass().getName(), getOptions());
 throw new RuntimeException("error parsing args", e);
 } catch (Exception e) {
-throw new RuntimeException("error execute " + 
this.getClass().getName(), e);
+throw new RuntimeException("error execute " + 
this.getClass().getName() + ". Root cause: " + e.getMessage(), e);
 }
 }
 }



[kylin] 02/04: KYLIN-3534 Don't compress fact distinct output file

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

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

commit d164225e91fa59aa1dd06d2ddf64e6acc1035a3f
Author: chao long 
AuthorDate: Wed Sep 5 09:55:44 2018 +0800

KYLIN-3534 Don't compress fact distinct output file
---
 .../main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java
 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java
index d0ba5d5..632a169 100644
--- 
a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java
+++ 
b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java
@@ -209,19 +209,22 @@ public class SparkFactDistinct extends 
AbstractApplication implements Serializab
 NullWritable.class, LongWritable.class);
 
 FileOutputFormat.setOutputPath(job, new Path(outputPath));
+FileOutputFormat.setCompressOutput(job, false);
 
 // prevent to create zero-sized default output
 LazyOutputFormat.setOutputFormatClass(job, 
SequenceFileOutputFormat.class);
 
+
 MultipleOutputsRDD multipleOutputsRDD = 
MultipleOutputsRDD.rddToMultipleOutputsRDD(outputRDD);
 
 
multipleOutputsRDD.saveAsNewAPIHadoopDatasetWithMultipleOutputs(job.getConfiguration());
 
-logger.info("Map input records={}", recordRDD.count());
+long recordCount = recordRDD.count();
+logger.info("Map input records={}", recordCount);
 logger.info("HDFS Read: {} HDFS Write", bytesWritten.value());
 
 Map counterMap = Maps.newHashMap();
-counterMap.put(ExecutableConstants.SOURCE_RECORDS_COUNT, 
String.valueOf(recordRDD.count()));
+counterMap.put(ExecutableConstants.SOURCE_RECORDS_COUNT, 
String.valueOf(recordCount));
 counterMap.put(ExecutableConstants.SOURCE_RECORDS_SIZE, 
String.valueOf(bytesWritten.value()));
 
 // save counter to hdfs



[kylin] 04/04: KYLIN-3539 Hybrid segment overlap check

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

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

commit bffaa8a26a2d93b3aa62326484bc31a8717a7c0b
Author: chao long 
AuthorDate: Mon Sep 10 16:00:46 2018 +0800

KYLIN-3539 Hybrid segment overlap check
---
 .../org/apache/kylin/rest/job/HybridCubeCLI.java   | 30 +-
 .../org/apache/kylin/tool/HybridCubeCLITest.java   | 48 ++
 2 files changed, 68 insertions(+), 10 deletions(-)

diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java 
b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
index 303e000..443eba6 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.commons.cli.Option;
@@ -38,6 +39,8 @@ import org.apache.kylin.cube.CubeManager;
 import org.apache.kylin.cube.CubeSegment;
 import org.apache.kylin.metadata.model.DataModelDesc;
 import org.apache.kylin.metadata.model.DataModelManager;
+import org.apache.kylin.metadata.model.SegmentRange;
+import org.apache.kylin.metadata.model.Segments;
 import org.apache.kylin.metadata.project.ProjectManager;
 import org.apache.kylin.metadata.project.RealizationEntry;
 import org.apache.kylin.metadata.realization.RealizationType;
@@ -46,6 +49,8 @@ import org.apache.kylin.storage.hybrid.HybridManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.collect.Lists;
+
 /**
  * 1. Create new HybridCube
  * bin/kylin.sh org.apache.kylin.tool.HybridCubeCLI -action create -name 
hybrid_name -project project_name -model model_name -cubes cube1,cube2
@@ -202,23 +207,28 @@ public class HybridCubeCLI extends AbstractApplication {
 }
 
 private void checkSegmentOffset(List realizationEntries) 
{
-long lastOffset = -1;
+List segmentRanges = Lists.newArrayList();
+
 for (RealizationEntry entry : realizationEntries) {
 if (entry.getType() != RealizationType.CUBE) {
 throw new IllegalArgumentException("Wrong realization type: " 
+ entry.getType() + ", only cube supported. ");
 }
 
 CubeInstance cubeInstance = 
cubeManager.getCube(entry.getRealization());
-CubeSegment segment = cubeInstance.getLastSegment();
-if (segment == null)
-continue;
-if (lastOffset == -1) {
-lastOffset = (Long) segment.getSegRange().end.v;
-} else {
-if (lastOffset > (Long) segment.getSegRange().start.v) {
-throw new IllegalArgumentException("Segments has overlap, 
could not hybrid. Last Segment End: " + lastOffset + ", Next Segment Start: " + 
segment.getSegRange().start.v);
+Segments segments = cubeInstance.getSegments();
+
+for (CubeSegment segment : segments) {
+segmentRanges.add(segment.getSegRange());
+}
+}
+
+if (segmentRanges.size() >= 2) {
+Collections.sort(segmentRanges);
+
+for (int i = 0; i < segmentRanges.size() - 1; i++) {
+if (segmentRanges.get(i).overlaps(segmentRanges.get(i + 1))) {
+throw new IllegalArgumentException("Segments has overlap, 
could not hybrid. First Segment Range: [" + segmentRanges.get(i).start.v + "," 
+ segmentRanges.get(i).end.v + "], Second Segment Range: [" + 
segmentRanges.get(i + 1).start.v + "," + segmentRanges.get(i + 1).end.v + "]");
 }
-lastOffset = (Long) segment.getSegRange().end.v;
 }
 }
 }
diff --git a/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java 
b/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java
index f4ed595..99b8319 100644
--- a/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java
+++ b/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java
@@ -22,6 +22,9 @@ import java.io.IOException;
 
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.LocalFileMetadataTestCase;
+import org.apache.kylin.cube.CubeInstance;
+import org.apache.kylin.cube.CubeManager;
+import org.apache.kylin.metadata.model.SegmentRange;
 import org.apache.kylin.metadata.project.ProjectManager;
 import org.apache.kylin.metadata.realization.RealizationType;
 import org.apache.kylin.storage.hybrid.HybridInstance;
@@ -30,12 +33,17 @@ import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.FixMethodOrder;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
 import org.junit.runners.MethodSorters;
 
 

[kylin] 03/04: KYLIN-3527 Hybrid allows 0,1 cube

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

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

commit 5faddf6eb5ba7e8bb682e1ee6fded4a7e89a2d92
Author: chao long 
AuthorDate: Wed Sep 5 14:16:31 2018 +0800

KYLIN-3527 Hybrid allows 0,1 cube
---
 .../src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java| 4 
 1 file changed, 4 deletions(-)

diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java 
b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
index e332e1d..303e000 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java
@@ -202,10 +202,6 @@ public class HybridCubeCLI extends AbstractApplication {
 }
 
 private void checkSegmentOffset(List realizationEntries) 
{
-if (realizationEntries == null || realizationEntries.size() == 0)
-throw new IllegalArgumentException("No realization found");
-if (realizationEntries.size() == 1)
-throw new IllegalArgumentException("Hybrid needs at least 2 
cubes");
 long lastOffset = -1;
 for (RealizationEntry entry : realizationEntries) {
 if (entry.getType() != RealizationType.CUBE) {



[kylin] branch master updated (7a77141 -> bffaa8a)

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

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


from 7a77141  KYLIN-3258 No check for duplicate cube name when creating a 
hybrid cube
 new 37a4966  KYLIN-3529 Show more error message
 new d164225  KYLIN-3534 Don't compress fact distinct output file
 new 5faddf6  KYLIN-3527 Hybrid allows 0,1 cube
 new bffaa8a  KYLIN-3539 Hybrid segment overlap check

The 4 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.


Summary of changes:
 .../kylin/common/util/AbstractApplication.java |  2 +-
 .../kylin/engine/spark/SparkFactDistinct.java  |  7 +++-
 .../org/apache/kylin/rest/job/HybridCubeCLI.java   | 34 ---
 .../org/apache/kylin/tool/HybridCubeCLITest.java   | 48 ++
 4 files changed, 74 insertions(+), 17 deletions(-)