You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by bi...@apache.org on 2017/03/11 17:17:31 UTC
[14/14] kylin git commit: KYLIN-2360 fix bugs reported by Sonar
KYLIN-2360 fix bugs reported by Sonar
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/28d66fc6
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/28d66fc6
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/28d66fc6
Branch: refs/heads/KYLIN-2360
Commit: 28d66fc6565e48c95dbf15b3ddc2602c4872a89b
Parents: 181b6c5
Author: Billy Liu <bi...@apache.org>
Authored: Wed Mar 8 22:10:46 2017 -0800
Committer: Billy Liu <bi...@apache.org>
Committed: Sat Mar 11 09:17:02 2017 -0800
----------------------------------------------------------------------
.../org/apache/kylin/common/KylinConfig.java | 35 --------------------
.../kylin/common/util/HiveCmdBuilder.java | 5 ++-
.../apache/kylin/common/util/SparkEntry.java | 2 +-
.../apache/kylin/common/util/ZipFileUtils.java | 10 ++++--
.../java/org/apache/kylin/cube/CubeSegment.java | 3 +-
.../org/apache/kylin/cube/CubeValidator.java | 4 +++
.../org/apache/kylin/cube/kv/CubeDimEncMap.java | 2 +-
.../org/apache/kylin/cube/model/CubeDesc.java | 2 +-
.../validation/rule/AggregationGroupRule.java | 2 +-
.../kylin/dimension/IDimensionEncodingMap.java | 2 +-
.../apache/kylin/metadata/MetadataManager.java | 5 ++-
.../metadata/model/IJoinedFlatTableDesc.java | 2 +-
.../apache/kylin/metadata/model/JoinsTree.java | 2 +-
.../kylin/metadata/model/PartitionDesc.java | 2 +-
.../spark/SparkBatchCubingJobBuilder2.java | 6 ++--
.../kylin/engine/spark/SparkExecutable.java | 3 +-
.../kylin/query/schema/OLAPSchemaFactory.java | 6 +++-
.../rest/controller/StreamingController.java | 3 ++
.../kylin/storage/hbase/util/RowCounterCLI.java | 30 ++++++++++-------
.../kylin/storage/hdfs/HDFSResourceStore.java | 4 +--
.../apache/kylin/tool/CubeMetaExtractor.java | 2 +-
21 files changed, 61 insertions(+), 71 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
index c6b1511..9c7e12e 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfig.java
@@ -24,10 +24,8 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.PrintWriter;
import java.io.StringReader;
import java.nio.charset.Charset;
-import java.util.Enumeration;
import java.util.Map;
import java.util.Properties;
@@ -361,39 +359,6 @@ public class KylinConfig extends KylinConfigBase {
return this.base() == ((KylinConfig) another).base();
}
- public static void writeOverrideProperties(Properties properties) throws IOException {
- File propFile = getKylinPropertiesFile();
- File overrideFile = new File(propFile.getParentFile(), propFile.getName() + ".override");
- overrideFile.createNewFile();
- FileInputStream fis2 = null;
- Properties override = new Properties();
- try {
- fis2 = new FileInputStream(overrideFile);
- override.load(fis2);
- for (Map.Entry<Object, Object> entries : properties.entrySet()) {
- override.setProperty(entries.getKey().toString(), entries.getValue().toString());
- }
- } catch (IOException e) {
- throw new RuntimeException(e);
- } finally {
- IOUtils.closeQuietly(fis2);
- }
-
- PrintWriter pw = null;
- try {
- pw = new PrintWriter(overrideFile);
- Enumeration<?> e = override.propertyNames();
- while (e.hasMoreElements()) {
- String key = (String) e.nextElement();
- pw.println(key + "=" + override.getProperty(key));
- }
- pw.close();
- } finally {
- IOUtils.closeQuietly(pw);
- }
-
- }
-
private static void dumpStackTrace() {
//uncomment below to start debugging
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
index 5942ba9..0ec2d36 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java
@@ -62,9 +62,11 @@ public class HiveCmdBuilder {
break;
case BEELINE:
BufferedWriter bw = null;
+ FileWriter fw = null;
try {
File tmpHql = File.createTempFile("beeline_", ".hql");
- bw = new BufferedWriter(new FileWriter(tmpHql));
+ fw = new FileWriter(tmpHql);
+ bw = new BufferedWriter(fw);
for (String statement : statements) {
bw.write(statement);
bw.newLine();
@@ -84,6 +86,7 @@ public class HiveCmdBuilder {
throw new RuntimeException(e);
} finally {
IOUtils.closeQuietly(bw);
+ IOUtils.closeQuietly(fw);
}
break;
default:
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-common/src/main/java/org/apache/kylin/common/util/SparkEntry.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/util/SparkEntry.java b/core-common/src/main/java/org/apache/kylin/common/util/SparkEntry.java
index ce11b91..b26959f 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/SparkEntry.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/SparkEntry.java
@@ -28,7 +28,7 @@ public final class SparkEntry {
if (!(args.length >= 2)) {
throw new IllegalArgumentException(String.valueOf("-className is required"));
}
- if (!(args[0].equals("-className"))) {
+ if (!("-className".equals(args[0]))) {
throw new IllegalArgumentException(String.valueOf("-className is required"));
}
final String className = args[1];
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java b/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java
index a2326ee..6f6d13d 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/ZipFileUtils.java
@@ -40,18 +40,23 @@ public class ZipFileUtils {
throw new RuntimeException("Zipfile must end with .zip");
}
ZipOutputStream zipFile = null;
+ FileOutputStream fos = null;
try {
- zipFile = new ZipOutputStream(new FileOutputStream(zipFilename));
+ fos = new FileOutputStream(zipFilename);
+ zipFile = new ZipOutputStream(fos);
compressDirectoryToZipfile(normDir(new File(sourceDir).getParent()), normDir(sourceDir), zipFile);
} finally {
IOUtils.closeQuietly(zipFile);
+ IOUtils.closeQuietly(fos);
}
}
public static void decompressZipfileToDirectory(String zipFileName, File outputFolder) throws IOException {
ZipInputStream zipInputStream = null;
+ FileInputStream fis = null;
try {
- zipInputStream = new ZipInputStream(new FileInputStream(zipFileName));
+ fis = new FileInputStream(zipFileName);
+ zipInputStream = new ZipInputStream(fis);
ZipEntry zipEntry = null;
while ((zipEntry = zipInputStream.getNextEntry()) != null) {
logger.info("decompressing " + zipEntry.getName() + " is directory:" + zipEntry.isDirectory() + " available: " + zipInputStream.available());
@@ -73,6 +78,7 @@ public class ZipFileUtils {
}
} finally {
IOUtils.closeQuietly(zipInputStream);
+ IOUtils.closeQuietly(fis);
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java
index 45310f0..835accc 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java
@@ -19,6 +19,7 @@
package org.apache.kylin.cube;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
@@ -99,7 +100,7 @@ public class CubeSegment implements Comparable<CubeSegment>, IBuildable, ISegmen
private ConcurrentHashMap<String, String> snapshots; // table name ==> snapshot resource path
@JsonProperty("rowkey_stats")
- private List<Object[]> rowkeyStats = Lists.newArrayList();
+ private ArrayList<Object[]> rowkeyStats = Lists.newArrayList();
@JsonProperty("source_partition_offset_start")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-cube/src/main/java/org/apache/kylin/cube/CubeValidator.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeValidator.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeValidator.java
index f94752f..7fbfca0 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeValidator.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeValidator.java
@@ -95,6 +95,10 @@ public class CubeValidator {
// for all other segments, sourceOffset SHOULD fit/connect other segments
for (CubeSegment seg : news) {
Pair<Boolean, Boolean> pair = fitInSegments(all, seg);
+ if(pair == null) {
+ logger.warn("Empty segment found, ignore");
+ continue;
+ }
boolean startFit = pair.getFirst();
boolean endFit = pair.getSecond();
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-cube/src/main/java/org/apache/kylin/cube/kv/CubeDimEncMap.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/kv/CubeDimEncMap.java b/core-cube/src/main/java/org/apache/kylin/cube/kv/CubeDimEncMap.java
index bd9554a..84048ecb 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/kv/CubeDimEncMap.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/kv/CubeDimEncMap.java
@@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory;
import java.util.Map;
-public class CubeDimEncMap implements IDimensionEncodingMap, java.io.Serializable {
+public class CubeDimEncMap implements IDimensionEncodingMap {
private static final Logger logger = LoggerFactory.getLogger(CubeDimEncMap.class);
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
index c1469fe..f0955b5 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
@@ -440,7 +440,7 @@ public class CubeDesc extends RootPersistentEntity implements IEngineAware {
}
public int getBuildLevel() {
- if (aggregationGroups == null || aggregationGroups.size() == 0)
+ if (aggregationGroups == null || aggregationGroups.isEmpty())
throw new IllegalStateException("Cube has no aggregation group.");
return Collections.max(Collections2.transform(aggregationGroups, new Function<AggregationGroup, Integer>() {
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
index c9e2d28..5d51bc7 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
@@ -50,7 +50,7 @@ public class AggregationGroupRule implements IValidatorRule<CubeDesc> {
private void inner(CubeDesc cube, ValidateContext context) {
- if (cube.getAggregationGroups() == null || cube.getAggregationGroups().size() == 0) {
+ if (cube.getAggregationGroups() == null || cube.getAggregationGroups().isEmpty()) {
context.addResult(ResultLevel.ERROR, "Cube should have at least one Aggregation group.");
return;
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-metadata/src/main/java/org/apache/kylin/dimension/IDimensionEncodingMap.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/dimension/IDimensionEncodingMap.java b/core-metadata/src/main/java/org/apache/kylin/dimension/IDimensionEncodingMap.java
index 4df4701..fb25c1e 100644
--- a/core-metadata/src/main/java/org/apache/kylin/dimension/IDimensionEncodingMap.java
+++ b/core-metadata/src/main/java/org/apache/kylin/dimension/IDimensionEncodingMap.java
@@ -30,7 +30,7 @@ import org.apache.kylin.metadata.model.TblColRef;
* hard to enumerate all values of a encoding, thus TupleFilterDictionaryTranslater
* cannot work on DimensionEncoding.
*/
-public interface IDimensionEncodingMap {
+public interface IDimensionEncodingMap extends java.io.Serializable {
/** Get dimension encoding of a column */
DimensionEncoding get(TblColRef col);
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
index 9427ace..8a02c59 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java
@@ -261,15 +261,14 @@ public class MetadataManager {
String path = desc.getResourcePath();
getStore().putResource(path, desc, EXTERNAL_FILTER_DESC_SERIALIZER);
desc = reloadExternalFilterAt(path);
- extFilterMap.put(desc.getName(), desc);
-
+ if(desc != null)
+ extFilterMap.put(desc.getName(), desc);
}
public void removeExternalFilter(String name) throws IOException {
String path = ExternalFilterDesc.concatResourcePath(name);
getStore().deleteResource(path);
extFilterMap.remove(name);
-
}
private void init(KylinConfig config) throws IOException {
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-metadata/src/main/java/org/apache/kylin/metadata/model/IJoinedFlatTableDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/IJoinedFlatTableDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/IJoinedFlatTableDesc.java
index b545e50..509cd46 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/IJoinedFlatTableDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/IJoinedFlatTableDesc.java
@@ -22,7 +22,7 @@ import java.util.List;
/**
*/
-public interface IJoinedFlatTableDesc {
+public interface IJoinedFlatTableDesc extends java.io.Serializable{
String getTableName();
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java
index c7666cb..3efca2a 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java
@@ -30,7 +30,7 @@ import com.google.common.base.Preconditions;
public class JoinsTree implements Serializable {
private static final long serialVersionUID = 1L;
- final Map<String, Chain> tableChains = new LinkedHashMap<>();
+ final HashMap<String, Chain> tableChains = new LinkedHashMap<>();
public JoinsTree(TableRef rootTable, List<JoinDesc> joins) {
for (JoinDesc join : joins) {
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
index 38c2de5..19c58fd 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/PartitionDesc.java
@@ -173,7 +173,7 @@ public class PartitionDesc implements Serializable {
// ============================================================================
- public static interface IPartitionConditionBuilder {
+ public static interface IPartitionConditionBuilder extends java.io.Serializable{
String buildDateRangeCondition(PartitionDesc partDesc, long startInclusive, long endExclusive);
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkBatchCubingJobBuilder2.java
----------------------------------------------------------------------
diff --git a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkBatchCubingJobBuilder2.java b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkBatchCubingJobBuilder2.java
index e0b3e6c..a72999e 100644
--- a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkBatchCubingJobBuilder2.java
+++ b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkBatchCubingJobBuilder2.java
@@ -74,11 +74,11 @@ public class SparkBatchCubingJobBuilder2 extends BatchCubingJobBuilder2 {
}
- private String findJar(String className, String perferLibraryName) {
+ private String findJar(String className, String preferLibraryName) {
try {
- return ClassUtil.findContainingJar(Class.forName(className), perferLibraryName);
+ return ClassUtil.findContainingJar(Class.forName(className), preferLibraryName);
} catch (ClassNotFoundException e) {
- logger.warn("failed to locate jar for class " + className + ", ignore it");
+ logger.warn("failed to locate jar for class " + className + ", ignore it", e);
}
return "";
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkExecutable.java
----------------------------------------------------------------------
diff --git a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkExecutable.java b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkExecutable.java
index 5ad21cf..145e3ff 100644
--- a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkExecutable.java
+++ b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkExecutable.java
@@ -80,8 +80,7 @@ public class SparkExecutable extends AbstractExecutable {
String jars = this.getParam(JARS);
//hadoop conf dir
- String hadoopConf = null;
- hadoopConf = System.getProperty("kylin.hadoop.conf.dir");
+ String hadoopConf = System.getProperty("kylin.hadoop.conf.dir");
if (StringUtils.isEmpty(hadoopConf)) {
throw new RuntimeException("kylin_hadoop_conf_dir is empty, check if there's error in the output of 'kylin.sh start'");
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/query/src/main/java/org/apache/kylin/query/schema/OLAPSchemaFactory.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/schema/OLAPSchemaFactory.java b/query/src/main/java/org/apache/kylin/query/schema/OLAPSchemaFactory.java
index 132e65a..ffa2ee7 100644
--- a/query/src/main/java/org/apache/kylin/query/schema/OLAPSchemaFactory.java
+++ b/query/src/main/java/org/apache/kylin/query/schema/OLAPSchemaFactory.java
@@ -33,6 +33,7 @@ import org.apache.calcite.schema.SchemaFactory;
import org.apache.calcite.schema.SchemaPlus;
import org.apache.calcite.util.ConversionUtil;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.measure.MeasureTypeFactory;
@@ -101,10 +102,11 @@ public class OLAPSchemaFactory implements SchemaFactory {
}
}
+ FileWriter out = null;
try {
File tmp = File.createTempFile("olap_model_", ".json");
- FileWriter out = new FileWriter(tmp);
+ out = new FileWriter(tmp);
out.write("{\n");
out.write(" \"version\": \"1.0\",\n");
out.write(" \"defaultSchema\": \"" + majoritySchemaName + "\",\n");
@@ -138,6 +140,8 @@ public class OLAPSchemaFactory implements SchemaFactory {
} catch (IOException e) {
throw new RuntimeException(e);
+ } finally {
+ IOUtils.closeQuietly(out);
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/server-base/src/main/java/org/apache/kylin/rest/controller/StreamingController.java
----------------------------------------------------------------------
diff --git a/server-base/src/main/java/org/apache/kylin/rest/controller/StreamingController.java b/server-base/src/main/java/org/apache/kylin/rest/controller/StreamingController.java
index 407ee2e..6e096b0 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/controller/StreamingController.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/controller/StreamingController.java
@@ -108,6 +108,9 @@ public class StreamingController extends BasicController {
StreamingConfig streamingConfig = deserializeSchemalDesc(streamingRequest);
KafkaConfig kafkaConfig = deserializeKafkaSchemalDesc(streamingRequest);
+ if(streamingConfig == null || kafkaConfig == null){
+ return streamingRequest;
+ }
boolean saveStreamingSuccess = false, saveKafkaSuccess = false;
try {
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/RowCounterCLI.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/RowCounterCLI.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/RowCounterCLI.java
index db516bb..ed6da72 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/RowCounterCLI.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/RowCounterCLI.java
@@ -21,6 +21,7 @@ package org.apache.kylin.storage.hbase.util;
import java.io.IOException;
import java.util.Iterator;
+import org.apache.commons.io.IOUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
@@ -43,6 +44,7 @@ public class RowCounterCLI {
if (args == null || args.length != 3) {
System.out.println("Usage: hbase org.apache.hadoop.util.RunJar kylin-job-latest.jar org.apache.kylin.job.tools.RowCounterCLI [HTABLE_NAME] [STARTKEY] [ENDKEY]");
+ return;
}
System.out.println(args[0]);
@@ -71,20 +73,24 @@ public class RowCounterCLI {
logger.info("My Scan " + scan.toString());
- Connection conn = ConnectionFactory.createConnection(conf);
- Table tableInterface = conn.getTable(TableName.valueOf(htableName));
+ Connection conn = null;
+ try {
+ conn = ConnectionFactory.createConnection(conf);
+ Table tableInterface = conn.getTable(TableName.valueOf(htableName));
- Iterator<Result> iterator = tableInterface.getScanner(scan).iterator();
- int counter = 0;
- while (iterator.hasNext()) {
- iterator.next();
- counter++;
- if (counter % 1000 == 1) {
- System.out.println("number of rows: " + counter);
+ Iterator<Result> iterator = tableInterface.getScanner(scan).iterator();
+ int counter = 0;
+ while (iterator.hasNext()) {
+ iterator.next();
+ counter++;
+ if (counter % 1000 == 1) {
+ System.out.println("number of rows: " + counter);
+ }
}
+ System.out.println("number of rows: " + counter);
+ tableInterface.close();
+ }finally {
+ IOUtils.closeQuietly(conn);
}
- System.out.println("number of rows: " + counter);
- tableInterface.close();
- conn.close();
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/HDFSResourceStore.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/HDFSResourceStore.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/HDFSResourceStore.java
index 6744805..31f68e8 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/HDFSResourceStore.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hdfs/HDFSResourceStore.java
@@ -49,7 +49,7 @@ public class HDFSResourceStore extends ResourceStore {
private FileSystem fs;
- public HDFSResourceStore(KylinConfig kylinConfig) throws Exception {
+ public HDFSResourceStore(KylinConfig kylinConfig) throws IOException {
super(kylinConfig);
String metadataUrl = kylinConfig.getMetadataUrl();
int cut = metadataUrl.indexOf('@');
@@ -73,7 +73,7 @@ public class HDFSResourceStore extends ResourceStore {
}
- private void createMetaFolder(Path metaDirName, KylinConfig kylinConfig) throws Exception {
+ private void createMetaFolder(Path metaDirName, KylinConfig kylinConfig) throws IOException {
//create hdfs meta path
if (!fs.exists(metaDirName)) {
fs.mkdirs(metaDirName);
http://git-wip-us.apache.org/repos/asf/kylin/blob/28d66fc6/tool/src/main/java/org/apache/kylin/tool/CubeMetaExtractor.java
----------------------------------------------------------------------
diff --git a/tool/src/main/java/org/apache/kylin/tool/CubeMetaExtractor.java b/tool/src/main/java/org/apache/kylin/tool/CubeMetaExtractor.java
index 35831f7..4e80708 100644
--- a/tool/src/main/java/org/apache/kylin/tool/CubeMetaExtractor.java
+++ b/tool/src/main/java/org/apache/kylin/tool/CubeMetaExtractor.java
@@ -274,7 +274,7 @@ public class CubeMetaExtractor extends AbstractInfoExtractor {
objectMapper.writeValue(f, rootNode);
}
} catch (JsonProcessingException ex) {
- logger.info("cannot parse file {}", f);
+ logger.info("cannot parse file {}", f, ex);
}
}