[3/4] kylin git commit: KYLIN-1528 Create a branch for v1.5 with HBase 1.x API

2017-02-22 Thread billyliu
KYLIN-1528 Create a branch for v1.5 with HBase 1.x API


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

Branch: refs/heads/yang22-hbase102
Commit: 1c57f3e0dd6b992b975b78e6bd777d639b0c2f54
Parents: cdb33ca
Author: shaofengshi 
Authored: Wed Mar 23 17:07:05 2016 +0800
Committer: Billy Liu 
Committed: Thu Feb 23 15:46:17 2017 +0800

--
 examples/test_case_data/sandbox/hbase-site.xml  | 19 +---
 .../kylin/provision/BuildCubeWithEngine.java| 12 +--
 pom.xml | 12 +--
 .../kylin/rest/security/AclHBaseStorage.java|  4 +-
 .../rest/security/MockAclHBaseStorage.java  |  8 +-
 .../apache/kylin/rest/security/MockHTable.java  | 95 
 .../rest/security/RealAclHBaseStorage.java  |  9 +-
 .../apache/kylin/rest/service/AclService.java   | 25 +++---
 .../apache/kylin/rest/service/CubeService.java  | 35 +++-
 .../apache/kylin/rest/service/QueryService.java | 24 +++--
 .../apache/kylin/rest/service/UserService.java  | 17 ++--
 .../kylin/storage/hbase/HBaseConnection.java| 44 -
 .../kylin/storage/hbase/HBaseResourceStore.java | 31 +++
 .../kylin/storage/hbase/HBaseStorage.java   |  3 +-
 .../storage/hbase/cube/SimpleHBaseStore.java| 20 ++---
 .../hbase/cube/v1/CubeSegmentTupleIterator.java | 11 +--
 .../storage/hbase/cube/v1/CubeStorageQuery.java |  4 +-
 .../hbase/cube/v1/RegionScannerAdapter.java | 10 ++-
 .../cube/v1/SerializedHBaseTupleIterator.java   |  4 +-
 .../observer/AggregateRegionObserver.java   |  4 +-
 .../observer/AggregationScanner.java| 14 ++-
 .../observer/ObserverAggregationCache.java  | 10 ++-
 .../coprocessor/observer/ObserverEnabler.java   |  4 +-
 .../hbase/cube/v2/CubeHBaseEndpointRPC.java | 13 +--
 .../storage/hbase/cube/v2/CubeHBaseScanRPC.java |  9 +-
 .../coprocessor/endpoint/CubeVisitService.java  |  4 +-
 .../storage/hbase/steps/CubeHTableUtil.java | 16 ++--
 .../storage/hbase/steps/DeprecatedGCStep.java   | 26 +++---
 .../storage/hbase/steps/HBaseCuboidWriter.java  |  7 +-
 .../kylin/storage/hbase/steps/MergeGCStep.java  | 23 ++---
 .../storage/hbase/util/CleanHtableCLI.java  | 12 +--
 .../storage/hbase/util/CubeMigrationCLI.java| 37 
 .../hbase/util/CubeMigrationCheckCLI.java   | 17 ++--
 .../hbase/util/DeployCoprocessorCLI.java| 27 +++---
 .../hbase/util/ExtendCubeToHybridCLI.java   |  8 +-
 .../hbase/util/GridTableHBaseBenchmark.java | 34 +++
 .../kylin/storage/hbase/util/HBaseClean.java| 18 ++--
 .../hbase/util/HBaseRegionSizeCalculator.java   | 35 
 .../kylin/storage/hbase/util/HBaseUsage.java|  9 +-
 .../storage/hbase/util/HbaseStreamingInput.java | 30 +++
 .../hbase/util/HtableAlterMetadataCLI.java  |  9 +-
 .../storage/hbase/util/OrphanHBaseCleanJob.java | 19 ++--
 .../kylin/storage/hbase/util/PingHBaseCLI.java  | 15 ++--
 .../kylin/storage/hbase/util/RowCounterCLI.java | 11 +--
 .../storage/hbase/util/StorageCleanupJob.java   | 20 +++--
 .../storage/hbase/util/UpdateHTableHostCLI.java | 17 ++--
 .../observer/AggregateRegionObserverTest.java   | 26 ++
 .../v1/filter/TestFuzzyRowFilterV2EndToEnd.java |  5 +-
 .../org/apache/kylin/tool/CubeMigrationCLI.java | 19 ++--
 .../kylin/tool/ExtendCubeToHybridCLI.java   |  8 +-
 50 files changed, 418 insertions(+), 475 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/1c57f3e0/examples/test_case_data/sandbox/hbase-site.xml
--
diff --git a/examples/test_case_data/sandbox/hbase-site.xml 
b/examples/test_case_data/sandbox/hbase-site.xml
index 46d5345..734908e 100644
--- a/examples/test_case_data/sandbox/hbase-site.xml
+++ b/examples/test_case_data/sandbox/hbase-site.xml
@@ -190,22 +190,5 @@
 zookeeper.znode.parent
 /hbase-unsecure
 
-
-hbase.client.pause
-100
-General client pause value.  Used mostly as value to wait
-before running a retry of a failed get, region lookup, etc.
-See hbase.client.retries.number for description of how we backoff 
from
-this initial pause amount and how this pause works w/ 
retries.
-
-
-hbase.client.retries.number
-5
-Maximum retries.  Used as maximum for all retryable
-operations such as the getting of a cell's value, starting a row 
update,
-etc.  Retry interval is a rough function based on 
hbase.client.pause.  At
-first we retry at this interval but then with backoff, we pretty 
quickly reach
-  

[2/4] kylin git commit: KYLIN-1528 Create a branch for v1.5 with HBase 1.x API

2017-02-22 Thread billyliu
http://git-wip-us.apache.org/repos/asf/kylin/blob/1c57f3e0/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
index 5b2441c..2f7e164 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
@@ -24,11 +24,11 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.Connection;
 import org.apache.kylin.common.KylinConfig;
-import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.job.exception.ExecuteException;
 import org.apache.kylin.job.execution.AbstractExecutable;
 import org.apache.kylin.job.execution.ExecutableContext;
@@ -69,19 +69,20 @@ public class MergeGCStep extends AbstractExecutable {
 List oldTables = getOldHTables();
 if (oldTables != null && oldTables.size() > 0) {
 String metadataUrlPrefix = 
KylinConfig.getInstanceFromEnv().getMetadataUrlPrefix();
-Configuration conf = 
HBaseConnection.getCurrentHBaseConfiguration();
-HBaseAdmin admin = null;
+Admin admin = null;
 try {
-admin = new HBaseAdmin(conf);
+Connection conn = 
HBaseConnection.get(KylinConfig.getInstanceFromEnv().getStorageUrl());
+admin = conn.getAdmin();
+
 for (String table : oldTables) {
-if (admin.tableExists(table)) {
-HTableDescriptor tableDescriptor = 
admin.getTableDescriptor(Bytes.toBytes(table));
+if (admin.tableExists(TableName.valueOf(table))) {
+HTableDescriptor tableDescriptor = 
admin.getTableDescriptor(TableName.valueOf((table)));
 String host = 
tableDescriptor.getValue(IRealizationConstants.HTableTag);
 if (metadataUrlPrefix.equalsIgnoreCase(host)) {
-if (admin.isTableEnabled(table)) {
-admin.disableTable(table);
+if 
(admin.isTableEnabled(TableName.valueOf(table))) {
+admin.disableTable(TableName.valueOf(table));
 }
-admin.deleteTable(table);
+admin.deleteTable(TableName.valueOf(table));
 logger.debug("Dropped htable: " + table);
 output.append("HBase table " + table + " is 
dropped. \n");
 } else {

http://git-wip-us.apache.org/repos/asf/kylin/blob/1c57f3e0/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
index a150607..56f867a 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
@@ -21,9 +21,11 @@ package org.apache.kylin.storage.hbase.util;
 import java.io.IOException;
 
 import org.apache.commons.cli.Options;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.AbstractApplication;
 import org.apache.kylin.common.util.OptionsHelper;
 import org.apache.kylin.metadata.realization.IRealizationConstants;
@@ -38,8 +40,8 @@ public class CleanHtableCLI extends AbstractApplication {
 protected static final Logger logger = 
LoggerFactory.getLogger(CleanHtableCLI.class);
 
 private void clean() throws IOException {
-Configuration conf = HBaseConnection.getCurrentHBaseConfiguration();
-HBaseAdmin hbaseAdmin = new HBaseAdmin(conf);
+Connection conn = 
HBaseConnection.get(KylinConfig.getInstanceFromEnv().getStorageUrl());
+Admin hbaseAdmin = conn.getAdmin();
 
 for (HTableDescriptor descriptor : hbaseAdmin.listTables()) {
 String name = 

[4/4] kylin git commit: KYLIN-2233 Support HBase 1.0.2

2017-02-22 Thread billyliu
KYLIN-2233 Support HBase 1.0.2

Signed-off-by: Yang Li 


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

Branch: refs/heads/yang22-hbase102
Commit: b369f92a72c4848cd17a6dd685636c2bc9f701cb
Parents: 1c57f3e
Author: Cheng Wang 
Authored: Wed Oct 12 14:39:24 2016 +0800
Committer: Billy Liu 
Committed: Thu Feb 23 15:50:13 2017 +0800

--
 pom.xml   |  2 +-
 .../storage/hbase/cube/v1/RegionScannerAdapter.java   | 13 +++--
 .../coprocessor/observer/AggregateRegionObserver.java |  4 ++--
 .../v1/coprocessor/observer/AggregationScanner.java   | 14 --
 .../observer/ObserverAggregationCache.java| 10 ++
 .../observer/AggregateRegionObserverTest.java | 10 ++
 .../cube/v1/filter/TestFuzzyRowFilterV2EndToEnd.java  |  3 +--
 7 files changed, 15 insertions(+), 41 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/b369f92a/pom.xml
--
diff --git a/pom.xml b/pom.xml
index dc23a2f..099316a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,7 +54,7 @@
 1.2.1
 
 
-1.1.1
+1.0.2
 0.10.0.0
 
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/b369f92a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/RegionScannerAdapter.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/RegionScannerAdapter.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/RegionScannerAdapter.java
index 3d30767..c07d47f 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/RegionScannerAdapter.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/RegionScannerAdapter.java
@@ -26,7 +26,6 @@ import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.regionserver.RegionScanner;
-import org.apache.hadoop.hbase.regionserver.ScannerContext;
 
 /**
  * @author yangli9
@@ -51,7 +50,7 @@ public class RegionScannerAdapter implements RegionScanner {
 }
 
 @Override
-public boolean next(List result, ScannerContext scannerContext) 
throws IOException {
+public boolean next(List result, int limit) throws IOException {
 return next(result);
 }
 
@@ -61,7 +60,7 @@ public class RegionScannerAdapter implements RegionScanner {
 }
 
 @Override
-public boolean nextRaw(List result, ScannerContext scannerContext) 
throws IOException {
+public boolean nextRaw(List result, int limit) throws IOException {
 return next(result);
 }
 
@@ -94,10 +93,4 @@ public class RegionScannerAdapter implements RegionScanner {
 public long getMvccReadPoint() {
 return Long.MAX_VALUE;
 }
-
-@Override
-public int getBatch() {
-return -1;
-}
-
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/kylin/blob/b369f92a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/coprocessor/observer/AggregateRegionObserver.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/coprocessor/observer/AggregateRegionObserver.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/coprocessor/observer/AggregateRegionObserver.java
index 7e25e4c..7139ca7 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/coprocessor/observer/AggregateRegionObserver.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/coprocessor/observer/AggregateRegionObserver.java
@@ -26,7 +26,7 @@ import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.coprocessor.BaseRegionObserver;
 import org.apache.hadoop.hbase.coprocessor.ObserverContext;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
-import org.apache.hadoop.hbase.regionserver.Region;
+import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;
 import org.apache.hadoop.hbase.regionserver.RegionScanner;
 import org.apache.kylin.gridtable.StorageSideBehavior;
@@ -99,7 +99,7 @@ public class AggregateRegionObserver extends 
BaseRegionObserver {
 // start/end region operation & sync on scanner is suggested by the
 // javadoc of 

[1/4] kylin git commit: KYLIN-2456 fix select * from .. join .. [Forced Update!]

2017-02-22 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/yang22-hbase102 e1eef9d8a -> b369f92a7 (forced update)


KYLIN-2456 fix select * from .. join ..


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

Branch: refs/heads/yang22-hbase102
Commit: cdb33ca8ab4852adb664d3b574bb210d18b2f93c
Parents: 7564274
Author: Li Yang 
Authored: Tue Feb 21 16:13:35 2017 +0800
Committer: Li Yang 
Committed: Tue Feb 21 16:13:35 2017 +0800

--
 .../apache/calcite/sql2rel/SqlToRelConverter.java| 15 ---
 .../org/apache/kylin/query/ITKylinQueryTest.java |  1 +
 2 files changed, 13 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/cdb33ca8/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
--
diff --git 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
index c70cd20..927bc82 100644
--- 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
+++ 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
@@ -602,7 +602,7 @@ public class SqlToRelConverter {
  *   LogicalSort (optional)
  *|- LogicalProject
  *|- LogicalFilter (optional)
- *|- OLAPTableScan
+ *|- OLAPTableScan or LogicalJoin
  */
 LogicalProject rootPrj = null;
 LogicalSort rootSort = null;
@@ -617,8 +617,8 @@ public class SqlToRelConverter {
 
 RelNode input = rootPrj.getInput();
 if (!(//
-input.getClass().getSimpleName().equals("OLAPTableScan")//
-|| 
(input.getClass().getSimpleName().equals("LogicalFilter") && 
input.getInput(0).getClass().getSimpleName().equals("OLAPTableScan"))//
+isAmong(input, "OLAPTableScan", "LogicalJoin")//
+|| (isAmong(input, "LogicalFilter") && 
isAmong(input.getInput(0), "OLAPTableScan", "LogicalJoin"))//
 ))
 return root;
 
@@ -654,6 +654,15 @@ public class SqlToRelConverter {
 return root;
 }
 
+private boolean isAmong(RelNode rel, String... names) {
+String simpleName = rel.getClass().getSimpleName();
+for (String n : names) {
+if (simpleName.equals(n))
+return true;
+}
+return false;
+}
+
 private static boolean isStream(SqlNode query) {
 return query instanceof SqlSelect
 && ((SqlSelect) 
query).isKeywordPresent(SqlSelectKeyword.STREAM);

http://git-wip-us.apache.org/repos/asf/kylin/blob/cdb33ca8/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
--
diff --git 
a/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java 
b/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
index 98b294d..6f1c629 100644
--- a/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
@@ -394,5 +394,6 @@ public class ITKylinQueryTest extends KylinTestBase {
 public void testSelectStarColumnCount() throws Exception {
 execAndCompColumnCount("select * from test_kylin_fact limit 10", 9);
 execAndCompColumnCount("select * from test_kylin_fact", 9);
+execAndCompColumnCount("select * from test_kylin_fact left join 
edw.test_cal_dt on test_kylin_fact.cal_dt = edw.test_cal_dt.CAL_DTlimit 
10", 11);
 }
 }



[1/4] kylin git commit: KYLIN-2456 fix select * from .. join .. [Forced Update!]

2017-02-22 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/yang22-cdh5.7 9cf1b08f2 -> 9322c202f (forced update)


KYLIN-2456 fix select * from .. join ..


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

Branch: refs/heads/yang22-cdh5.7
Commit: cdb33ca8ab4852adb664d3b574bb210d18b2f93c
Parents: 7564274
Author: Li Yang 
Authored: Tue Feb 21 16:13:35 2017 +0800
Committer: Li Yang 
Committed: Tue Feb 21 16:13:35 2017 +0800

--
 .../apache/calcite/sql2rel/SqlToRelConverter.java| 15 ---
 .../org/apache/kylin/query/ITKylinQueryTest.java |  1 +
 2 files changed, 13 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/cdb33ca8/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
--
diff --git 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
index c70cd20..927bc82 100644
--- 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
+++ 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
@@ -602,7 +602,7 @@ public class SqlToRelConverter {
  *   LogicalSort (optional)
  *|- LogicalProject
  *|- LogicalFilter (optional)
- *|- OLAPTableScan
+ *|- OLAPTableScan or LogicalJoin
  */
 LogicalProject rootPrj = null;
 LogicalSort rootSort = null;
@@ -617,8 +617,8 @@ public class SqlToRelConverter {
 
 RelNode input = rootPrj.getInput();
 if (!(//
-input.getClass().getSimpleName().equals("OLAPTableScan")//
-|| 
(input.getClass().getSimpleName().equals("LogicalFilter") && 
input.getInput(0).getClass().getSimpleName().equals("OLAPTableScan"))//
+isAmong(input, "OLAPTableScan", "LogicalJoin")//
+|| (isAmong(input, "LogicalFilter") && 
isAmong(input.getInput(0), "OLAPTableScan", "LogicalJoin"))//
 ))
 return root;
 
@@ -654,6 +654,15 @@ public class SqlToRelConverter {
 return root;
 }
 
+private boolean isAmong(RelNode rel, String... names) {
+String simpleName = rel.getClass().getSimpleName();
+for (String n : names) {
+if (simpleName.equals(n))
+return true;
+}
+return false;
+}
+
 private static boolean isStream(SqlNode query) {
 return query instanceof SqlSelect
 && ((SqlSelect) 
query).isKeywordPresent(SqlSelectKeyword.STREAM);

http://git-wip-us.apache.org/repos/asf/kylin/blob/cdb33ca8/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
--
diff --git 
a/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java 
b/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
index 98b294d..6f1c629 100644
--- a/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
@@ -394,5 +394,6 @@ public class ITKylinQueryTest extends KylinTestBase {
 public void testSelectStarColumnCount() throws Exception {
 execAndCompColumnCount("select * from test_kylin_fact limit 10", 9);
 execAndCompColumnCount("select * from test_kylin_fact", 9);
+execAndCompColumnCount("select * from test_kylin_fact left join 
edw.test_cal_dt on test_kylin_fact.cal_dt = edw.test_cal_dt.CAL_DTlimit 
10", 11);
 }
 }



[3/4] kylin git commit: KYLIN-1528 Create a branch for v1.5 with HBase 1.x API

2017-02-22 Thread billyliu
KYLIN-1528 Create a branch for v1.5 with HBase 1.x API


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

Branch: refs/heads/yang22-cdh5.7
Commit: 1c57f3e0dd6b992b975b78e6bd777d639b0c2f54
Parents: cdb33ca
Author: shaofengshi 
Authored: Wed Mar 23 17:07:05 2016 +0800
Committer: Billy Liu 
Committed: Thu Feb 23 15:46:17 2017 +0800

--
 examples/test_case_data/sandbox/hbase-site.xml  | 19 +---
 .../kylin/provision/BuildCubeWithEngine.java| 12 +--
 pom.xml | 12 +--
 .../kylin/rest/security/AclHBaseStorage.java|  4 +-
 .../rest/security/MockAclHBaseStorage.java  |  8 +-
 .../apache/kylin/rest/security/MockHTable.java  | 95 
 .../rest/security/RealAclHBaseStorage.java  |  9 +-
 .../apache/kylin/rest/service/AclService.java   | 25 +++---
 .../apache/kylin/rest/service/CubeService.java  | 35 +++-
 .../apache/kylin/rest/service/QueryService.java | 24 +++--
 .../apache/kylin/rest/service/UserService.java  | 17 ++--
 .../kylin/storage/hbase/HBaseConnection.java| 44 -
 .../kylin/storage/hbase/HBaseResourceStore.java | 31 +++
 .../kylin/storage/hbase/HBaseStorage.java   |  3 +-
 .../storage/hbase/cube/SimpleHBaseStore.java| 20 ++---
 .../hbase/cube/v1/CubeSegmentTupleIterator.java | 11 +--
 .../storage/hbase/cube/v1/CubeStorageQuery.java |  4 +-
 .../hbase/cube/v1/RegionScannerAdapter.java | 10 ++-
 .../cube/v1/SerializedHBaseTupleIterator.java   |  4 +-
 .../observer/AggregateRegionObserver.java   |  4 +-
 .../observer/AggregationScanner.java| 14 ++-
 .../observer/ObserverAggregationCache.java  | 10 ++-
 .../coprocessor/observer/ObserverEnabler.java   |  4 +-
 .../hbase/cube/v2/CubeHBaseEndpointRPC.java | 13 +--
 .../storage/hbase/cube/v2/CubeHBaseScanRPC.java |  9 +-
 .../coprocessor/endpoint/CubeVisitService.java  |  4 +-
 .../storage/hbase/steps/CubeHTableUtil.java | 16 ++--
 .../storage/hbase/steps/DeprecatedGCStep.java   | 26 +++---
 .../storage/hbase/steps/HBaseCuboidWriter.java  |  7 +-
 .../kylin/storage/hbase/steps/MergeGCStep.java  | 23 ++---
 .../storage/hbase/util/CleanHtableCLI.java  | 12 +--
 .../storage/hbase/util/CubeMigrationCLI.java| 37 
 .../hbase/util/CubeMigrationCheckCLI.java   | 17 ++--
 .../hbase/util/DeployCoprocessorCLI.java| 27 +++---
 .../hbase/util/ExtendCubeToHybridCLI.java   |  8 +-
 .../hbase/util/GridTableHBaseBenchmark.java | 34 +++
 .../kylin/storage/hbase/util/HBaseClean.java| 18 ++--
 .../hbase/util/HBaseRegionSizeCalculator.java   | 35 
 .../kylin/storage/hbase/util/HBaseUsage.java|  9 +-
 .../storage/hbase/util/HbaseStreamingInput.java | 30 +++
 .../hbase/util/HtableAlterMetadataCLI.java  |  9 +-
 .../storage/hbase/util/OrphanHBaseCleanJob.java | 19 ++--
 .../kylin/storage/hbase/util/PingHBaseCLI.java  | 15 ++--
 .../kylin/storage/hbase/util/RowCounterCLI.java | 11 +--
 .../storage/hbase/util/StorageCleanupJob.java   | 20 +++--
 .../storage/hbase/util/UpdateHTableHostCLI.java | 17 ++--
 .../observer/AggregateRegionObserverTest.java   | 26 ++
 .../v1/filter/TestFuzzyRowFilterV2EndToEnd.java |  5 +-
 .../org/apache/kylin/tool/CubeMigrationCLI.java | 19 ++--
 .../kylin/tool/ExtendCubeToHybridCLI.java   |  8 +-
 50 files changed, 418 insertions(+), 475 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/1c57f3e0/examples/test_case_data/sandbox/hbase-site.xml
--
diff --git a/examples/test_case_data/sandbox/hbase-site.xml 
b/examples/test_case_data/sandbox/hbase-site.xml
index 46d5345..734908e 100644
--- a/examples/test_case_data/sandbox/hbase-site.xml
+++ b/examples/test_case_data/sandbox/hbase-site.xml
@@ -190,22 +190,5 @@
 zookeeper.znode.parent
 /hbase-unsecure
 
-
-hbase.client.pause
-100
-General client pause value.  Used mostly as value to wait
-before running a retry of a failed get, region lookup, etc.
-See hbase.client.retries.number for description of how we backoff 
from
-this initial pause amount and how this pause works w/ 
retries.
-
-
-hbase.client.retries.number
-5
-Maximum retries.  Used as maximum for all retryable
-operations such as the getting of a cell's value, starting a row 
update,
-etc.  Retry interval is a rough function based on 
hbase.client.pause.  At
-first we retry at this interval but then with backoff, we pretty 
quickly reach
-

[2/4] kylin git commit: KYLIN-1528 Create a branch for v1.5 with HBase 1.x API

2017-02-22 Thread billyliu
http://git-wip-us.apache.org/repos/asf/kylin/blob/1c57f3e0/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
index 5b2441c..2f7e164 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
@@ -24,11 +24,11 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.Connection;
 import org.apache.kylin.common.KylinConfig;
-import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.job.exception.ExecuteException;
 import org.apache.kylin.job.execution.AbstractExecutable;
 import org.apache.kylin.job.execution.ExecutableContext;
@@ -69,19 +69,20 @@ public class MergeGCStep extends AbstractExecutable {
 List oldTables = getOldHTables();
 if (oldTables != null && oldTables.size() > 0) {
 String metadataUrlPrefix = 
KylinConfig.getInstanceFromEnv().getMetadataUrlPrefix();
-Configuration conf = 
HBaseConnection.getCurrentHBaseConfiguration();
-HBaseAdmin admin = null;
+Admin admin = null;
 try {
-admin = new HBaseAdmin(conf);
+Connection conn = 
HBaseConnection.get(KylinConfig.getInstanceFromEnv().getStorageUrl());
+admin = conn.getAdmin();
+
 for (String table : oldTables) {
-if (admin.tableExists(table)) {
-HTableDescriptor tableDescriptor = 
admin.getTableDescriptor(Bytes.toBytes(table));
+if (admin.tableExists(TableName.valueOf(table))) {
+HTableDescriptor tableDescriptor = 
admin.getTableDescriptor(TableName.valueOf((table)));
 String host = 
tableDescriptor.getValue(IRealizationConstants.HTableTag);
 if (metadataUrlPrefix.equalsIgnoreCase(host)) {
-if (admin.isTableEnabled(table)) {
-admin.disableTable(table);
+if 
(admin.isTableEnabled(TableName.valueOf(table))) {
+admin.disableTable(TableName.valueOf(table));
 }
-admin.deleteTable(table);
+admin.deleteTable(TableName.valueOf(table));
 logger.debug("Dropped htable: " + table);
 output.append("HBase table " + table + " is 
dropped. \n");
 } else {

http://git-wip-us.apache.org/repos/asf/kylin/blob/1c57f3e0/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
index a150607..56f867a 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
@@ -21,9 +21,11 @@ package org.apache.kylin.storage.hbase.util;
 import java.io.IOException;
 
 import org.apache.commons.cli.Options;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.AbstractApplication;
 import org.apache.kylin.common.util.OptionsHelper;
 import org.apache.kylin.metadata.realization.IRealizationConstants;
@@ -38,8 +40,8 @@ public class CleanHtableCLI extends AbstractApplication {
 protected static final Logger logger = 
LoggerFactory.getLogger(CleanHtableCLI.class);
 
 private void clean() throws IOException {
-Configuration conf = HBaseConnection.getCurrentHBaseConfiguration();
-HBaseAdmin hbaseAdmin = new HBaseAdmin(conf);
+Connection conn = 
HBaseConnection.get(KylinConfig.getInstanceFromEnv().getStorageUrl());
+Admin hbaseAdmin = conn.getAdmin();
 
 for (HTableDescriptor descriptor : hbaseAdmin.listTables()) {
 String name = 

[4/4] kylin git commit: KYLIN-1672 support kylin on cdh 5.7

2017-02-22 Thread billyliu
KYLIN-1672 support kylin on cdh 5.7

Signed-off-by: Li Yang 


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

Branch: refs/heads/yang22-cdh5.7
Commit: 9322c202f0375c70fdcb96a23c858b7e0063b847
Parents: 1c57f3e
Author: Lynne Jiang 
Authored: Mon May 16 03:33:27 2016 -0700
Committer: Billy Liu 
Committed: Thu Feb 23 15:48:22 2017 +0800

--
 dev-support/test_all_against_hdp_2_2_4_2_2.sh   |   0
 .../kylin/engine/mr/steps/MockupMapContext.java |  15 +-
 examples/test_case_data/sandbox/core-site.xml   | 146 +++---
 examples/test_case_data/sandbox/hbase-site.xml  | 162 ++
 examples/test_case_data/sandbox/hdfs-site.xml   | 259 ++
 examples/test_case_data/sandbox/mapred-site.xml | 398 ++-
 examples/test_case_data/sandbox/yarn-site.xml   | 496 ++-
 pom.xml |  16 +-
 server/pom.xml  |  36 ++
 .../storage/hbase/steps/MockupMapContext.java   |  19 +-
 tool/pom.xml|  12 +
 11 files changed, 428 insertions(+), 1131 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/9322c202/dev-support/test_all_against_hdp_2_2_4_2_2.sh
--
diff --git a/dev-support/test_all_against_hdp_2_2_4_2_2.sh 
b/dev-support/test_all_against_hdp_2_2_4_2_2.sh
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/kylin/blob/9322c202/engine-mr/src/test/java/org/apache/kylin/engine/mr/steps/MockupMapContext.java
--
diff --git 
a/engine-mr/src/test/java/org/apache/kylin/engine/mr/steps/MockupMapContext.java
 
b/engine-mr/src/test/java/org/apache/kylin/engine/mr/steps/MockupMapContext.java
index 847071d..9900465 100644
--- 
a/engine-mr/src/test/java/org/apache/kylin/engine/mr/steps/MockupMapContext.java
+++ 
b/engine-mr/src/test/java/org/apache/kylin/engine/mr/steps/MockupMapContext.java
@@ -77,6 +77,7 @@ public class MockupMapContext {
 outKV[0] = key;
 outKV[1] = value;
 }
+
 }
 
 @Override
@@ -99,6 +100,7 @@ public class MockupMapContext {
 throw new NotImplementedException();
 }
 
+
 @Override
 public float getProgress() {
 throw new NotImplementedException();
@@ -195,17 +197,17 @@ public class MockupMapContext {
 }
 
 @Override
-public RawComparator getSortComparator() {
+public boolean userClassesTakesPrecedence() {
 throw new NotImplementedException();
 }
 
 @Override
-public String getJar() {
+public RawComparator getSortComparator() {
 throw new NotImplementedException();
 }
 
 @Override
-public RawComparator getGroupingComparator() {
+public String getJar() {
 throw new NotImplementedException();
 }
 
@@ -221,7 +223,7 @@ public class MockupMapContext {
 
 @Override
 public boolean getProfileEnabled() {
-throw new NotImplementedException();
+return false;
 }
 
 @Override
@@ -308,6 +310,11 @@ public class MockupMapContext {
 public RawComparator getCombinerKeyGroupingComparator() {
 throw new NotImplementedException();
 }
+
+@Override
+public RawComparator getGroupingComparator() {
+return null;
+}
 });
 }
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/9322c202/examples/test_case_data/sandbox/core-site.xml
--
diff --git a/examples/test_case_data/sandbox/core-site.xml 
b/examples/test_case_data/sandbox/core-site.xml
index 9aa588c..6162406 100644
--- a/examples/test_case_data/sandbox/core-site.xml
+++ b/examples/test_case_data/sandbox/core-site.xml
@@ -14,152 +14,146 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
+
 
-
 
 fs.defaultFS
-hdfs://sandbox.hortonworks.com:8020
-true
+hdfs://quickstart.cloudera:8020
 
-
 
 fs.trash.interval
-360
+1
 
-
 
-
ha.failover-controller.active-standby-elector.zk.op.retries
-120
+io.compression.codecs
+

[2/3] kylin git commit: KYLIN-1528 Create a branch for v1.5 with HBase 1.x API

2017-02-22 Thread billyliu
http://git-wip-us.apache.org/repos/asf/kylin/blob/1c57f3e0/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
index 5b2441c..2f7e164 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/MergeGCStep.java
@@ -24,11 +24,11 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.Connection;
 import org.apache.kylin.common.KylinConfig;
-import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.job.exception.ExecuteException;
 import org.apache.kylin.job.execution.AbstractExecutable;
 import org.apache.kylin.job.execution.ExecutableContext;
@@ -69,19 +69,20 @@ public class MergeGCStep extends AbstractExecutable {
 List oldTables = getOldHTables();
 if (oldTables != null && oldTables.size() > 0) {
 String metadataUrlPrefix = 
KylinConfig.getInstanceFromEnv().getMetadataUrlPrefix();
-Configuration conf = 
HBaseConnection.getCurrentHBaseConfiguration();
-HBaseAdmin admin = null;
+Admin admin = null;
 try {
-admin = new HBaseAdmin(conf);
+Connection conn = 
HBaseConnection.get(KylinConfig.getInstanceFromEnv().getStorageUrl());
+admin = conn.getAdmin();
+
 for (String table : oldTables) {
-if (admin.tableExists(table)) {
-HTableDescriptor tableDescriptor = 
admin.getTableDescriptor(Bytes.toBytes(table));
+if (admin.tableExists(TableName.valueOf(table))) {
+HTableDescriptor tableDescriptor = 
admin.getTableDescriptor(TableName.valueOf((table)));
 String host = 
tableDescriptor.getValue(IRealizationConstants.HTableTag);
 if (metadataUrlPrefix.equalsIgnoreCase(host)) {
-if (admin.isTableEnabled(table)) {
-admin.disableTable(table);
+if 
(admin.isTableEnabled(TableName.valueOf(table))) {
+admin.disableTable(TableName.valueOf(table));
 }
-admin.deleteTable(table);
+admin.deleteTable(TableName.valueOf(table));
 logger.debug("Dropped htable: " + table);
 output.append("HBase table " + table + " is 
dropped. \n");
 } else {

http://git-wip-us.apache.org/repos/asf/kylin/blob/1c57f3e0/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
--
diff --git 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
index a150607..56f867a 100644
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/CleanHtableCLI.java
@@ -21,9 +21,11 @@ package org.apache.kylin.storage.hbase.util;
 import java.io.IOException;
 
 import org.apache.commons.cli.Options;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.AbstractApplication;
 import org.apache.kylin.common.util.OptionsHelper;
 import org.apache.kylin.metadata.realization.IRealizationConstants;
@@ -38,8 +40,8 @@ public class CleanHtableCLI extends AbstractApplication {
 protected static final Logger logger = 
LoggerFactory.getLogger(CleanHtableCLI.class);
 
 private void clean() throws IOException {
-Configuration conf = HBaseConnection.getCurrentHBaseConfiguration();
-HBaseAdmin hbaseAdmin = new HBaseAdmin(conf);
+Connection conn = 
HBaseConnection.get(KylinConfig.getInstanceFromEnv().getStorageUrl());
+Admin hbaseAdmin = conn.getAdmin();
 
 for (HTableDescriptor descriptor : hbaseAdmin.listTables()) {
 String name = 

[3/3] kylin git commit: KYLIN-1528 Create a branch for v1.5 with HBase 1.x API

2017-02-22 Thread billyliu
KYLIN-1528 Create a branch for v1.5 with HBase 1.x API


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

Branch: refs/heads/yang22-hbase1.x
Commit: 1c57f3e0dd6b992b975b78e6bd777d639b0c2f54
Parents: cdb33ca
Author: shaofengshi 
Authored: Wed Mar 23 17:07:05 2016 +0800
Committer: Billy Liu 
Committed: Thu Feb 23 15:46:17 2017 +0800

--
 examples/test_case_data/sandbox/hbase-site.xml  | 19 +---
 .../kylin/provision/BuildCubeWithEngine.java| 12 +--
 pom.xml | 12 +--
 .../kylin/rest/security/AclHBaseStorage.java|  4 +-
 .../rest/security/MockAclHBaseStorage.java  |  8 +-
 .../apache/kylin/rest/security/MockHTable.java  | 95 
 .../rest/security/RealAclHBaseStorage.java  |  9 +-
 .../apache/kylin/rest/service/AclService.java   | 25 +++---
 .../apache/kylin/rest/service/CubeService.java  | 35 +++-
 .../apache/kylin/rest/service/QueryService.java | 24 +++--
 .../apache/kylin/rest/service/UserService.java  | 17 ++--
 .../kylin/storage/hbase/HBaseConnection.java| 44 -
 .../kylin/storage/hbase/HBaseResourceStore.java | 31 +++
 .../kylin/storage/hbase/HBaseStorage.java   |  3 +-
 .../storage/hbase/cube/SimpleHBaseStore.java| 20 ++---
 .../hbase/cube/v1/CubeSegmentTupleIterator.java | 11 +--
 .../storage/hbase/cube/v1/CubeStorageQuery.java |  4 +-
 .../hbase/cube/v1/RegionScannerAdapter.java | 10 ++-
 .../cube/v1/SerializedHBaseTupleIterator.java   |  4 +-
 .../observer/AggregateRegionObserver.java   |  4 +-
 .../observer/AggregationScanner.java| 14 ++-
 .../observer/ObserverAggregationCache.java  | 10 ++-
 .../coprocessor/observer/ObserverEnabler.java   |  4 +-
 .../hbase/cube/v2/CubeHBaseEndpointRPC.java | 13 +--
 .../storage/hbase/cube/v2/CubeHBaseScanRPC.java |  9 +-
 .../coprocessor/endpoint/CubeVisitService.java  |  4 +-
 .../storage/hbase/steps/CubeHTableUtil.java | 16 ++--
 .../storage/hbase/steps/DeprecatedGCStep.java   | 26 +++---
 .../storage/hbase/steps/HBaseCuboidWriter.java  |  7 +-
 .../kylin/storage/hbase/steps/MergeGCStep.java  | 23 ++---
 .../storage/hbase/util/CleanHtableCLI.java  | 12 +--
 .../storage/hbase/util/CubeMigrationCLI.java| 37 
 .../hbase/util/CubeMigrationCheckCLI.java   | 17 ++--
 .../hbase/util/DeployCoprocessorCLI.java| 27 +++---
 .../hbase/util/ExtendCubeToHybridCLI.java   |  8 +-
 .../hbase/util/GridTableHBaseBenchmark.java | 34 +++
 .../kylin/storage/hbase/util/HBaseClean.java| 18 ++--
 .../hbase/util/HBaseRegionSizeCalculator.java   | 35 
 .../kylin/storage/hbase/util/HBaseUsage.java|  9 +-
 .../storage/hbase/util/HbaseStreamingInput.java | 30 +++
 .../hbase/util/HtableAlterMetadataCLI.java  |  9 +-
 .../storage/hbase/util/OrphanHBaseCleanJob.java | 19 ++--
 .../kylin/storage/hbase/util/PingHBaseCLI.java  | 15 ++--
 .../kylin/storage/hbase/util/RowCounterCLI.java | 11 +--
 .../storage/hbase/util/StorageCleanupJob.java   | 20 +++--
 .../storage/hbase/util/UpdateHTableHostCLI.java | 17 ++--
 .../observer/AggregateRegionObserverTest.java   | 26 ++
 .../v1/filter/TestFuzzyRowFilterV2EndToEnd.java |  5 +-
 .../org/apache/kylin/tool/CubeMigrationCLI.java | 19 ++--
 .../kylin/tool/ExtendCubeToHybridCLI.java   |  8 +-
 50 files changed, 418 insertions(+), 475 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/1c57f3e0/examples/test_case_data/sandbox/hbase-site.xml
--
diff --git a/examples/test_case_data/sandbox/hbase-site.xml 
b/examples/test_case_data/sandbox/hbase-site.xml
index 46d5345..734908e 100644
--- a/examples/test_case_data/sandbox/hbase-site.xml
+++ b/examples/test_case_data/sandbox/hbase-site.xml
@@ -190,22 +190,5 @@
 zookeeper.znode.parent
 /hbase-unsecure
 
-
-hbase.client.pause
-100
-General client pause value.  Used mostly as value to wait
-before running a retry of a failed get, region lookup, etc.
-See hbase.client.retries.number for description of how we backoff 
from
-this initial pause amount and how this pause works w/ 
retries.
-
-
-hbase.client.retries.number
-5
-Maximum retries.  Used as maximum for all retryable
-operations such as the getting of a cell's value, starting a row 
update,
-etc.  Retry interval is a rough function based on 
hbase.client.pause.  At
-first we retry at this interval but then with backoff, we pretty 
quickly reach
-  

[1/3] kylin git commit: KYLIN-2456 fix select * from .. join .. [Forced Update!]

2017-02-22 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/yang22-hbase1.x 4853dcae3 -> 1c57f3e0d (forced update)


KYLIN-2456 fix select * from .. join ..


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

Branch: refs/heads/yang22-hbase1.x
Commit: cdb33ca8ab4852adb664d3b574bb210d18b2f93c
Parents: 7564274
Author: Li Yang 
Authored: Tue Feb 21 16:13:35 2017 +0800
Committer: Li Yang 
Committed: Tue Feb 21 16:13:35 2017 +0800

--
 .../apache/calcite/sql2rel/SqlToRelConverter.java| 15 ---
 .../org/apache/kylin/query/ITKylinQueryTest.java |  1 +
 2 files changed, 13 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/cdb33ca8/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
--
diff --git 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
index c70cd20..927bc82 100644
--- 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
+++ 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
@@ -602,7 +602,7 @@ public class SqlToRelConverter {
  *   LogicalSort (optional)
  *|- LogicalProject
  *|- LogicalFilter (optional)
- *|- OLAPTableScan
+ *|- OLAPTableScan or LogicalJoin
  */
 LogicalProject rootPrj = null;
 LogicalSort rootSort = null;
@@ -617,8 +617,8 @@ public class SqlToRelConverter {
 
 RelNode input = rootPrj.getInput();
 if (!(//
-input.getClass().getSimpleName().equals("OLAPTableScan")//
-|| 
(input.getClass().getSimpleName().equals("LogicalFilter") && 
input.getInput(0).getClass().getSimpleName().equals("OLAPTableScan"))//
+isAmong(input, "OLAPTableScan", "LogicalJoin")//
+|| (isAmong(input, "LogicalFilter") && 
isAmong(input.getInput(0), "OLAPTableScan", "LogicalJoin"))//
 ))
 return root;
 
@@ -654,6 +654,15 @@ public class SqlToRelConverter {
 return root;
 }
 
+private boolean isAmong(RelNode rel, String... names) {
+String simpleName = rel.getClass().getSimpleName();
+for (String n : names) {
+if (simpleName.equals(n))
+return true;
+}
+return false;
+}
+
 private static boolean isStream(SqlNode query) {
 return query instanceof SqlSelect
 && ((SqlSelect) 
query).isKeywordPresent(SqlSelectKeyword.STREAM);

http://git-wip-us.apache.org/repos/asf/kylin/blob/cdb33ca8/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
--
diff --git 
a/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java 
b/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
index 98b294d..6f1c629 100644
--- a/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/query/ITKylinQueryTest.java
@@ -394,5 +394,6 @@ public class ITKylinQueryTest extends KylinTestBase {
 public void testSelectStarColumnCount() throws Exception {
 execAndCompColumnCount("select * from test_kylin_fact limit 10", 9);
 execAndCompColumnCount("select * from test_kylin_fact", 9);
+execAndCompColumnCount("select * from test_kylin_fact left join 
edw.test_cal_dt on test_kylin_fact.cal_dt = edw.test_cal_dt.CAL_DTlimit 
10", 11);
 }
 }



kylin git commit: inc perm

2017-02-22 Thread liyang
Repository: kylin
Updated Branches:
  refs/heads/moreperm [created] e378712d4


inc perm


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

Branch: refs/heads/moreperm
Commit: e378712d416c334da354b458f4638fcf96e8f7c6
Parents: 6f35b62
Author: Hongbin Ma 
Authored: Thu Feb 23 15:36:17 2017 +0800
Committer: Hongbin Ma 
Committed: Thu Feb 23 15:36:17 2017 +0800

--
 build/bin/setenv.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/e378712d/build/bin/setenv.sh
--
diff --git a/build/bin/setenv.sh b/build/bin/setenv.sh
index d838362..0e4dcaa 100755
--- a/build/bin/setenv.sh
+++ b/build/bin/setenv.sh
@@ -21,7 +21,7 @@
 
 # (if your're deploying KYLIN on a powerful server and want to replace the 
default conservative settings)
 # uncomment following to for it to take effect
-export KYLIN_JVM_SETTINGS="-Xms1024M -Xmx4096M -Xss1024K -XX:MaxPermSize=128M 
-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps 
-Xloggc:$KYLIN_HOME/logs/kylin.gc.$$ -XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=64M"
+export KYLIN_JVM_SETTINGS="-Xms1024M -Xmx4096M -Xss1024K -XX:MaxPermSize=256M 
-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps 
-Xloggc:$KYLIN_HOME/logs/kylin.gc.$$ -XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=64M"
 # export KYLIN_JVM_SETTINGS="-Xms16g -Xmx16g -XX:MaxPermSize=512m 
-XX:NewSize=3g -XX:MaxNewSize=3g -XX:SurvivorRatio=4 
-XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled 
-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode 
-XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly 
-XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError"
 
 # uncomment following to for it to take effect(the values need adjusting to 
fit your env)



[08/11] kylin git commit: KYLIN-2331 remove unnecessary kylin-spark-conf.propertiesC

2017-02-22 Thread billyliu
KYLIN-2331 remove unnecessary kylin-spark-conf.propertiesC


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

Branch: refs/heads/master-hbase0.98
Commit: 4332b3d42b631747707231ca47079c230bc628dc
Parents: 37aab3c
Author: Hongbin Ma 
Authored: Thu Feb 23 10:35:06 2017 +0800
Committer: Hongbin Ma 
Committed: Thu Feb 23 14:04:12 2017 +0800

--
 .../sandbox/kylin-spark-conf.properties | 28 
 1 file changed, 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/4332b3d4/examples/test_case_data/sandbox/kylin-spark-conf.properties
--
diff --git a/examples/test_case_data/sandbox/kylin-spark-conf.properties 
b/examples/test_case_data/sandbox/kylin-spark-conf.properties
deleted file mode 100644
index b4a0c97..000
--- a/examples/test_case_data/sandbox/kylin-spark-conf.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-spark.yarn.submit.file.replication=1
-spark.yarn.executor.memoryOverhead=200
-spark.yarn.driver.memoryOverhead=384
-#spark.master=local[4]
-#spark.submit.deployMode=client
-spark.master=yarn
-spark.submit.deployMode=cluster
-spark.eventLog.enabled=true
-spark.yarn.scheduler.heartbeat.interval-ms=5000
-spark.yarn.preserve.staging.files=true
-spark.yarn.queue=default
-spark.yarn.containerLauncherMaxThreads=25
-spark.yarn.max.executor.failures=3
-spark.eventLog.dir=hdfs\:///spark-history
-spark.history.kerberos.enabled=true
-spark.history.provider=org.apache.spark.deploy.history.FsHistoryProvider
-spark.history.ui.port=18080
-spark.history.fs.logDirectory=hdfs\:///spark-history
-spark.executor.memory=1G
-spark.storage.memoryFraction=0.3
-spark.executor.cores=1
-spark.executor.instances=1
-spark.history.kerberos.keytab=none
-spark.history.kerberos.principal=none
-spark.yarn.jar=hdfs://sandbox.hortonworks.com:8020/apps/spark/spark-assembly-1.6.3-hadoop2.6.0.jar
-spark.driver.extraJavaOptions=-Dhdp.version=current
-spark.yarn.am.extraJavaOptions=-Dhdp.version=current
-spark.executor.extraJavaOptions=-Dhdp.version=current



[06/11] kylin git commit: KYLIN 1875 table alias modify

2017-02-22 Thread billyliu
KYLIN 1875 table alias modify

Signed-off-by: Li Yang 


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

Branch: refs/heads/master-hbase0.98
Commit: 37aab3c69ef78633367718a5fd85caa398820f2f
Parents: 77df9dc
Author: chenzhx <346839...@qq.com>
Authored: Wed Feb 22 17:32:14 2017 +0800
Committer: Li Yang 
Committed: Thu Feb 23 11:32:29 2017 +0800

--
 webapp/app/js/controllers/modelDataModel.js | 8 ++--
 1 file changed, 2 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/37aab3c6/webapp/app/js/controllers/modelDataModel.js
--
diff --git a/webapp/app/js/controllers/modelDataModel.js 
b/webapp/app/js/controllers/modelDataModel.js
index cb3305a..15fb20a 100644
--- a/webapp/app/js/controllers/modelDataModel.js
+++ b/webapp/app/js/controllers/modelDataModel.js
@@ -95,13 +95,9 @@ KylinApp.controller('ModelDataModelCtrl', function 
($location,$scope, $modal,cub
 };
 
 $scope.$watch('newLookup.alias',function(newValue,oldValue){
-  if(!newValue){
-return;
-  }else{
-for(var i=0;i<$scope.newLookup.join.primary_key.length;i++){
-  $scope.newLookup.join.primary_key[i] = 
$scope.newLookup.join.primary_key[i].replace(oldValue+'.',newValue+'.');
+  for(var i=0;i<$scope.newLookup.join.primary_key.length;i++){
+  $scope.newLookup.join.primary_key[i] = 
$scope.newLookup.join.primary_key[i].replace(/^.*?\./,newValue+'.');
 }
-  }
 });
 $scope.editLookup = function (lookup) {
 $scope.lookupState.editingIndex = lookupList.indexOf(lookup);



[05/11] kylin git commit: KYLIN-1875,change model limit remove

2017-02-22 Thread billyliu
KYLIN-1875,change model limit remove

Signed-off-by: Li Yang 


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

Branch: refs/heads/master-hbase0.98
Commit: 77df9dc190c16a3b00c325b245c346722e65eaeb
Parents: 82f6803
Author: luguosheng <550175...@qq.com>
Authored: Wed Feb 22 18:24:14 2017 +0800
Committer: Li Yang 
Committed: Thu Feb 23 11:32:13 2017 +0800

--
 webapp/app/js/controllers/cubeEdit.js | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/77df9dc1/webapp/app/js/controllers/cubeEdit.js
--
diff --git a/webapp/app/js/controllers/cubeEdit.js 
b/webapp/app/js/controllers/cubeEdit.js
index 31b84f4..0e5038e 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -704,9 +704,11 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, 
$routeParams, $locatio
 $scope.metaModel.model = modelsManager.getModel(newValue);
 if($scope.metaModel.model){
   $scope.modelsManager.initAliasMapByModelSchema($scope.metaModel);
-  $scope.cubeMetaFrame=CubeDescModel.createNew({
-model_name:newValue
-  })
+  //if(oldValue){
+  //  $scope.cubeMetaFrame=CubeDescModel.createNew({
+  //model_name:newValue
+  //  })
+  //}
 }
 if(!$scope.metaModel.model){
   return;



[03/11] kylin git commit: KYLIN-1875,remove useless js code

2017-02-22 Thread billyliu
KYLIN-1875,remove useless js code

Signed-off-by: Billy Liu 


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

Branch: refs/heads/master-hbase0.98
Commit: 6f35b62bd81d793340b944804a4f78e5d8ff7dbe
Parents: 859605f
Author: luguosheng <550175...@qq.com>
Authored: Wed Feb 22 17:01:07 2017 +0800
Committer: Billy Liu 
Committed: Wed Feb 22 17:02:55 2017 +0800

--
 webapp/app/js/controllers/cubeEdit.js | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/6f35b62b/webapp/app/js/controllers/cubeEdit.js
--
diff --git a/webapp/app/js/controllers/cubeEdit.js 
b/webapp/app/js/controllers/cubeEdit.js
index 2b2d97f..31b84f4 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -704,7 +704,6 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, 
$routeParams, $locatio
 $scope.metaModel.model = modelsManager.getModel(newValue);
 if($scope.metaModel.model){
   $scope.modelsManager.initAliasMapByModelSchema($scope.metaModel);
-  cubesManager.init();
   $scope.cubeMetaFrame=CubeDescModel.createNew({
 model_name:newValue
   })



[01/11] kylin git commit: minor improvement on ITFailfastQueryTest [Forced Update!]

2017-02-22 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/master-hbase0.98 da9b080f9 -> f4127f474 (forced update)


minor improvement on ITFailfastQueryTest


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

Branch: refs/heads/master-hbase0.98
Commit: 4c512f00fc38efa6a211327c3cb32dee4b788007
Parents: 4bdb62c
Author: Hongbin Ma 
Authored: Wed Feb 22 11:44:50 2017 +0800
Committer: Hongbin Ma 
Committed: Wed Feb 22 11:44:50 2017 +0800

--
 .../java/org/apache/kylin/query/ITFailfastQueryTest.java | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/4c512f00/kylin-it/src/test/java/org/apache/kylin/query/ITFailfastQueryTest.java
--
diff --git 
a/kylin-it/src/test/java/org/apache/kylin/query/ITFailfastQueryTest.java 
b/kylin-it/src/test/java/org/apache/kylin/query/ITFailfastQueryTest.java
index a3720c8..73a597a 100644
--- a/kylin-it/src/test/java/org/apache/kylin/query/ITFailfastQueryTest.java
+++ b/kylin-it/src/test/java/org/apache/kylin/query/ITFailfastQueryTest.java
@@ -67,7 +67,7 @@ public class ITFailfastQueryTest extends KylinTestBase {
 public void testPartitionExceedMaxScanBytes() throws Exception {
 String key = "kylin.storage.partition.max-scan-bytes";
 long saved = 
KylinConfig.getInstanceFromEnv().getPartitionMaxScanBytes();
-KylinConfig.getInstanceFromEnv().setProperty(key, "18000");//very low 
threshold 
+KylinConfig.getInstanceFromEnv().setProperty(key, "1000");//very low 
threshold 
 
 boolean meetExpectedException = false;
 try {
@@ -96,7 +96,7 @@ public class ITFailfastQueryTest extends KylinTestBase {
 public void testPartitionNotExceedMaxScanBytes() throws Exception {
 String key = "kylin.storage.partition.max-scan-bytes";
 long saved = 
KylinConfig.getInstanceFromEnv().getPartitionMaxScanBytes();
-KylinConfig.getInstanceFromEnv().setProperty(key, "2");//enough 
threshold 
+KylinConfig.getInstanceFromEnv().setProperty(key, "10");//enough 
threshold 
 
 try {
 String queryFileName = getQueryFolderPrefix() + 
"src/test/resources/query/sql/query01.sql";
@@ -111,7 +111,7 @@ public class ITFailfastQueryTest extends KylinTestBase {
 public void testQueryExceedMaxScanBytes() throws Exception {
 String key = "kylin.query.max-scan-bytes";
 long saved = KylinConfig.getInstanceFromEnv().getQueryMaxScanBytes();
-KylinConfig.getInstanceFromEnv().setProperty(key, "3");//very low 
threshold 
+KylinConfig.getInstanceFromEnv().setProperty(key, "1000");//very low 
threshold 
 
 boolean meetExpectedException = false;
 try {
@@ -140,7 +140,7 @@ public class ITFailfastQueryTest extends KylinTestBase {
 public void testQueryNotExceedMaxScanBytes() throws Exception {
 String key = "kylin.query.max-scan-bytes";
 long saved = KylinConfig.getInstanceFromEnv().getQueryMaxScanBytes();
-KylinConfig.getInstanceFromEnv().setProperty(key, "4");//enough 
threshold 
+KylinConfig.getInstanceFromEnv().setProperty(key, "10");//enough 
threshold 
 
 try {
 String queryFileName = getQueryFolderPrefix() + 
"src/test/resources/query/sql/query01.sql";



[11/11] kylin git commit: KYLIN-2307 Create a branch for master with HBase 0.98 API

2017-02-22 Thread billyliu
KYLIN-2307 Create a branch for master with HBase 0.98 API


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

Branch: refs/heads/master-hbase0.98
Commit: f4127f47483396adc2dbe6699448a70054255602
Parents: 6cf9749
Author: lidongsjtu 
Authored: Mon Jan 23 13:17:37 2017 +0800
Committer: Billy Liu 
Committed: Thu Feb 23 15:26:07 2017 +0800

--
 dev-support/test_all_against_hdp_2_2_4_2_2.sh   |  25 
 dev-support/test_all_against_hdp_2_4_0_0_169.sh |  25 
 .../sandbox/capacity-scheduler.xml  |  17 ++-
 examples/test_case_data/sandbox/core-site.xml   |  28 +---
 examples/test_case_data/sandbox/hbase-site.xml  | 119 +
 examples/test_case_data/sandbox/hdfs-site.xml   |  84 +---
 examples/test_case_data/sandbox/hive-site.xml   |  89 +
 examples/test_case_data/sandbox/mapred-site.xml |  57 +++--
 examples/test_case_data/sandbox/yarn-site.xml   | 127 +++
 .../kylin/provision/BuildCubeWithEngine.java|  17 +--
 pom.xml | 117 +
 .../kylin/rest/security/AclHBaseStorage.java|   4 +-
 .../rest/security/MockAclHBaseStorage.java  |   8 +-
 .../apache/kylin/rest/security/MockHTable.java  |  95 +++---
 .../rest/security/RealAclHBaseStorage.java  |   9 +-
 .../apache/kylin/rest/service/AclService.java   |  25 ++--
 .../apache/kylin/rest/service/CubeService.java  |  35 +++--
 .../apache/kylin/rest/service/QueryService.java |  24 ++--
 .../apache/kylin/rest/service/UserService.java  |  17 +--
 .../kylin/storage/hbase/HBaseConnection.java|  44 +++
 .../kylin/storage/hbase/HBaseResourceStore.java |  31 +++--
 .../storage/hbase/cube/SimpleHBaseStore.java|  20 +--
 .../hbase/cube/v2/CubeHBaseEndpointRPC.java |  13 +-
 .../storage/hbase/cube/v2/CubeHBaseScanRPC.java |   9 +-
 .../coprocessor/endpoint/CubeVisitService.java  |   4 +-
 .../storage/hbase/steps/CubeHTableUtil.java |  16 +--
 .../storage/hbase/steps/DeprecatedGCStep.java   |  24 ++--
 .../storage/hbase/steps/HBaseCuboidWriter.java  |   7 +-
 .../kylin/storage/hbase/steps/MergeGCStep.java  |  23 ++--
 .../storage/hbase/util/CleanHtableCLI.java  |  12 +-
 .../storage/hbase/util/CubeMigrationCLI.java|  37 +++---
 .../hbase/util/CubeMigrationCheckCLI.java   |  17 +--
 .../hbase/util/DeployCoprocessorCLI.java|  27 ++--
 .../hbase/util/ExtendCubeToHybridCLI.java   |   8 +-
 .../hbase/util/GridTableHBaseBenchmark.java |  34 ++---
 .../kylin/storage/hbase/util/HBaseClean.java|  18 ++-
 .../hbase/util/HBaseRegionSizeCalculator.java   |  35 +++--
 .../kylin/storage/hbase/util/HBaseUsage.java|   9 +-
 .../storage/hbase/util/HbaseStreamingInput.java |  30 ++---
 .../hbase/util/HtableAlterMetadataCLI.java  |   9 +-
 .../storage/hbase/util/OrphanHBaseCleanJob.java |  19 +--
 .../kylin/storage/hbase/util/PingHBaseCLI.java  |  15 +--
 .../kylin/storage/hbase/util/RowCounterCLI.java |  11 +-
 .../storage/hbase/util/StorageCleanupJob.java   |  20 ++-
 .../storage/hbase/util/UpdateHTableHostCLI.java |  17 +--
 tool/pom.xml|  10 --
 .../org/apache/kylin/tool/CubeMigrationCLI.java |  19 +--
 .../kylin/tool/ExtendCubeToHybridCLI.java   |   8 +-
 48 files changed, 596 insertions(+), 872 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/f4127f47/dev-support/test_all_against_hdp_2_2_4_2_2.sh
--
diff --git a/dev-support/test_all_against_hdp_2_2_4_2_2.sh 
b/dev-support/test_all_against_hdp_2_2_4_2_2.sh
new file mode 100755
index 000..f7780dd
--- /dev/null
+++ b/dev-support/test_all_against_hdp_2_2_4_2_2.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+#
+# 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.
+#
+
+dir=$(dirname ${0})
+cd ${dir}
+cd ..
+
+mvn clean install 

[3/3] kylin git commit: KYLIN-2331 remove unnecessary kylin-spark-conf.propertiesC

2017-02-22 Thread liyang
KYLIN-2331 remove unnecessary kylin-spark-conf.propertiesC


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

Branch: refs/heads/master
Commit: 4332b3d42b631747707231ca47079c230bc628dc
Parents: 37aab3c
Author: Hongbin Ma 
Authored: Thu Feb 23 10:35:06 2017 +0800
Committer: Hongbin Ma 
Committed: Thu Feb 23 14:04:12 2017 +0800

--
 .../sandbox/kylin-spark-conf.properties | 28 
 1 file changed, 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/4332b3d4/examples/test_case_data/sandbox/kylin-spark-conf.properties
--
diff --git a/examples/test_case_data/sandbox/kylin-spark-conf.properties 
b/examples/test_case_data/sandbox/kylin-spark-conf.properties
deleted file mode 100644
index b4a0c97..000
--- a/examples/test_case_data/sandbox/kylin-spark-conf.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-spark.yarn.submit.file.replication=1
-spark.yarn.executor.memoryOverhead=200
-spark.yarn.driver.memoryOverhead=384
-#spark.master=local[4]
-#spark.submit.deployMode=client
-spark.master=yarn
-spark.submit.deployMode=cluster
-spark.eventLog.enabled=true
-spark.yarn.scheduler.heartbeat.interval-ms=5000
-spark.yarn.preserve.staging.files=true
-spark.yarn.queue=default
-spark.yarn.containerLauncherMaxThreads=25
-spark.yarn.max.executor.failures=3
-spark.eventLog.dir=hdfs\:///spark-history
-spark.history.kerberos.enabled=true
-spark.history.provider=org.apache.spark.deploy.history.FsHistoryProvider
-spark.history.ui.port=18080
-spark.history.fs.logDirectory=hdfs\:///spark-history
-spark.executor.memory=1G
-spark.storage.memoryFraction=0.3
-spark.executor.cores=1
-spark.executor.instances=1
-spark.history.kerberos.keytab=none
-spark.history.kerberos.principal=none
-spark.yarn.jar=hdfs://sandbox.hortonworks.com:8020/apps/spark/spark-assembly-1.6.3-hadoop2.6.0.jar
-spark.driver.extraJavaOptions=-Dhdp.version=current
-spark.yarn.am.extraJavaOptions=-Dhdp.version=current
-spark.executor.extraJavaOptions=-Dhdp.version=current



[1/3] kylin git commit: minor, replace system out in kylin-it with slf4j

2017-02-22 Thread liyang
Repository: kylin
Updated Branches:
  refs/heads/master 37aab3c69 -> 6cf9749e2


minor, replace system out in kylin-it with slf4j


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

Branch: refs/heads/master
Commit: 6cf9749e23ef784eebc4a0604632eaf1c9efc301
Parents: 730f5d7
Author: Hongbin Ma 
Authored: Thu Feb 23 14:04:07 2017 +0800
Committer: Hongbin Ma 
Committed: Thu Feb 23 14:04:12 2017 +0800

--
 .../org/apache/kylin/common/util/ClassUtil.java |  6 +-
 kylin-it/pom.xml| 45 ++---
 .../apache/kylin/query/ITCombinationTest.java   | 10 ++-
 .../apache/kylin/query/ITFailfastQueryTest.java |  8 ++-
 .../apache/kylin/query/ITKylinQueryTest.java| 19 +++---
 .../apache/kylin/query/ITMassInQueryTest.java   | 18 +++--
 .../org/apache/kylin/query/KylinTestBase.java   | 70 ++--
 7 files changed, 110 insertions(+), 66 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/6cf9749e/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java 
b/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java
index 9af34c3..35a3277 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/ClassUtil.java
@@ -29,12 +29,16 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.WeakHashMap;
 
+import org.slf4j.LoggerFactory;
+
 /**
  */
 public class ClassUtil {
 
+private static final org.slf4j.Logger logger = 
LoggerFactory.getLogger(ClassUtil.class);
+
 public static void addClasspath(String path) {
-System.out.println("Adding path " + path + " to class path");
+logger.info("Adding path " + path + " to class path");
 File file = new File(path);
 
 try {

http://git-wip-us.apache.org/repos/asf/kylin/blob/6cf9749e/kylin-it/pom.xml
--
diff --git a/kylin-it/pom.xml b/kylin-it/pom.xml
index d58a895..e039c3c 100644
--- a/kylin-it/pom.xml
+++ b/kylin-it/pom.xml
@@ -18,7 +18,8 @@
 -->
 
 
-http://maven.apache.org/POM/4.0.0; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
+http://maven.apache.org/POM/4.0.0;
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd;>
 4.0.0
 
@@ -241,6 +242,18 @@
 provided
 
 
+
+
+log4j
+log4j
+test
+
+
+org.slf4j
+slf4j-log4j12
+test
+
+
 
 
 org.apache.spark
@@ -294,10 +307,14 @@
 
 
 log4j.configuration
-
file:${project.basedir}/..//build/conf/kylin-tools-log4j.properties
+
+
file:${project.basedir}/..//build/conf/kylin-tools-log4j.properties
+
 
 
--Xms1G -Xmx2G -XX:PermSize=128M 
-XX:MaxPermSize=512M -Dkylin.server.cluster-servers=localhost:7070
+-Xms1G -Xmx2G -XX:PermSize=128M 
-XX:MaxPermSize=512M
+-Dkylin.server.cluster-servers=localhost:7070
+
 
 
 
@@ -317,12 +334,17 @@
 
 
-Dhdp.version=${hdp.version}
 
-DfastBuildMode=${fastBuildMode}
-
-DbuildCubeUsingProvidedData=${buildCubeUsingProvidedData}
+
+
-DbuildCubeUsingProvidedData=${buildCubeUsingProvidedData}
+
 
-DengineType=${engineType}
-
-Dlog4j.configuration=file:${project.basedir}/..//build/conf/kylin-tools-log4j.properties
+
+

[1/2] kylin git commit: KYLIN-1875,change model limit remove

2017-02-22 Thread liyang
Repository: kylin
Updated Branches:
  refs/heads/master 82f68035c -> 37aab3c69


KYLIN-1875,change model limit remove

Signed-off-by: Li Yang 


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

Branch: refs/heads/master
Commit: 77df9dc190c16a3b00c325b245c346722e65eaeb
Parents: 82f6803
Author: luguosheng <550175...@qq.com>
Authored: Wed Feb 22 18:24:14 2017 +0800
Committer: Li Yang 
Committed: Thu Feb 23 11:32:13 2017 +0800

--
 webapp/app/js/controllers/cubeEdit.js | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/77df9dc1/webapp/app/js/controllers/cubeEdit.js
--
diff --git a/webapp/app/js/controllers/cubeEdit.js 
b/webapp/app/js/controllers/cubeEdit.js
index 31b84f4..0e5038e 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -704,9 +704,11 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, 
$routeParams, $locatio
 $scope.metaModel.model = modelsManager.getModel(newValue);
 if($scope.metaModel.model){
   $scope.modelsManager.initAliasMapByModelSchema($scope.metaModel);
-  $scope.cubeMetaFrame=CubeDescModel.createNew({
-model_name:newValue
-  })
+  //if(oldValue){
+  //  $scope.cubeMetaFrame=CubeDescModel.createNew({
+  //model_name:newValue
+  //  })
+  //}
 }
 if(!$scope.metaModel.model){
   return;



kylin git commit: KYLIN-2459 Make ResourceStore configable

2017-02-22 Thread liyang
Repository: kylin
Updated Branches:
  refs/heads/master 6f35b62bd -> 82f68035c


KYLIN-2459 Make ResourceStore configable

Signed-off-by: Hongbin Ma 


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

Branch: refs/heads/master
Commit: 82f68035ceee222905e8daf443dd99585fbc4428
Parents: 6f35b62
Author: xiefan46 <958034...@qq.com>
Authored: Wed Feb 22 18:07:49 2017 +0800
Committer: Hongbin Ma 
Committed: Wed Feb 22 20:49:04 2017 +0800

--
 .../java/org/apache/kylin/common/KylinConfigBase.java   |  5 +
 .../apache/kylin/common/persistence/ResourceStore.java  | 12 
 2 files changed, 9 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/82f68035/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java 
b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
index 13d967d..1c26c63 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
@@ -957,4 +957,9 @@ abstract public class KylinConfigBase implements 
Serializable {
 return getOptional("kylin.storage.lock-manager-zk-port", "2181");
 }
 
+//ResourceStore Impl
+public String getResourceStoreImpl() {
+return getOptional("kylin.metadata.default-resource-store-impl", 
"org.apache.kylin.storage.hbase.HBaseResourceStore");
+}
+
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/82f68035/core-common/src/main/java/org/apache/kylin/common/persistence/ResourceStore.java
--
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/persistence/ResourceStore.java
 
b/core-common/src/main/java/org/apache/kylin/common/persistence/ResourceStore.java
index c441618..77143b0 100644
--- 
a/core-common/src/main/java/org/apache/kylin/common/persistence/ResourceStore.java
+++ 
b/core-common/src/main/java/org/apache/kylin/common/persistence/ResourceStore.java
@@ -70,19 +70,15 @@ abstract public class ResourceStore {
 
 private static final ArrayList knownImpl = 
new ArrayList();
 
-private static ArrayList getKnownImpl() {
+private static ArrayList 
getKnownImpl(KylinConfig kylinConfig) {
 if (knownImpl.isEmpty()) {
 knownImpl.add(FileResourceStore.class);
 try {
-
knownImpl.add(ClassUtil.forName("org.apache.kylin.storage.hbase.HBaseResourceStore",
 ResourceStore.class));
+String implName = kylinConfig.getResourceStoreImpl();
+knownImpl.add(ClassUtil.forName(implName, 
ResourceStore.class));
 } catch (Throwable e) {
 logger.warn("Failed to load HBaseResourceStore impl class: " + 
e.toString());
 }
-try {
-
knownImpl.add(ClassUtil.forName("org.apache.kylin.storage.hdfs.HDFSResourceStore",
 ResourceStore.class));
-} catch (Throwable e) {
-logger.warn("Failed to load HDFSResourceStore impl class: " + 
e.toString());
-}
 }
 return knownImpl;
 }
@@ -90,7 +86,7 @@ abstract public class ResourceStore {
 private static ResourceStore createResourceStore(KylinConfig kylinConfig) {
 List es = new ArrayList();
 logger.info("Using metadata url " + kylinConfig.getMetadataUrl() + " 
for resource store");
-for (Class cls : getKnownImpl()) {
+for (Class cls : getKnownImpl(kylinConfig)) {
 try {
 return 
cls.getConstructor(KylinConfig.class).newInstance(kylinConfig);
 } catch (Throwable e) {



Jenkins build is back to stable : Kylin-Master-JDK-1.7 #256

2017-02-22 Thread Apache Jenkins Server
See 




kylin git commit: KYLIN-1875,remove useless js code

2017-02-22 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/master 859605fb3 -> 6f35b62bd


KYLIN-1875,remove useless js code

Signed-off-by: Billy Liu 


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

Branch: refs/heads/master
Commit: 6f35b62bd81d793340b944804a4f78e5d8ff7dbe
Parents: 859605f
Author: luguosheng <550175...@qq.com>
Authored: Wed Feb 22 17:01:07 2017 +0800
Committer: Billy Liu 
Committed: Wed Feb 22 17:02:55 2017 +0800

--
 webapp/app/js/controllers/cubeEdit.js | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/6f35b62b/webapp/app/js/controllers/cubeEdit.js
--
diff --git a/webapp/app/js/controllers/cubeEdit.js 
b/webapp/app/js/controllers/cubeEdit.js
index 2b2d97f..31b84f4 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -704,7 +704,6 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, 
$routeParams, $locatio
 $scope.metaModel.model = modelsManager.getModel(newValue);
 if($scope.metaModel.model){
   $scope.modelsManager.initAliasMapByModelSchema($scope.metaModel);
-  cubesManager.init();
   $scope.cubeMetaFrame=CubeDescModel.createNew({
 model_name:newValue
   })



kylin git commit: KYLIN-1875

2017-02-22 Thread billyliu
Repository: kylin
Updated Branches:
  refs/heads/master 4c512f00f -> 859605fb3


KYLIN-1875

Signed-off-by: Billy Liu 


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

Branch: refs/heads/master
Commit: 859605fb35dcfb318a562691cb0ba7a0563db0f1
Parents: 4c512f0
Author: luguosheng <550175...@qq.com>
Authored: Wed Feb 22 16:39:06 2017 +0800
Committer: Billy Liu 
Committed: Wed Feb 22 16:53:43 2017 +0800

--
 webapp/app/js/controllers/cubeEdit.js   | 49 
 webapp/app/js/controllers/cubeSchema.js |  6 +--
 webapp/app/js/controllers/modelDataModel.js |  9 +
 webapp/app/js/model/cubeDescModel.js|  4 +-
 4 files changed, 22 insertions(+), 46 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/kylin/blob/859605fb/webapp/app/js/controllers/cubeEdit.js
--
diff --git a/webapp/app/js/controllers/cubeEdit.js 
b/webapp/app/js/controllers/cubeEdit.js
index 92d8305..2b2d97f 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -40,47 +40,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, 
$routeParams, $locatio
 supportedEncoding:[],
 encodingMaps:{}
   }
-  TableModel.getColumnTypeEncodingMap().then(function(data){
-$scope.store.encodingMaps=data;
-  });
-  CubeService.getValidEncodings({}, function (encodings) {
-if(encodings){
-  for(var i in encodings)
-if(VdmUtil.isNotExtraKey(encodings,i)){
-  var value = i
-  var name = value;
-  var typeVersion=+encodings[i]||1;
-  var suggest=false,selecttips='';
-  if(/\d+/.test(""+typeVersion)&>=1){
-for(var s=1;s<=typeVersion;s++){
-  if(s==typeVersion){
-suggest=true;
-  }
-  if(value=="int"){
-name = "int (deprecated)";
-suggest=false;
-  }
-  if(typeVersion>1){
-selecttips="(v"+s;
-if(s==typeVersion){
-  selecttips=",suggest)"
-}
-selecttips=')';
-  }
-  $scope.store.supportedEncoding.push({
-"name":name+selecttips,
-"value":value+"[v"+s+"]",
-"version":typeVersion,
-"baseValue":value,
-"suggest":suggest
-  });
-}
-  }
-}
-}
-  },function(e){
-$scope.store.supportedEncoding = $scope.cubeConfig.encodings;
-  })
+
 
   $scope.getColumnsByAlias = function (alias) {
 var temp = [];
@@ -742,6 +702,13 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, 
$routeParams, $locatio
   return;
 }
 $scope.metaModel.model = modelsManager.getModel(newValue);
+if($scope.metaModel.model){
+  $scope.modelsManager.initAliasMapByModelSchema($scope.metaModel);
+  cubesManager.init();
+  $scope.cubeMetaFrame=CubeDescModel.createNew({
+model_name:newValue
+  })
+}
 if(!$scope.metaModel.model){
   return;
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/859605fb/webapp/app/js/controllers/cubeSchema.js
--
diff --git a/webapp/app/js/controllers/cubeSchema.js 
b/webapp/app/js/controllers/cubeSchema.js
index 91a1567..a912c72 100755
--- a/webapp/app/js/controllers/cubeSchema.js
+++ b/webapp/app/js/controllers/cubeSchema.js
@@ -78,11 +78,11 @@ KylinApp.controller('CubeSchemaCtrl', function ($scope, 
QueryService, UserServic
 suggest=false;
   }
   if(typeVersion>1){
-selecttips="(v"+s;
+selecttips=" (v"+s;
 if(s==typeVersion){
-  selecttips=",suggest)"
+  selecttips+=",suggest"
 }
-selecttips=')';
+selecttips+=')';
   }
   $scope.store.supportedEncoding.push({
 "name":name+selecttips,

http://git-wip-us.apache.org/repos/asf/kylin/blob/859605fb/webapp/app/js/controllers/modelDataModel.js
--
diff --git a/webapp/app/js/controllers/modelDataModel.js 
b/webapp/app/js/controllers/modelDataModel.js
index 02c44ea..cb3305a 100644
--- a/webapp/app/js/controllers/modelDataModel.js
+++ b/webapp/app/js/controllers/modelDataModel.js
@@ -94,6 +94,15 @@ KylinApp.controller('ModelDataModelCtrl', function 
($location,$scope, $modal,cub
 };