You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/11/27 10:28:26 UTC
[29/50] [abbrv] kylin git commit: KYLIN-2195 All code changes,
ready for test
KYLIN-2195 All code changes, ready for test
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/826f23f1
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/826f23f1
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/826f23f1
Branch: refs/heads/KYLIN-1875
Commit: 826f23f14f60ba068b8594ba312c14e66c4807f2
Parents: 1ec1ffc
Author: Li Yang <li...@apache.org>
Authored: Wed Nov 23 11:49:20 2016 +0800
Committer: Li Yang <li...@apache.org>
Committed: Wed Nov 23 17:08:29 2016 +0800
----------------------------------------------------------------------
build/bin/check-env.sh | 2 +-
build/bin/find-hive-dependency.sh | 4 +-
build/bin/sample.sh | 8 +-
build/conf/kylin.properties | 94 +-
.../common/BackwardCompatibilityConfig.java | 21 +-
.../apache/kylin/common/KylinConfigBase.java | 272 ++---
.../common/persistence/JsonSerializer.java | 94 +-
.../kylin/common/persistence/Serializer.java | 70 +-
.../common/persistence/StorageException.java | 76 +-
.../kylin/common/restclient/RestClient.java | 222 ++--
.../org/apache/kylin/common/util/Array.java | 164 +--
.../org/apache/kylin/common/util/ByteArray.java | 492 ++++-----
.../kylin/common/util/BytesSerializer.java | 70 +-
.../apache/kylin/common/util/BytesSplitter.java | 250 ++---
.../kylin/common/util/CliCommandExecutor.java | 298 ++---
.../apache/kylin/common/util/MailService.java | 2 +-
.../apache/kylin/common/util/ShardingHash.java | 134 +--
.../kylin-backward-compatibility.properties | 358 +++---
.../apache/kylin/common/KylinConfigTest.java | 2 +-
.../kylin/common/util/MailServiceTest.java | 2 +-
.../cube/common/FuzzyValueCombination.java | 260 ++---
.../org/apache/kylin/cube/cuboid/CuboidCLI.java | 286 ++---
.../org/apache/kylin/cube/kv/RowConstants.java | 94 +-
.../apache/kylin/cube/kv/RowKeyColumnIO.java | 126 +--
.../apache/kylin/cube/kv/RowKeyColumnOrder.java | 216 ++--
.../org/apache/kylin/cube/model/CubeDesc.java | 2 +-
.../apache/kylin/cube/model/RowKeyColDesc.java | 322 +++---
.../kylin/cube/model/v1_4_0/RowKeyColDesc.java | 184 ++--
.../cube/model/validation/IValidatorRule.java | 54 +-
.../cube/model/validation/ResultLevel.java | 76 +-
.../cube/model/validation/ValidateContext.java | 200 ++--
.../validation/rule/AggregationGroupRule.java | 400 +++----
.../model/validation/rule/FunctionRule.java | 404 +++----
.../model/validation/rule/RowKeyAttrRule.java | 110 +-
.../validation/rule/StreamingCubeRule.java | 158 +--
.../kylin/cube/AggregationGroupRuleTest.java | 244 ++---
.../org/apache/kylin/cube/CubeDescTest.java | 6 +-
.../apache/kylin/cube/CubeManagerCacheTest.java | 156 +--
.../apache/kylin/cube/RowKeyAttrRuleTest.java | 120 +--
.../metadata/measure/MeasureCodecTest.java | 182 ++--
.../kylin/dict/DictionaryInfoSerializer.java | 160 +--
.../kylin/dict/TrieDictionaryBuilder.java | 1020 +++++++++---------
.../kylin/dict/lookup/LookupStringTable.java | 220 ++--
.../apache/kylin/dict/lookup/LookupTable.java | 356 +++---
.../kylin/dict/lookup/SnapshotManager.java | 370 +++----
.../apache/kylin/dict/lookup/SnapshotTable.java | 570 +++++-----
.../dict/lookup/SnapshotTableSerializer.java | 158 +--
.../kylin/dict/AppendTrieDictionaryTest.java | 2 +-
.../impl/threadpool/DistributedScheduler.java | 6 +-
.../kylin/metadata/MetadataConstants.java | 104 +-
.../kylin/metadata/cachesync/Broadcaster.java | 2 +-
.../kylin/metadata/model/JoinTableDesc.java | 124 +--
.../org/apache/kylin/metadata/tuple/ITuple.java | 86 +-
.../apache/kylin/storage/StorageContext.java | 2 +-
.../translate/DerivedFilterTranslator.java | 400 +++----
.../translate/FuzzyValueCombination.java | 264 ++---
.../apache/kylin/engine/mr/DFSFileTable.java | 198 ++--
.../kylin/engine/mr/DFSFileTableReader.java | 504 ++++-----
.../engine/mr/steps/FactDistinctColumnsJob.java | 318 +++---
.../apache/kylin/engine/mr/TableReaderTest.java | 92 +-
.../test_case_data/localmeta/kylin.properties | 52 +-
.../test_case_data/localmeta/kylin_job_conf.xml | 134 +--
examples/test_case_data/sandbox/hive-site.xml | 6 +-
.../test_case_data/sandbox/kylin.properties | 64 +-
.../test_case_data/sandbox/kylin_job_conf.xml | 156 +--
.../sandbox/kylin_job_conf_inmem.xml | 182 ++--
.../resources/org-apache-kylin-jdbc.properties | 54 +-
.../kylin/job/BaseTestDistributedScheduler.java | 4 +-
.../kylin/provision/BuildCubeWithEngine.java | 2 +-
.../apache/kylin/query/ITKylinQueryTest.java | 4 +-
kylin-it/src/test/resources/logging.properties | 44 +-
.../aggregate/DimCountDistinctAggFuncTest.java | 4 +-
.../src/main/webapp/WEB-INF/kylin-servlet.xml | 26 +-
server/src/main/webapp/WEB-INF/web.xml | 180 ++--
.../kylin/rest/metrics/QueryMetricsTest.java | 4 +-
.../kylin/rest/service/CacheServiceTest.java | 4 +-
.../apache/kylin/source/hive/HiveMRInput.java | 2 +-
.../kylin/source/hive/HiveCmdBuilderTest.java | 10 +-
.../source/kafka/hadoop/KafkaFlatTableJob.java | 328 +++---
.../hbase/cube/v1/RegionScannerAdapter.java | 194 ++--
.../hbase/cube/v1/ResultScannerAdapter.java | 200 ++--
.../v1/coprocessor/observer/ObserverTuple.java | 142 +--
.../kylin/storage/hbase/steps/CubeHFileJob.java | 2 +-
.../kylin/storage/hbase/util/PingHBaseCLI.java | 158 +--
.../hbase/common/FuzzyValueCombinationTest.java | 260 ++---
.../common/coprocessor/RowProjectorTest.java | 176 +--
.../observer/RowAggregatorsTest.java | 124 +--
.../apache/kylin/tool/MrJobInfoExtractor.java | 2 +-
.../apache/kylin/tool/StorageCleanupJob.java | 4 +-
webapp/app/js/controllers/admin.js | 4 +-
webapp/app/js/services/kylinProperties.js | 10 +-
91 files changed, 6869 insertions(+), 6858 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/build/bin/check-env.sh
----------------------------------------------------------------------
diff --git a/build/bin/check-env.sh b/build/bin/check-env.sh
index 9cb7636..9cd8a64 100644
--- a/build/bin/check-env.sh
+++ b/build/bin/check-env.sh
@@ -41,7 +41,7 @@ then
quit "Please make sure the user has the privilege to run hadoop shell"
fi
-WORKING_DIR=`sh $KYLIN_HOME/bin/get-properties.sh kylin.hdfs.working.dir`
+WORKING_DIR=`sh $KYLIN_HOME/bin/get-properties.sh kylin.env.hdfs-working-dir`
hadoop fs -mkdir -p $WORKING_DIR
if [ $? != 0 ]
then
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/build/bin/find-hive-dependency.sh
----------------------------------------------------------------------
diff --git a/build/bin/find-hive-dependency.sh b/build/bin/find-hive-dependency.sh
index 69b63a4..fe9e0a3 100644
--- a/build/bin/find-hive-dependency.sh
+++ b/build/bin/find-hive-dependency.sh
@@ -19,13 +19,13 @@
source $(cd -P -- "$(dirname -- "$0")" && pwd -P)/header.sh
-client_mode=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.hive.client`
+client_mode=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.source.hive.client`
hive_env=
echo Retrieving hive dependency...
if [ "${client_mode}" == "beeline" ]
then
- beeline_params=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.hive.beeline.params`
+ beeline_params=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.source.hive.beeline-params`
hive_env=`beeline ${beeline_params} --outputformat=dsv -e set 2>&1 | grep 'env:CLASSPATH' `
else
hive_env=`hive -e set 2>&1 | grep 'env:CLASSPATH'`
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/build/bin/sample.sh
----------------------------------------------------------------------
diff --git a/build/bin/sample.sh b/build/bin/sample.sh
index c1a7bcc..1397034 100644
--- a/build/bin/sample.sh
+++ b/build/bin/sample.sh
@@ -29,10 +29,10 @@ echo "Loading sample data into HDFS tmp path: /tmp/kylin/sample_cube/data"
hadoop fs -mkdir -p /tmp/kylin/sample_cube/data
hadoop fs -put * /tmp/kylin/sample_cube/data/
-hive_client_mode=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.hive.client`
+hive_client_mode=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.source.hive.client`
if [ "${hive_client_mode}" == "beeline" ]
then
- beeline_params=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.hive.beeline.params`
+ beeline_params=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.source.hive.beeline-params`
beeline ${beeline_params} -f ${KYLIN_HOME}/sample_cube/create_sample_tables.sql || { exit 1; }
else
hive -f ${KYLIN_HOME}/sample_cube/create_sample_tables.sql || { exit 1; }
@@ -42,8 +42,8 @@ echo "Sample hive tables are created successfully; Going to create sample cube..
hadoop fs -rm -r /tmp/kylin/sample_cube
# set engine type and storage type to cube desc
-default_engine_type=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.default.cube.engine`
-default_storage_type=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.default.storage.engine`
+default_engine_type=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.engine.default`
+default_storage_type=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.storage.default`
if [ -z "$default_engine_type" ]; then
default_engine_type=2
default_storage_type=2
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/build/conf/kylin.properties
----------------------------------------------------------------------
diff --git a/build/conf/kylin.properties b/build/conf/kylin.properties
index 3b50c12..7cdc1c5 100644
--- a/build/conf/kylin.properties
+++ b/build/conf/kylin.properties
@@ -22,23 +22,23 @@ kyin.server.mode=all
# Optional information for the owner of kylin platform, it can be your team's email
# Currently it will be attached to each kylin's htable attribute
-kylin.owner=whoami@kylin.apache.org
+kylin.storage.hbase.owner-tag=whoami@kylin.apache.org
# List of web servers in use, this enables one web server instance to sync up with other servers.
-kylin.rest.servers=localhost:7070
+kylin.server.cluster-servers=localhost:7070
# Display timezone on UI,format like[GMT+N or GMT-N]
-kylin.rest.timezone=GMT+8
+kylin.web.timezone=GMT+8
### SOURCE ###
# Hive client, valid value [cli, beeline]
-kylin.hive.client=cli
+kylin.source.hive.client=cli
# Parameters for beeline client, only necessary if hive client is beeline
-#kylin.hive.beeline.params=-n root --hiveconf hive.security.authorization.sqlstd.confwhitelist.append='mapreduce.job.*|dfs.*' -u 'jdbc:hive2://localhost:10000'
+#kylin.source.hive.beeline-params=-n root --hiveconf hive.security.authorization.sqlstd.confwhitelist.append='mapreduce.job.*|dfs.*' -u 'jdbc:hive2://localhost:10000'
-kylin.hive.keep.flat.table=false
+kylin.source.hive.keep-flat-table=false
### STORAGE ###
@@ -49,24 +49,24 @@ kylin.metadata.url=kylin_metadata@hbase
kylin.storage.url=hbase
# Working folder in HDFS, make sure user has the right access to the hdfs directory
-kylin.hdfs.working.dir=/kylin
+kylin.env.hdfs-working-dir=/kylin
# Compression codec for htable, valid value [none, snappy, lzo, gzip, lz4]
-kylin.hbase.default.compression.codec=none
+kylin.storage.hbase.compression-codec=none
# HBase Cluster FileSystem, which serving hbase, format as hdfs://hbase-cluster:8020
# Leave empty if hbase running on same cluster with hive and mapreduce
-#kylin.hbase.cluster.fs=
+#kylin.storage.hbase.cluster-fs=
# The cut size for hbase region, in GB.
-kylin.hbase.region.cut=5
+kylin.storage.hbase.region-cut-gb=5
# The hfile size of GB, smaller hfile leading to the converting hfile MR has more reducers and be faster.
# Set 0 to disable this optimization.
-kylin.hbase.hfile.size.gb=2
+kylin.storage.hbase.hfile-size-gb=2
-kylin.hbase.region.count.min=1
-kylin.hbase.region.count.max=500
+kylin.storage.hbase.min-region-count=1
+kylin.storage.hbase.max-region-count=500
### JOB ###
@@ -74,47 +74,47 @@ kylin.hbase.region.count.max=500
kylin.job.retry=0
# If true, job engine will not assume that hadoop CLI reside on the same server as it self
-# you will have to specify kylin.job.remote.cli.hostname, kylin.job.remote.cli.username and kylin.job.remote.cli.password
+# you will have to specify kylin.job.remote-cli-hostname, kylin.job.remote-cli-username and kylin.job.remote-cli-password
# It should not be set to "true" unless you're NOT running Kylin.sh on a hadoop client machine
# (Thus kylin instance has to ssh to another real hadoop client machine to execute hbase,hive,hadoop commands)
-kylin.job.run.as.remote.cmd=false
+kylin.job.use-remote-cli=false
-# Only necessary when kylin.job.run.as.remote.cmd=true
-kylin.job.remote.cli.hostname=
-kylin.job.remote.cli.port=22
+# Only necessary when kylin.job.use-remote-cli=true
+kylin.job.remote-cli-hostname=
+kylin.job.remote-cli-port=22
-# Only necessary when kylin.job.run.as.remote.cmd=true
-kylin.job.remote.cli.username=
+# Only necessary when kylin.job.use-remote-cli=true
+kylin.job.remote-cli-username=
-# Only necessary when kylin.job.run.as.remote.cmd=true
-kylin.job.remote.cli.password=
+# Only necessary when kylin.job.use-remote-cli=true
+kylin.job.remote-cli-password=
# Used by test cases to prepare synthetic data for sample cube
-kylin.job.remote.cli.working.dir=/tmp/kylin
+kylin.job.remote-cli-working-dir=/tmp/kylin
# Max count of concurrent jobs running
-kylin.job.concurrent.max.limit=10
+kylin.job.max-concurrent-jobs=10
# Time interval to check hadoop job status
-kylin.job.yarn.app.rest.check.interval.seconds=10
+kylin.engine.mr.yarn-check-interval-seconds=10
# Hive database name for putting the intermediate flat tables
-kylin.job.hive.database.for.intermediatetable=default
+kylin.source.hive.database-for-flat-table=default
# Whether redistribute the intermediate flat table before building
-kylin.job.hive.intermediatetable.redistribute.enabled=true
+kylin.source.hive.redistribute-flat-table=true
# The percentage of the sampling, default 100%
-kylin.job.cubing.inmem.sampling.percent=100
+kylin.job.sampling-percentage=100
# Whether get job status from resource manager with kerberos authentication
kylin.job.status.with.kerberos=false
-kylin.job.mapreduce.default.reduce.input.mb=500
+kylin.engine.mr.reduce-input-mb=500
-kylin.job.mapreduce.max.reducer.number=500
+kylin.engine.mr.max-reducer-number=500
-kylin.job.mapreduce.mapper.input.rows=1000000
+kylin.engine.mr.mapper-input-rows=1000000
kylin.job.step.timeout=7200
@@ -124,35 +124,35 @@ kylin.job.step.timeout=7200
# 'auto', 'inmem', 'layer' or 'random' for testing
kylin.cube.algorithm=auto
-kylin.cube.algorithm.auto.threshold=8
+kylin.cube.algorithm.layer-or-inmem-threshold=8
-kylin.cube.aggrgroup.max.combination=4096
+kylin.cube.aggrgroup.max-combination=4096
kylin.dictionary.max.cardinality=5000000
-kylin.table.snapshot.max_mb=300
+kylin.snapshot.max-mb=300
### QUERY ###
-kylin.query.scan.threshold=10000000
+kylin.query.scan-threshold=10000000
kylin.query.udf.version=org.apache.kylin.query.udf.VersionUDF
# 3G
-kylin.query.mem.budget=3221225472
+kylin.query.memory-budget=3221225472
-kylin.query.coprocessor.mem.gb=3
+kylin.storage.hbase.coprocessor-mem-gb=3
# the default coprocessor timeout is (hbase.rpc.timeout * 0.9) / 1000 seconds,
# you can set it to a smaller value. 0 means use default.
-# kylin.query.coprocessor.timeout.seconds=0
+# kylin.storage.hbase.coprocessor-timeout-seconds=0
# Enable/disable ACL check for cube query
-kylin.query.security.enabled=true
+kylin.query.security-enabled=true
-kylin.query.cache.enabled=true
+kylin.query.cache-enabled=true
### SECURITY ###
@@ -192,11 +192,11 @@ saml.context.contextPath=/kylin
### MAIL ###
# If true, will send email notification;
-mail.enabled=false
-mail.host=
-mail.username=
-mail.password=
-mail.sender=
+kylin.job.notification-enabled=false
+kylin.job.notification-mail-host=
+kylin.job.notification-mail-username=
+kylin.job.notification-mail-password=
+kylin.job.notification-mail-sender=
### WEB ###
# Help info, format{name|displayName|link}, optional
@@ -216,9 +216,9 @@ kylin.web.diagnostic=
#contact mail on web page, optional
kylin.web.contact_mail=
-crossdomain.enable=true
+kylin.web.cross-domain-enabled=true
### OTHER ###
# Env DEV|QA|PROD
-deploy.env=QA
+kylin.env=QA
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java b/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java
index 0239af0..cbeb73a 100644
--- a/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java
+++ b/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java
@@ -118,7 +118,7 @@ public class BackwardCompatibilityConfig {
public static void main(String[] args) throws IOException {
String kylinRepoDir = args.length > 0 ? args[0] : ".";
- String outputDir = args.length > 1 ? args[1] : ".";
+ String outputDir = args.length > 1 ? args[1] : kylinRepoDir;
generateFindAndReplaceScript(kylinRepoDir, outputDir);
}
@@ -154,9 +154,10 @@ public class BackwardCompatibilityConfig {
for (File f : dir.listFiles()) {
if (f.getName().startsWith("."))
continue;
- if (f.isDirectory())
- stack.push(f);
- else if (isSourceFile(f))
+ if (f.isDirectory()) {
+ if (acceptSourceDir(f))
+ stack.push(f);
+ } else if (acceptSourceFile(f))
out.println("sed -i -f upgrade-old-config.sed " + f.getAbsolutePath());
}
}
@@ -173,7 +174,17 @@ public class BackwardCompatibilityConfig {
return key.replace(".", "[.]");
}
- private static boolean isSourceFile(File f) {
+ private static boolean acceptSourceDir(File f) {
+ // exclude webapp/app/components
+ if (f.getName().equals("components") && f.getParentFile().getName().equals("app"))
+ return false;
+ else if (f.getName().equals("target"))
+ return false;
+ else
+ return true;
+ }
+
+ private static boolean acceptSourceFile(File f) {
String name = f.getName();
if (name.startsWith(KYLIN_BACKWARD_COMPATIBILITY))
return false;
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/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 a84ed62..db4f365 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
@@ -141,7 +141,7 @@ abstract public class KylinConfigBase implements Serializable {
// ============================================================================
public boolean isDevEnv() {
- return "DEV".equals(getOptional("deploy.env", "DEV"));
+ return "DEV".equals(getOptional("kylin.env", "DEV"));
}
public String getMetadataUrl() {
@@ -182,7 +182,7 @@ abstract public class KylinConfigBase implements Serializable {
*/
@Deprecated
public String getHiveUrl() {
- return getOptional("hive.url", "");
+ return getOptional("kylin.source.hive.url", "");
}
/**
@@ -190,7 +190,7 @@ abstract public class KylinConfigBase implements Serializable {
*/
@Deprecated
public String getHiveUser() {
- return getOptional("hive.user", "");
+ return getOptional("kylin.source.hive.user", "");
}
/**
@@ -198,11 +198,11 @@ abstract public class KylinConfigBase implements Serializable {
*/
@Deprecated
public String getHivePassword() {
- return getOptional("hive.password", "");
+ return getOptional("kylin.source.hive.password", "");
}
public String getHdfsWorkingDirectory() {
- String root = getRequired("kylin.hdfs.working.dir");
+ String root = getRequired("kylin.env.hdfs-working-dir");
if (!root.endsWith("/")) {
root += "/";
}
@@ -210,7 +210,7 @@ abstract public class KylinConfigBase implements Serializable {
}
public String[] getRealizationProviders() {
- return getOptionalStringArray("kylin.realization.providers", //
+ return getOptionalStringArray("kylin.metadata.realization-providers", //
new String[] { "org.apache.kylin.cube.CubeManager", "org.apache.kylin.storage.hybrid.HybridManager" });
}
@@ -223,19 +223,19 @@ abstract public class KylinConfigBase implements Serializable {
}
public String getHBaseClusterFs() {
- return getOptional("kylin.hbase.cluster.fs", "");
+ return getOptional("kylin.storage.hbase.cluster-fs", "");
}
public String getHBaseClusterHDFSConfigFile() {
- return getOptional("kylin.hbase.cluster.hdfs.config.file", "");
+ return getOptional("kylin.storage.hbase.cluster-hdfs-config-file", "");
}
public String getKylinJobLogDir() {
- return getOptional("kylin.job.log.dir", "/tmp/kylin/logs");
+ return getOptional("kylin.job.log-dir", "/tmp/kylin/logs");
}
public String getKylinJobJarPath() {
- final String jobJar = getOptional("kylin.job.jar");
+ final String jobJar = getOptional("kylin.engine.mr.job-jar");
if (StringUtils.isNotEmpty(jobJar)) {
return jobJar;
}
@@ -247,24 +247,24 @@ abstract public class KylinConfigBase implements Serializable {
}
public void overrideMRJobJarPath(String path) {
- logger.info("override " + "kylin.job.jar" + " to " + path);
- System.setProperty("kylin.job.jar", path);
+ logger.info("override " + "kylin.engine.mr.job-jar" + " to " + path);
+ System.setProperty("kylin.engine.mr.job-jar", path);
}
public String getKylinJobMRLibDir() {
- return getOptional("kylin.job.mr.lib.dir", "");
+ return getOptional("kylin.engine.mr.lib-dir", "");
}
public Map<String, String> getMRConfigOverride() {
- return getPropertiesByPrefix("kylin.job.mr.config.override.");
+ return getPropertiesByPrefix("kylin.engine.mr.config-override.");
}
public Map<String, String> getHiveConfigOverride() {
- return getPropertiesByPrefix("kylin.hive.config.override.");
+ return getPropertiesByPrefix("kylin.source.hive.config-override.");
}
public String getKylinSparkJobJarPath() {
- final String jobJar = getOptional("kylin.job.jar.spark");
+ final String jobJar = getOptional("kylin.engine.mr.job-jar.spark");
if (StringUtils.isNotEmpty(jobJar)) {
return jobJar;
}
@@ -276,8 +276,8 @@ abstract public class KylinConfigBase implements Serializable {
}
public void overrideSparkJobJarPath(String path) {
- logger.info("override " + "kylin.job.jar.spark" + " to " + path);
- System.setProperty("kylin.job.jar.spark", path);
+ logger.info("override " + "kylin.engine.mr.job-jar.spark" + " to " + path);
+ System.setProperty("kylin.engine.mr.job-jar.spark", path);
}
private static final Pattern COPROCESSOR_JAR_NAME_PATTERN = Pattern.compile("kylin-coprocessor-(.+)\\.jar");
@@ -285,7 +285,7 @@ abstract public class KylinConfigBase implements Serializable {
private static final Pattern SPARK_JOB_JAR_NAME_PATTERN = Pattern.compile("kylin-engine-spark-(.+)\\.jar");
public String getCoprocessorLocalJar() {
- final String coprocessorJar = getOptional("kylin.coprocessor.local.jar");
+ final String coprocessorJar = getOptional("kylin.storage.hbase.coprocessor-local-jar");
if (StringUtils.isNotEmpty(coprocessorJar)) {
return coprocessorJar;
}
@@ -297,8 +297,8 @@ abstract public class KylinConfigBase implements Serializable {
}
public void overrideCoprocessorLocalJar(String path) {
- logger.info("override " + "kylin.coprocessor.local.jar" + " to " + path);
- System.setProperty("kylin.coprocessor.local.jar", path);
+ logger.info("override " + "kylin.storage.hbase.coprocessor-local-jar" + " to " + path);
+ System.setProperty("kylin.storage.hbase.coprocessor-local-jar", path);
}
private static String getFileName(String homePath, Pattern pattern) {
@@ -320,117 +320,117 @@ abstract public class KylinConfigBase implements Serializable {
}
public double getDefaultHadoopJobReducerInputMB() {
- return Double.parseDouble(getOptional("kylin.job.mapreduce.default.reduce.input.mb", "500"));
+ return Double.parseDouble(getOptional("kylin.engine.mr.reduce-input-mb", "500"));
}
public double getDefaultHadoopJobReducerCountRatio() {
- return Double.parseDouble(getOptional("kylin.job.mapreduce.default.reduce.count.ratio", "1.0"));
+ return Double.parseDouble(getOptional("kylin.engine.mr.reduce-count-ratio", "1.0"));
}
public int getHadoopJobMinReducerNumber() {
- return Integer.parseInt(getOptional("kylin.job.mapreduce.min.reducer.number", "1"));
+ return Integer.parseInt(getOptional("kylin.engine.mr.min-reducer-number", "1"));
}
public int getHadoopJobMaxReducerNumber() {
- return Integer.parseInt(getOptional("kylin.job.mapreduce.max.reducer.number", "500"));
+ return Integer.parseInt(getOptional("kylin.engine.mr.max-reducer-number", "500"));
}
public int getHadoopJobMapperInputRows() {
- return Integer.parseInt(getOptional("kylin.job.mapreduce.mapper.input.rows", "1000000"));
+ return Integer.parseInt(getOptional("kylin.engine.mr.mapper-input-rows", "1000000"));
}
public boolean getRunAsRemoteCommand() {
- return Boolean.parseBoolean(getOptional("kylin.job.run.as.remote.cmd"));
+ return Boolean.parseBoolean(getOptional("kylin.job.use-remote-cli"));
}
public void setRunAsRemoteCommand(String v) {
- setProperty("kylin.job.run.as.remote.cmd", v);
+ setProperty("kylin.job.use-remote-cli", v);
}
public int getRemoteHadoopCliPort() {
- return Integer.parseInt(getOptional("kylin.job.remote.cli.port", "22"));
+ return Integer.parseInt(getOptional("kylin.job.remote-cli-port", "22"));
}
public String getRemoteHadoopCliHostname() {
- return getOptional("kylin.job.remote.cli.hostname");
+ return getOptional("kylin.job.remote-cli-hostname");
}
public void setRemoteHadoopCliHostname(String v) {
- setProperty("kylin.job.remote.cli.hostname", v);
+ setProperty("kylin.job.remote-cli-hostname", v);
}
public String getRemoteHadoopCliUsername() {
- return getOptional("kylin.job.remote.cli.username");
+ return getOptional("kylin.job.remote-cli-username");
}
public void setRemoteHadoopCliUsername(String v) {
- setProperty("kylin.job.remote.cli.username", v);
+ setProperty("kylin.job.remote-cli-username", v);
}
public String getRemoteHadoopCliPassword() {
- return getOptional("kylin.job.remote.cli.password");
+ return getOptional("kylin.job.remote-cli-password");
}
public void setRemoteHadoopCliPassword(String v) {
- setProperty("kylin.job.remote.cli.password", v);
+ setProperty("kylin.job.remote-cli-password", v);
}
public String getCliWorkingDir() {
- return getOptional("kylin.job.remote.cli.working.dir");
+ return getOptional("kylin.job.remote-cli-working-dir");
}
public boolean isEmptySegmentAllowed() {
- return Boolean.parseBoolean(getOptional("kylin.job.allow.empty.segment", "true"));
+ return Boolean.parseBoolean(getOptional("kylin.job.allow-empty-segment", "true"));
}
//UHC: ultra high cardinality columns, contain the ShardByColumns and the GlobalDictionaryColumns
public int getUHCReducerCount() {
- return Integer.parseInt(getOptional("kylin.job.uhc.reducer.count", "3"));
+ return Integer.parseInt(getOptional("kylin.engine.mr.uhc-reducer-count", "3"));
}
public String getOverrideHiveTableLocation(String table) {
- return getOptional("hive.table.location." + table.toUpperCase());
+ return getOptional("kylin.source.hive.table-location." + table.toUpperCase());
}
public String getYarnStatusCheckUrl() {
- return getOptional("kylin.job.yarn.app.rest.check.status.url", null);
+ return getOptional("kylin.engine.mr.yarn-check-status-url", null);
}
public int getYarnStatusCheckIntervalSeconds() {
- return Integer.parseInt(getOptional("kylin.job.yarn.app.rest.check.interval.seconds", "60"));
+ return Integer.parseInt(getOptional("kylin.engine.mr.yarn-check-interval-seconds", "60"));
}
public int getMaxConcurrentJobLimit() {
- return Integer.parseInt(getOptional("kylin.job.concurrent.max.limit", "10"));
+ return Integer.parseInt(getOptional("kylin.job.max-concurrent-jobs", "10"));
}
public String getTimeZone() {
- return getOptional("kylin.rest.timezone", "PST");
+ return getOptional("kylin.web.timezone", "PST");
}
public String[] getRestServers() {
- return getOptionalStringArray("kylin.rest.servers", new String[0]);
+ return getOptionalStringArray("kylin.server.cluster-servers", new String[0]);
}
public String getClusterName() {
- return this.getOptional("kylin.cluster.name", getMetadataUrlPrefix());
+ return this.getOptional("kylin.server.cluster-name", getMetadataUrlPrefix());
}
public int getWorkersPerServer() {
//for sequence sql use
- return Integer.parseInt(getOptional("kylin.rest.workers.per.server", "1"));
+ return Integer.parseInt(getOptional("kylin.server.sequence-sql.workers-per-server", "1"));
}
public String[] getAdminDls() {
- return getOptionalStringArray("kylin.job.admin.dls", null);
+ return getOptionalStringArray("kylin.job.notification-admin-emails", null);
}
public double getJobCuboidSizeRatio() {
- return Double.parseDouble(getOptional("kylin.job.cuboid.size.ratio", "0.25"));
+ return Double.parseDouble(getOptional("kylin.cube.size-estimate-ratio", "0.25"));
}
public double getJobCuboidSizeMemHungryRatio() {
- return Double.parseDouble(getOptional("kylin.job.cuboid.size.memhungry.ratio", "0.05"));
+ return Double.parseDouble(getOptional("kylin.cube.size-estimate-memhungry-ratio", "0.05"));
}
public String getCubeAlgorithm() {
@@ -438,57 +438,57 @@ abstract public class KylinConfigBase implements Serializable {
}
public double getCubeAlgorithmAutoThreshold() {
- return Double.parseDouble(getOptional("kylin.cube.algorithm.auto.threshold", "7"));
+ return Double.parseDouble(getOptional("kylin.cube.algorithm.layer-or-inmem-threshold", "7"));
}
public int getCubeAlgorithmAutoMapperLimit() {
- return Integer.parseInt(getOptional("kylin.cube.algorithm.auto.mapper.limit", "500"));
+ return Integer.parseInt(getOptional("kylin.cube.algorithm.inmem-split-limit", "500"));
}
@Deprecated
public int getCubeAggrGroupMaxSize() {
- return Integer.parseInt(getOptional("kylin.cube.aggrgroup.max.size", "12"));
+ return Integer.parseInt(getOptional("kylin.cube.aggrgroup.max-size", "12"));
}
public int getCubeAggrGroupMaxCombination() {
- return Integer.parseInt(getOptional("kylin.cube.aggrgroup.max.combination", "4096"));
+ return Integer.parseInt(getOptional("kylin.cube.aggrgroup.max-combination", "4096"));
}
public boolean getCubeAggrGroupIsMandatoryOnlyValid() {
- return Boolean.parseBoolean(getOptional("kylin.cube.aggrgroup.isMandatoryOnlyValid", "false"));
+ return Boolean.parseBoolean(getOptional("kylin.cube.aggrgroup.is-mandatory-only-valid", "false"));
}
public String[] getCubeDimensionCustomEncodingFactories() {
- return getOptionalStringArray("kylin.cube.dimension.customEncodingFactories", new String[0]);
+ return getOptionalStringArray("kylin.metadata.custom-dimension-encodings", new String[0]);
}
public Map<String, String> getCubeCustomMeasureTypes() {
- return getPropertiesByPrefix("kylin.cube.measure.customMeasureType.");
+ return getPropertiesByPrefix("kylin.metadata.custom-measure-types.");
}
public int getTableSnapshotMaxMB() {
- return Integer.parseInt(getOptional("kylin.table.snapshot.max_mb", "300"));
+ return Integer.parseInt(getOptional("kylin.snapshot.max-mb", "300"));
}
public int getTrieDictionaryForestMaxTrieSizeMB() {
- return Integer.parseInt(getOptional("kylin.dictionary.forest.trie.size.max_mb", "500"));
+ return Integer.parseInt(getOptional("kylin.dictionary.forest-trie-max-mb", "500"));
}
public int getHBaseRegionCountMin() {
- return Integer.parseInt(getOptional("kylin.hbase.region.count.min", "1"));
+ return Integer.parseInt(getOptional("kylin.storage.hbase.min-region-count", "1"));
}
public int getHBaseRegionCountMax() {
- return Integer.parseInt(getOptional("kylin.hbase.region.count.max", "500"));
+ return Integer.parseInt(getOptional("kylin.storage.hbase.max-region-count", "500"));
}
// for test only
public void setHBaseHFileSizeGB(float size) {
- setProperty("kylin.hbase.hfile.size.gb", String.valueOf(size));
+ setProperty("kylin.storage.hbase.hfile-size-gb", String.valueOf(size));
}
public float getHBaseHFileSizeGB() {
- return Float.parseFloat(getOptional("kylin.hbase.hfile.size.gb", "2.0"));
+ return Float.parseFloat(getOptional("kylin.storage.hbase.hfile-size-gb", "2.0"));
}
//check KYLIN-1684, in most cases keep the default value
@@ -497,35 +497,35 @@ abstract public class KylinConfigBase implements Serializable {
}
public int getStoragePushDownLimitMax() {
- return Integer.parseInt(getOptional("kylin.query.pushdown.limit.max", "10000"));
+ return Integer.parseInt(getOptional("kylin.query.max-limit-pushdown", "10000"));
}
public int getScanThreshold() {
- return Integer.parseInt(getOptional("kylin.query.scan.threshold", "10000000"));
+ return Integer.parseInt(getOptional("kylin.query.scan-threshold", "10000000"));
}
public int getDerivedInThreshold() {
- return Integer.parseInt(getOptional("kylin.query.filter.derived_in.max", "20"));
+ return Integer.parseInt(getOptional("kylin.query.derived-filter-translation-threshold", "20"));
}
public int getBadQueryStackTraceDepth() {
- return Integer.parseInt(getOptional("kylin.query.badquery.stacktrace.depth", "10"));
+ return Integer.parseInt(getOptional("kylin.query.badquery-stacktrace-depth", "10"));
}
public int getBadQueryHistoryNum() {
- return Integer.parseInt(getOptional("kylin.query.badquery.history.num", "10"));
+ return Integer.parseInt(getOptional("kylin.query.badquery-history-number", "10"));
}
public int getBadQueryDefaultAlertingSeconds() {
- return Integer.parseInt(getOptional("kylin.query.badquery.alerting.seconds", "90"));
+ return Integer.parseInt(getOptional("kylin.query.badquery-alerting-seconds", "90"));
}
public int getBadQueryDefaultDetectIntervalSeconds() {
- return Integer.parseInt(getOptional("kylin.query.badquery.detect.interval.seconds", "60"));
+ return Integer.parseInt(getOptional("kylin.query.badquery-detect-interval", "60"));
}
public boolean getBadQueryPersistentEnabled() {
- return Boolean.parseBoolean(getOptional("kylin.query.badquery.persistent.enable", "true"));
+ return Boolean.parseBoolean(getOptional("kylin.query.badquery-persistent-enabled", "true"));
}
public String[] getQueryTransformers() {
@@ -533,84 +533,84 @@ abstract public class KylinConfigBase implements Serializable {
}
public int getCachedDictMaxEntrySize() {
- return Integer.parseInt(getOptional("kylin.dict.cache.max.entry", "3000"));
+ return Integer.parseInt(getOptional("kylin.dictionary.max-cache-entry", "3000"));
}
public int getCachedSnapshotMaxEntrySize() {
- return Integer.parseInt(getOptional("kylin.snapshot.cache.max.entry", "500"));
+ return Integer.parseInt(getOptional("kylin.snapshot.max-cache-entry", "500"));
}
public boolean getQueryRunLocalCoprocessor() {
- return Boolean.parseBoolean(getOptional("kylin.query.run.local.coprocessor", "false"));
+ return Boolean.parseBoolean(getOptional("kylin.storage.hbase.run-local-coprocessor", "false"));
}
public long getQueryDurationCacheThreshold() {
- return Long.parseLong(this.getOptional("kylin.query.cache.threshold.duration", String.valueOf(2000)));
+ return Long.parseLong(this.getOptional("kylin.query.cache-threshold-duration", String.valueOf(2000)));
}
public long getQueryScanCountCacheThreshold() {
- return Long.parseLong(this.getOptional("kylin.query.cache.threshold.scancount", String.valueOf(10 * 1024)));
+ return Long.parseLong(this.getOptional("kylin.query.cache-threshold-scan-count", String.valueOf(10 * 1024)));
}
public long getQueryMemBudget() {
- return Long.parseLong(this.getOptional("kylin.query.mem.budget", String.valueOf(3L * 1024 * 1024 * 1024)));
+ return Long.parseLong(this.getOptional("kylin.query.memory-budget", String.valueOf(3L * 1024 * 1024 * 1024)));
}
public double getQueryCoprocessorMemGB() {
- return Double.parseDouble(this.getOptional("kylin.query.coprocessor.mem.gb", "3.0"));
+ return Double.parseDouble(this.getOptional("kylin.storage.hbase.coprocessor-mem-gb", "3.0"));
}
public int getQueryCoprocessorTimeoutSeconds() {
- return Integer.parseInt(this.getOptional("kylin.query.coprocessor.timeout.seconds", "0"));
+ return Integer.parseInt(this.getOptional("kylin.storage.hbase.coprocessor-timeout-seconds", "0"));
}
public boolean isQuerySecureEnabled() {
- return Boolean.parseBoolean(this.getOptional("kylin.query.security.enabled", "true"));
+ return Boolean.parseBoolean(this.getOptional("kylin.query.security-enabled", "true"));
}
public boolean isQueryCacheEnabled() {
- return Boolean.parseBoolean(this.getOptional("kylin.query.cache.enabled", "true"));
+ return Boolean.parseBoolean(this.getOptional("kylin.query.cache-enabled", "true"));
}
public boolean isQueryIgnoreUnknownFunction() {
- return Boolean.parseBoolean(this.getOptional("kylin.query.ignore_unknown_function", "false"));
+ return Boolean.parseBoolean(this.getOptional("kylin.query.ignore-unknown-function", "false"));
}
public int getQueryScanFuzzyKeyMax() {
- return Integer.parseInt(this.getOptional("kylin.query.scan.fuzzykey.max", "200"));
+ return Integer.parseInt(this.getOptional("kylin.storage.hbase.max-fuzzykey-scan", "200"));
}
public int getQueryStorageVisitScanRangeMax() {
- return Integer.valueOf(this.getOptional("kylin.query.storage.visit.scanrange.max", "1000000"));
+ return Integer.valueOf(this.getOptional("kylin.storage.hbase.max-visit-scanrange", "1000000"));
}
public String getQueryAccessController() {
- return getOptional("kylin.query.access.controller", null);
+ return getOptional("kylin.query.access-controller", null);
}
public long getSequenceExpireTime() {
- return Long.valueOf(this.getOptional("kylin.query.sequence.expire.time", "86400000"));//default a day
+ return Long.valueOf(this.getOptional("kylin.server.sequence-sql.expire-time", "86400000"));//default a day
}
public boolean getQueryMetricsEnabled() {
- return Boolean.parseBoolean(getOptional("kylin.query.metrics.enabled", "false"));
+ return Boolean.parseBoolean(getOptional("kylin.server.query-metrics-enabled", "false"));
}
public int[] getQueryMetricsPercentilesIntervals() {
String[] dft = { "60", "300", "3600" };
- return getOptionalIntArray("kylin.query.metrics.percentiles.intervals", dft);
+ return getOptionalIntArray("kylin.server.query-metrics-percentiles-intervals", dft);
}
public String getDefaultIGTStorage() {
- return getOptional("kylin.query.storage.default.gtstorage", "org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC");
+ return getOptional("kylin.storage.hbase.gtstorage", "org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC");
}
public int getHBaseScanCacheRows() {
- return Integer.parseInt(this.getOptional("kylin.hbase.scan.cache_rows", "1024"));
+ return Integer.parseInt(this.getOptional("kylin.storage.hbase.scan-cache-rows", "1024"));
}
public boolean isGrowingDictEnabled() {
- return Boolean.parseBoolean(this.getOptional("kylin.dict.growing.enabled", "false"));
+ return Boolean.parseBoolean(this.getOptional("kylin.dictionary.growing-enabled", "false"));
}
/**
@@ -619,90 +619,90 @@ abstract public class KylinConfigBase implements Serializable {
* @return
*/
public float getKylinHBaseRegionCut() {
- return Float.valueOf(getOptional("kylin.hbase.region.cut", "5.0"));
+ return Float.valueOf(getOptional("kylin.storage.hbase.region-cut-gb", "5.0"));
}
public int getHBaseScanMaxResultSize() {
- return Integer.parseInt(this.getOptional("kylin.hbase.scan.max_result_size", "" + (5 * 1024 * 1024))); // 5 MB
+ return Integer.parseInt(this.getOptional("kylin.storage.hbase.max-scan-result-bytes", "" + (5 * 1024 * 1024))); // 5 MB
}
public int getCubingInMemSamplingPercent() {
- int percent = Integer.parseInt(this.getOptional("kylin.job.cubing.inmem.sampling.percent", "100"));
+ int percent = Integer.parseInt(this.getOptional("kylin.job.sampling-percentage", "100"));
percent = Math.max(percent, 1);
percent = Math.min(percent, 100);
return percent;
}
public String getHbaseDefaultCompressionCodec() {
- return getOptional("kylin.hbase.default.compression.codec", "none");
+ return getOptional("kylin.storage.hbase.compression-codec", "none");
}
public String getHbaseDefaultEncoding() {
- return getOptional("kylin.hbase.default.encoding", "FAST_DIFF");
+ return getOptional("kylin.storage.hbase.rowkey-encoding", "FAST_DIFF");
}
public int getHbaseDefaultBlockSize() {
- return Integer.valueOf(getOptional("kylin.hbase.default.block.size", "1048576"));
+ return Integer.valueOf(getOptional("kylin.storage.hbase.block-size-bytes", "1048576"));
}
public int getHbaseSmallFamilyBlockSize() {
- return Integer.valueOf(getOptional("kylin.hbase.small.family.block.size", "65536"));
+ return Integer.valueOf(getOptional("kylin.storage.hbase.small-family-block-size-bytes", "65536"));
}
public boolean isHiveKeepFlatTable() {
- return Boolean.parseBoolean(this.getOptional("kylin.hive.keep.flat.table", "false"));
+ return Boolean.parseBoolean(this.getOptional("kylin.source.hive.keep-flat-table", "false"));
}
public String getHiveDatabaseForIntermediateTable() {
- return this.getOptional("kylin.job.hive.database.for.intermediatetable", "default");
+ return this.getOptional("kylin.source.hive.database-for-flat-table", "default");
}
public boolean isHiveRedistributeEnabled() {
- return Boolean.parseBoolean(this.getOptional("kylin.job.hive.intermediatetable.redistribute.enabled", "true"));
+ return Boolean.parseBoolean(this.getOptional("kylin.source.hive.redistribute-flat-table", "true"));
}
public String getHiveDependencyFilterList() {
- return this.getOptional("kylin.job.dependency.filterlist", "[^,]*hive-exec[0-9.-]+[^,]*?\\.jar" + "|" + "[^,]*hive-metastore[0-9.-]+[^,]*?\\.jar" + "|" + "[^,]*hive-hcatalog-core[0-9.-]+[^,]*?\\.jar");
+ return this.getOptional("kylin.job.dependency-filter-list", "[^,]*hive-exec[0-9.-]+[^,]*?\\.jar" + "|" + "[^,]*hive-metastore[0-9.-]+[^,]*?\\.jar" + "|" + "[^,]*hive-hcatalog-core[0-9.-]+[^,]*?\\.jar");
}
public String getKylinOwner() {
- return this.getOptional("kylin.owner", "");
+ return this.getOptional("kylin.storage.hbase.owner-tag", "");
}
public String getSparkHome() {
- return getRequired("kylin.spark.home");
+ return getRequired("kylin.engine.spark.spark-home");
}
public String getSparkMaster() {
- return getRequired("kylin.spark.master");
+ return getRequired("kylin.engine.spark.spark-master");
}
public boolean isMailEnabled() {
- return Boolean.parseBoolean(getOptional("mail.enabled", "false"));
+ return Boolean.parseBoolean(getOptional("kylin.job.notification-enabled", "false"));
}
public void setMailEnabled(boolean enable) {
- setProperty("mail.enabled", "" + enable);
+ setProperty("kylin.job.notification-enabled", "" + enable);
}
public String getMailHost() {
- return getOptional("mail.host", "");
+ return getOptional("kylin.job.notification-mail-host", "");
}
public String getMailUsername() {
- return getOptional("mail.username", "");
+ return getOptional("kylin.job.notification-mail-username", "");
}
public String getMailPassword() {
- return getOptional("mail.password", "");
+ return getOptional("kylin.job.notification-mail-password", "");
}
public String getMailSender() {
- return getOptional("mail.sender", "");
+ return getOptional("kylin.job.notification-mail-sender", "");
}
public boolean isWebCrossDomainEnabled() {
- return Boolean.parseBoolean(getOptional("crossdomain.enable", "true"));
+ return Boolean.parseBoolean(getOptional("kylin.web.cross-domain-enabled", "true"));
}
public int getJobRetry() {
@@ -714,35 +714,35 @@ abstract public class KylinConfigBase implements Serializable {
}
public String getHiveClientMode() {
- return getOptional("kylin.hive.client", "cli");
+ return getOptional("kylin.source.hive.client", "cli");
}
public String getHiveBeelineParams() {
- return getOptional("kylin.hive.beeline.params", "");
+ return getOptional("kylin.source.hive.beeline-params", "");
}
public String getDeployEnv() {
- return getOptional("deploy.env", "DEV");
+ return getOptional("kylin.env", "DEV");
}
public String getInitTasks() {
- return getOptional("kylin.init.tasks");
+ return getOptional("kylin.server.init-tasks");
}
public int getDimCountDistinctMaxCardinality() {
- return Integer.parseInt(getOptional("kylin.query.dim.distinct.max", "5000000"));
+ return Integer.parseInt(getOptional("kylin.query.max-dimension-count-distinct", "5000000"));
}
public int getCubeStatsHLLPrecision() {
- return Integer.parseInt(getOptional("kylin.job.cubing.inmem.sampling.hll.precision", "14"));
+ return Integer.parseInt(getOptional("kylin.job.sampling-hll-precision", "14"));
}
public String getJobControllerLock() {
- return getOptional("kylin.job.controller.lock", "org.apache.kylin.storage.hbase.util.ZookeeperJobLock");
+ return getOptional("kylin.job.lock", "org.apache.kylin.storage.hbase.util.ZookeeperJobLock");
}
public Map<Integer, String> getJobEngines() {
- Map<Integer, String> r = convertKeyToInteger(getPropertiesByPrefix("kylin.cube.engine."));
+ Map<Integer, String> r = convertKeyToInteger(getPropertiesByPrefix("kylin.engine.provider."));
// ref constants in IEngineAware
r.put(0, "org.apache.kylin.engine.mr.MRBatchCubingEngine");
r.put(2, "org.apache.kylin.engine.mr.MRBatchCubingEngine2");
@@ -750,7 +750,7 @@ abstract public class KylinConfigBase implements Serializable {
}
public Map<Integer, String> getSourceEngines() {
- Map<Integer, String> r = convertKeyToInteger(getPropertiesByPrefix("kylin.source.engine."));
+ Map<Integer, String> r = convertKeyToInteger(getPropertiesByPrefix("kylin.source.provider."));
// ref constants in ISourceAware
r.put(0, "org.apache.kylin.source.hive.HiveSource");
r.put(1, "org.apache.kylin.source.kafka.KafkaSource");
@@ -758,7 +758,7 @@ abstract public class KylinConfigBase implements Serializable {
}
public Map<Integer, String> getStorageEngines() {
- Map<Integer, String> r = convertKeyToInteger(getPropertiesByPrefix("kylin.storage.engine."));
+ Map<Integer, String> r = convertKeyToInteger(getPropertiesByPrefix("kylin.storage.provider."));
// ref constants in IStorageAware
r.put(0, "org.apache.kylin.storage.hbase.HBaseStorage");
r.put(1, "org.apache.kylin.storage.hybrid.HybridStorage");
@@ -767,22 +767,22 @@ abstract public class KylinConfigBase implements Serializable {
}
public int getDefaultStorageEngine() {
- return Integer.parseInt(getOptional("kylin.default.storage.engine", "2"));
+ return Integer.parseInt(getOptional("kylin.storage.default", "2"));
}
public int getDefaultCubeEngine() {
- return Integer.parseInt(getOptional("kylin.default.cube.engine", "2"));
+ return Integer.parseInt(getOptional("kylin.engine.default", "2"));
}
public Map<Integer, String> getSchedulers() {
- Map<Integer, String> r = convertKeyToInteger(getPropertiesByPrefix("kylin.scheduler."));
+ Map<Integer, String> r = convertKeyToInteger(getPropertiesByPrefix("kylin.job.scheduler.provider."));
r.put(0, "org.apache.kylin.job.impl.threadpool.DefaultScheduler");
r.put(2, "org.apache.kylin.job.impl.threadpool.DistributedScheduler");
return r;
}
public Integer getSchedulerType() {
- return Integer.parseInt(getOptional("kylin.enable.scheduler", "0"));
+ return Integer.parseInt(getOptional("kylin.job.scheduler.default", "0"));
}
private Map<Integer, String> convertKeyToInteger(Map<String, String> map) {
@@ -794,7 +794,7 @@ abstract public class KylinConfigBase implements Serializable {
}
public boolean getCompressionResult() {
- return Boolean.parseBoolean(getOptional("kylin.query.endpoint.compression.result", "true"));
+ return Boolean.parseBoolean(getOptional("kylin.storage.hbase.endpoint-compress-result", "true"));
}
public Map<String, String> getUDFs() {
@@ -803,45 +803,45 @@ abstract public class KylinConfigBase implements Serializable {
}
public int getHBaseMaxConnectionThreads() {
- return Integer.parseInt(getOptional("kylin.query.hbase.hconnection.threads.max", "2048"));
+ return Integer.parseInt(getOptional("kylin.storage.hbase.max-hconnection-threads", "2048"));
}
public int getHBaseCoreConnectionThreads() {
- return Integer.parseInt(getOptional("kylin.query.hbase.hconnection.threads.core", "2048"));
+ return Integer.parseInt(getOptional("kylin.storage.hbase.core-hconnection-threads", "2048"));
}
public long getHBaseConnectionThreadPoolAliveSeconds() {
- return Long.parseLong(getOptional("kylin.query.hbase.hconnection.threads.alive.seconds", "60"));
+ return Long.parseLong(getOptional("kylin.storage.hbase.hconnection-threads-alive-seconds", "60"));
}
public int getAppendDictEntrySize() {
- return Integer.parseInt(getOptional("kylin.dict.append.entry.size", "10000000"));
+ return Integer.parseInt(getOptional("kylin.dictionary.append-entry-size", "10000000"));
}
// for test
public void setAppendDictEntrySize(int entrySize) {
- setProperty("kylin.dict.append.entry.size", String.valueOf(entrySize));
+ setProperty("kylin.dictionary.append-entry-size", String.valueOf(entrySize));
}
public int getAppendDictCacheSize() {
- return Integer.parseInt(getOptional("kylin.dict.append.cache.size", "20"));
+ return Integer.parseInt(getOptional("kylin.dictionary.append-cache-size", "20"));
}
// for test
public void setAppendDictCacheSize(int cacheSize) {
- setProperty("kylin.dict.append.cache.size", String.valueOf(cacheSize));
+ setProperty("kylin.dictionary.append-cache-size", String.valueOf(cacheSize));
}
@Deprecated
public String getCreateFlatHiveTableMethod() {
- return getOptional("kylin.hive.create.flat.table.method", "1");
+ return getOptional("kylin.source.hive.create-flat-table-method", "1");
}
public int getMaxBuildingSegments() {
- return Integer.parseInt(getOptional("kylin.cube.building.segment.max", "10"));
+ return Integer.parseInt(getOptional("kylin.cube.max-building-segments", "10"));
}
public void setMaxBuildingSegments(int maxBuildingSegments) {
- setProperty("kylin.cube.building.segment.max", String.valueOf(maxBuildingSegments));
+ setProperty("kylin.cube.max-building-segments", String.valueOf(maxBuildingSegments));
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/core-common/src/main/java/org/apache/kylin/common/persistence/JsonSerializer.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/persistence/JsonSerializer.java b/core-common/src/main/java/org/apache/kylin/common/persistence/JsonSerializer.java
index 2e7768a..8f0cc51 100644
--- a/core-common/src/main/java/org/apache/kylin/common/persistence/JsonSerializer.java
+++ b/core-common/src/main/java/org/apache/kylin/common/persistence/JsonSerializer.java
@@ -1,47 +1,47 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.common.persistence;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.apache.kylin.common.util.JsonUtil;
-
-/**
- * @author yangli9
- */
-public class JsonSerializer<T extends RootPersistentEntity> implements Serializer<T> {
-
- Class<T> clz;
-
- public JsonSerializer(Class<T> clz) {
- this.clz = clz;
- }
-
- @Override
- public T deserialize(DataInputStream in) throws IOException {
- return JsonUtil.readValue(in, clz);
- }
-
- @Override
- public void serialize(T obj, DataOutputStream out) throws IOException {
- JsonUtil.writeValueIndent(out, obj);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+package org.apache.kylin.common.persistence;
+
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.kylin.common.util.JsonUtil;
+
+/**
+ * @author yangli9
+ */
+public class JsonSerializer<T extends RootPersistentEntity> implements Serializer<T> {
+
+ Class<T> clz;
+
+ public JsonSerializer(Class<T> clz) {
+ this.clz = clz;
+ }
+
+ @Override
+ public T deserialize(DataInputStream in) throws IOException {
+ return JsonUtil.readValue(in, clz);
+ }
+
+ @Override
+ public void serialize(T obj, DataOutputStream out) throws IOException {
+ JsonUtil.writeValueIndent(out, obj);
+ }
+}
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/core-common/src/main/java/org/apache/kylin/common/persistence/Serializer.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/persistence/Serializer.java b/core-common/src/main/java/org/apache/kylin/common/persistence/Serializer.java
index af32ec0..6b8b230 100644
--- a/core-common/src/main/java/org/apache/kylin/common/persistence/Serializer.java
+++ b/core-common/src/main/java/org/apache/kylin/common/persistence/Serializer.java
@@ -1,35 +1,35 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.common.persistence;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-/**
- * @author yangli9
- *
- */
-public interface Serializer<T extends RootPersistentEntity> {
-
- public void serialize(T obj, DataOutputStream out) throws IOException;
-
- public T deserialize(DataInputStream in) throws IOException;
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+package org.apache.kylin.common.persistence;
+
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+/**
+ * @author yangli9
+ *
+ */
+public interface Serializer<T extends RootPersistentEntity> {
+
+ public void serialize(T obj, DataOutputStream out) throws IOException;
+
+ public T deserialize(DataInputStream in) throws IOException;
+
+}
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/core-common/src/main/java/org/apache/kylin/common/persistence/StorageException.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/persistence/StorageException.java b/core-common/src/main/java/org/apache/kylin/common/persistence/StorageException.java
index 0517866..604941a 100644
--- a/core-common/src/main/java/org/apache/kylin/common/persistence/StorageException.java
+++ b/core-common/src/main/java/org/apache/kylin/common/persistence/StorageException.java
@@ -1,38 +1,38 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.common.persistence;
-
-/**
- *
- * @author xjiang
- *
- */
-public class StorageException extends RuntimeException {
-
- private static final long serialVersionUID = -3748712888242406257L;
-
- public StorageException(String msg, Throwable t) {
- super(msg, t);
- }
-
- public StorageException(String msg) {
- super(msg);
- }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+package org.apache.kylin.common.persistence;
+
+/**
+ *
+ * @author xjiang
+ *
+ */
+public class StorageException extends RuntimeException {
+
+ private static final long serialVersionUID = -3748712888242406257L;
+
+ public StorageException(String msg, Throwable t) {
+ super(msg, t);
+ }
+
+ public StorageException(String msg) {
+ super(msg);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java b/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
index 363cc54..269e935 100644
--- a/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
+++ b/core-common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
@@ -1,125 +1,125 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.common.restclient;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.http.HttpResponse;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.CredentialsProvider;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.util.EntityUtils;
-import org.apache.kylin.common.util.JsonUtil;
-
-/**
- * @author yangli9
- */
-public class RestClient {
-
- protected String host;
- protected int port;
- protected String baseUrl;
- protected String userName;
- protected String password;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+package org.apache.kylin.common.restclient;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.http.HttpResponse;
+import org.apache.http.auth.AuthScope;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.CredentialsProvider;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.impl.client.BasicCredentialsProvider;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.util.EntityUtils;
+import org.apache.kylin.common.util.JsonUtil;
+
+/**
+ * @author yangli9
+ */
+public class RestClient {
+
+ protected String host;
+ protected int port;
+ protected String baseUrl;
+ protected String userName;
+ protected String password;
protected DefaultHttpClient client;
-
- protected static Pattern fullRestPattern = Pattern.compile("(?:([^:]+)[:]([^@]+)[@])?([^:]+)(?:[:](\\d+))?");
-
- public static boolean matchFullRestPattern(String uri) {
- Matcher m = fullRestPattern.matcher(uri);
- return m.matches();
- }
-
- /**
- * @param uri
- * "user:pwd@host:port"
- */
- public RestClient(String uri) {
- Matcher m = fullRestPattern.matcher(uri);
- if (!m.matches())
- throw new IllegalArgumentException("URI: " + uri + " -- does not match pattern " + fullRestPattern);
-
- String user = m.group(1);
- String pwd = m.group(2);
- String host = m.group(3);
- String portStr = m.group(4);
- int port = Integer.parseInt(portStr == null ? "7070" : portStr);
-
- init(host, port, user, pwd);
- }
-
- private void init(String host, int port, String userName, String password) {
- this.host = host;
- this.port = port;
- this.userName = userName;
- this.password = password;
- this.baseUrl = "http://" + host + ":" + port + "/kylin/api";
-
+
+ protected static Pattern fullRestPattern = Pattern.compile("(?:([^:]+)[:]([^@]+)[@])?([^:]+)(?:[:](\\d+))?");
+
+ public static boolean matchFullRestPattern(String uri) {
+ Matcher m = fullRestPattern.matcher(uri);
+ return m.matches();
+ }
+
+ /**
+ * @param uri
+ * "user:pwd@host:port"
+ */
+ public RestClient(String uri) {
+ Matcher m = fullRestPattern.matcher(uri);
+ if (!m.matches())
+ throw new IllegalArgumentException("URI: " + uri + " -- does not match pattern " + fullRestPattern);
+
+ String user = m.group(1);
+ String pwd = m.group(2);
+ String host = m.group(3);
+ String portStr = m.group(4);
+ int port = Integer.parseInt(portStr == null ? "7070" : portStr);
+
+ init(host, port, user, pwd);
+ }
+
+ private void init(String host, int port, String userName, String password) {
+ this.host = host;
+ this.port = port;
+ this.userName = userName;
+ this.password = password;
+ this.baseUrl = "http://" + host + ":" + port + "/kylin/api";
+
client = new DefaultHttpClient();
-
- if (userName != null && password != null) {
+
+ if (userName != null && password != null) {
CredentialsProvider provider = new BasicCredentialsProvider();
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(userName, password);
- provider.setCredentials(AuthScope.ANY, credentials);
- client.setCredentialsProvider(provider);
- }
- }
-
- public void wipeCache(String entity, String event, String cacheKey) throws IOException {
- String url = baseUrl + "/cache/" + entity + "/" + cacheKey + "/" + event;
+ provider.setCredentials(AuthScope.ANY, credentials);
+ client.setCredentialsProvider(provider);
+ }
+ }
+
+ public void wipeCache(String entity, String event, String cacheKey) throws IOException {
+ String url = baseUrl + "/cache/" + entity + "/" + cacheKey + "/" + event;
HttpPut request = new HttpPut(url);
-
- try {
+
+ try {
HttpResponse response = client.execute(request);
String msg = EntityUtils.toString(response.getEntity());
-
+
if (response.getStatusLine().getStatusCode() != 200)
- throw new IOException("Invalid response " + response.getStatusLine().getStatusCode() + " with cache wipe url " + url + "\n" + msg);
+ throw new IOException("Invalid response " + response.getStatusLine().getStatusCode() + " with cache wipe url " + url + "\n" + msg);
} catch (Exception ex) {
- throw new IOException(ex);
- } finally {
- request.releaseConnection();
- }
- }
-
- public String getKylinProperties() throws IOException {
- String url = baseUrl + "/admin/config";
+ throw new IOException(ex);
+ } finally {
+ request.releaseConnection();
+ }
+ }
+
+ public String getKylinProperties() throws IOException {
+ String url = baseUrl + "/admin/config";
HttpGet request = new HttpGet(url);
- try {
+ try {
HttpResponse response = client.execute(request);
String msg = EntityUtils.toString(response.getEntity());
- Map<String, String> map = JsonUtil.readValueAsMap(msg);
- msg = map.get("config");
-
+ Map<String, String> map = JsonUtil.readValueAsMap(msg);
+ msg = map.get("config");
+
if (response.getStatusLine().getStatusCode() != 200)
throw new IOException("Invalid response " + response.getStatusLine().getStatusCode() + " with cache wipe url " + url + "\n" + msg);
- return msg;
- } finally {
- request.releaseConnection();
- }
- }
-
-}
+ return msg;
+ } finally {
+ request.releaseConnection();
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/core-common/src/main/java/org/apache/kylin/common/util/Array.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/util/Array.java b/core-common/src/main/java/org/apache/kylin/common/util/Array.java
index c48bb3d..7447b46 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/Array.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/Array.java
@@ -1,82 +1,82 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.common.util;
-
-import java.util.Arrays;
-
-/*
- * An array with correct equals(), hashCode(), compareTo() and toString()
- */
-public class Array<T> implements Comparable<Array<T>> {
- public T[] data;
-
- public Array(T[] data) {
- this.data = data;
- }
-
- public String toString() {
- return Arrays.toString(data);
- }
-
- @Override
- public boolean equals(Object o) {
- if (o != null && o instanceof Array) {
- return Arrays.equals(this.data, ((Array<?>) o).data);
- }
- return false;
- }
-
- @Override
- public int hashCode() {
- return Arrays.hashCode(data);
- }
-
- @Override
- public int compareTo(Array<T> other) {
- return compare(this.data, other.data, null);
- }
-
- public static boolean isEmpty(Object[] array) {
- if (array == null || array.length == 0)
- return true;
-
- for (Object o : array) {
- if (o != null)
- return false;
- }
- return true;
- }
-
- @SuppressWarnings("unchecked")
- public static <T> int compare(T[] a, T[] b, boolean[] ascending) {
- int r = 0;
- int n = Math.min(a.length, b.length);
- boolean asc = true;
-
- for (int i = 0; i < n; i++) {
- r = ((Comparable<T>) a[i]).compareTo(b[i]);
- if (r != 0) {
- asc = (ascending != null && ascending.length > i) ? ascending[i] : true;
- return asc ? r : -r;
- }
- }
- return a.length - b.length;
- }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+*/
+
+package org.apache.kylin.common.util;
+
+import java.util.Arrays;
+
+/*
+ * An array with correct equals(), hashCode(), compareTo() and toString()
+ */
+public class Array<T> implements Comparable<Array<T>> {
+ public T[] data;
+
+ public Array(T[] data) {
+ this.data = data;
+ }
+
+ public String toString() {
+ return Arrays.toString(data);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o != null && o instanceof Array) {
+ return Arrays.equals(this.data, ((Array<?>) o).data);
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return Arrays.hashCode(data);
+ }
+
+ @Override
+ public int compareTo(Array<T> other) {
+ return compare(this.data, other.data, null);
+ }
+
+ public static boolean isEmpty(Object[] array) {
+ if (array == null || array.length == 0)
+ return true;
+
+ for (Object o : array) {
+ if (o != null)
+ return false;
+ }
+ return true;
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> int compare(T[] a, T[] b, boolean[] ascending) {
+ int r = 0;
+ int n = Math.min(a.length, b.length);
+ boolean asc = true;
+
+ for (int i = 0; i < n; i++) {
+ r = ((Comparable<T>) a[i]).compareTo(b[i]);
+ if (r != 0) {
+ asc = (ascending != null && ascending.length > i) ? ascending[i] : true;
+ return asc ? r : -r;
+ }
+ }
+ return a.length - b.length;
+ }
+
+}