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 2017/01/12 04:09:38 UTC
[06/50] [abbrv] kylin git commit: KYLIN-2360 fix potential bugs
reported by Sonar
KYLIN-2360 fix potential 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/c64f55b2
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/c64f55b2
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/c64f55b2
Branch: refs/heads/master-cdh5.7
Commit: c64f55b2e34089d10c8a55301b62f96aa597d8f1
Parents: 5683954
Author: Billy Liu <bi...@apache.org>
Authored: Thu Jan 5 17:41:06 2017 +0800
Committer: Billy Liu <bi...@apache.org>
Committed: Thu Jan 5 17:41:06 2017 +0800
----------------------------------------------------------------------
.../adapter/enumerable/EnumerableWindow.java | 48 --------------------
.../apache/kylin/common/KylinConfigBase.java | 11 +++--
.../common/util/MemoryBudgetController.java | 4 +-
.../apache/kylin/common/util/ThreadUtil.java | 47 -------------------
.../org/apache/kylin/common/util/TimeUtil.java | 2 +-
.../apache/kylin/common/util/ZipFileUtils.java | 5 +-
.../kylin/cube/cli/DumpDictionaryCLI.java | 6 ++-
.../cube/inmemcubing/DoggedCubeBuilder.java | 3 ++
.../cube/inmemcubing/InMemCubeBuilder.java | 2 +
.../kylin/cube/inmemcubing/MemDiskStore.java | 1 +
.../kylin/cube/model/AggregationGroup.java | 3 +-
.../org/apache/kylin/cube/model/CubeDesc.java | 3 +-
.../apache/kylin/cube/model/DictionaryDesc.java | 4 +-
.../apache/kylin/cube/model/DimensionDesc.java | 3 +-
.../kylin/cube/model/HBaseMappingDesc.java | 3 +-
.../org/apache/kylin/cube/model/RowKeyDesc.java | 3 +-
.../kylin/cube/model/v1_4_0/CubeDesc.java | 3 +-
.../kylin/gridtable/GTAggregateScanner.java | 4 +-
.../org/apache/kylin/dict/CachedTreeMap.java | 16 +++----
.../org/apache/kylin/dict/TrieDictionary.java | 2 +-
.../apache/kylin/dict/TrieDictionaryForest.java | 2 +-
.../apache/kylin/dimension/BooleanDimEnc.java | 2 +-
.../kylin/measure/MeasureTypeFactory.java | 3 +-
.../kylin/metadata/model/FunctionDesc.java | 8 ++--
.../kylin/metadata/model/JoinTableDesc.java | 4 +-
.../kylin/metadata/model/MeasureDesc.java | 3 +-
.../metadata/model/ModelDimensionDesc.java | 9 ++--
.../kylin/metadata/model/PartitionDesc.java | 4 +-
.../apache/kylin/metadata/model/TableDesc.java | 2 +-
.../kylin/metadata/model/TableExtDesc.java | 3 +-
.../apache/kylin/metadata/model/TableRef.java | 3 +-
.../metadata/project/RealizationEntry.java | 4 +-
.../org/apache/kylin/metadata/tuple/Tuple.java | 2 +-
.../apache/kylin/metadata/tuple/TupleInfo.java | 10 ++--
.../org/apache/kylin/source/ReadableTable.java | 3 +-
.../kylin/source/datagen/ColumnGenerator.java | 2 +-
.../kylin/engine/mr/DFSFileTableReader.java | 4 +-
.../engine/mr/common/HadoopStatusGetter.java | 2 +
.../engine/mr/common/MapReduceExecutable.java | 3 +-
.../mr/steps/MapContextGTRecordWriter.java | 1 +
.../engine/mr/steps/SelfDefineSortableKey.java | 2 +-
.../apache/kylin/engine/spark/SparkCubing.java | 4 ++
.../engine/spark/cube/BufferedCuboidWriter.java | 3 ++
server-base/pom.xml | 7 ---
.../kylin/rest/request/PrepareSqlRequest.java | 3 +-
.../kylin/rest/service/BadQueryDetector.java | 5 +-
.../apache/kylin/rest/service/CubeService.java | 4 ++
.../kylin/rest/service/DiagnosisService.java | 6 ++-
.../cardinality/ColumnCardinalityMapper.java | 3 +-
source-kafka/pom.xml | 1 -
.../kylin/source/kafka/config/BrokerConfig.java | 4 +-
.../common/coprocessor/AggregationCache.java | 4 +-
.../hbase/cube/v2/ExpectedSizeIterator.java | 2 +
.../storage/hbase/util/HbaseStreamingInput.java | 2 +
.../kylin/storage/hbase/util/PingHBaseCLI.java | 1 +
.../hbase/util/ZookeeperDistributedJobLock.java | 2 +
.../org/apache/kylin/tool/CubeMetaIngester.java | 3 +-
.../org/apache/kylin/tool/DiagnosisInfoCLI.java | 1 +
.../apache/kylin/tool/HBaseUsageExtractor.java | 2 +-
59 files changed, 137 insertions(+), 169 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/atopcalcite/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableWindow.java
----------------------------------------------------------------------
diff --git a/atopcalcite/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableWindow.java b/atopcalcite/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableWindow.java
index 203ce02..547210c 100644
--- a/atopcalcite/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableWindow.java
+++ b/atopcalcite/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableWindow.java
@@ -113,54 +113,6 @@ public class EnumerableWindow extends Window implements EnumerableRel {
}
}
- private void sampleOfTheGeneratedWindowedAggregate() {
- // Here's overview of the generated code
- // For each list of rows that have the same partitioning key, evaluate
- // all of the windowed aggregate functions.
-
- // builder
- Iterator<Integer[]> iterator = null;
-
- // builder3
- Integer[] rows = iterator.next();
-
- int prevStart = -1;
- int prevEnd = -1;
-
- for (int i = 0; i < rows.length; i++) {
- // builder4
- Integer row = rows[i];
-
- int start = 0;
- int end = 100;
- if (start != prevStart || end != prevEnd) {
- // builder5
- int actualStart = 0;
- if (start != prevStart || end < prevEnd) {
- // builder6
- // recompute
- actualStart = start;
- // implementReset
- } else { // must be start == prevStart && end > prevEnd
- actualStart = prevEnd + 1;
- }
- prevStart = start;
- prevEnd = end;
-
- if (start != -1) {
- for (int j = actualStart; j <= end; j++) {
- // builder7
- // implementAdd
- }
- }
- // implementResult
- // list.add(new Xxx(row.deptno, row.empid, sum, count));
- }
- }
- // multiMap.clear(); // allows gc
- // source = Linq4j.asEnumerable(list);
- }
-
public Result implement(EnumerableRelImplementor implementor, Prefer pref) {
final JavaTypeFactory typeFactory = implementor.getTypeFactory();
final EnumerableRel child = (EnumerableRel) getInput();
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/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 bb8880b..3e6384f 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
@@ -533,10 +533,13 @@ abstract public class KylinConfigBase implements Serializable {
File home = new File(homePath);
SortedSet<String> files = Sets.newTreeSet();
if (home.exists() && home.isDirectory()) {
- for (File file : home.listFiles()) {
- final Matcher matcher = pattern.matcher(file.getName());
- if (matcher.matches()) {
- files.add(file.getAbsolutePath());
+ File[] listFiles = home.listFiles();
+ if (listFiles != null) {
+ for (File file : listFiles) {
+ final Matcher matcher = pattern.matcher(file.getName());
+ if (matcher.matches()) {
+ files.add(file.getAbsolutePath());
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-common/src/main/java/org/apache/kylin/common/util/MemoryBudgetController.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/util/MemoryBudgetController.java b/core-common/src/main/java/org/apache/kylin/common/util/MemoryBudgetController.java
index 920f8e6..ade929c 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/MemoryBudgetController.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/MemoryBudgetController.java
@@ -58,7 +58,7 @@ public class MemoryBudgetController {
public static final MemoryBudgetController ZERO_BUDGET = new MemoryBudgetController(0);
public static final int ONE_MB = 1024 * 1024;
- public static final long ONE_GB = 1024 * 1024 * 1024;
+ public static final long ONE_GB = 1024 * 1024 * 1024L;
private static final Logger logger = LoggerFactory.getLogger(MemoryBudgetController.class);
@@ -119,6 +119,7 @@ public class MemoryBudgetController {
try {
lock.wait();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new NotEnoughBudgetException(e);
}
}
@@ -256,6 +257,7 @@ public class MemoryBudgetController {
lastMB = thisMB;
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
logger.error("", e);
return getSystemAvailMB();
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-common/src/main/java/org/apache/kylin/common/util/ThreadUtil.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/util/ThreadUtil.java b/core-common/src/main/java/org/apache/kylin/common/util/ThreadUtil.java
deleted file mode 100644
index aebbc57..0000000
--- a/core-common/src/main/java/org/apache/kylin/common/util/ThreadUtil.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.common.util;
-
-import java.util.concurrent.Future;
-import java.util.concurrent.SynchronousQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-
-/**
- */
-public class ThreadUtil {
- @SuppressWarnings("unused")
- public static void main(String[] args) {
- ThreadPoolExecutor pool = new ThreadPoolExecutor(1, Integer.MAX_VALUE, 60, TimeUnit.SECONDS, new SynchronousQueue<Runnable>());//Threads.newDaemonThreadFactory("htable"));
-
- for (int i = 0; i < Integer.MAX_VALUE; ++i) {
- System.out.println("index: " + i);
- Future<?> future = pool.submit(new Runnable() {
- @Override
- public void run() {
- try {
- Thread.sleep(10000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- });
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-common/src/main/java/org/apache/kylin/common/util/TimeUtil.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/util/TimeUtil.java b/core-common/src/main/java/org/apache/kylin/common/util/TimeUtil.java
index d3d4283..7a24c10 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/TimeUtil.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/TimeUtil.java
@@ -26,7 +26,7 @@ import java.util.TimeZone;
public class TimeUtil {
private static TimeZone gmt = TimeZone.getTimeZone("GMT");
- private static long ONE_MINUTE_TS = 60 * 1000;
+ private static long ONE_MINUTE_TS = 60 * 1000L;
private static long ONE_HOUR_TS = 60 * ONE_MINUTE_TS;
private static long ONE_DAY_TS = 24 * ONE_HOUR_TS;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/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 7ee770d..a2326ee 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
@@ -77,7 +77,10 @@ public class ZipFileUtils {
}
private static void compressDirectoryToZipfile(String rootDir, String sourceDir, ZipOutputStream out) throws IOException {
- for (File sourceFile : new File(sourceDir).listFiles()) {
+ File[] files = new File(sourceDir).listFiles();
+ if (files == null)
+ return;
+ for (File sourceFile : files) {
if (sourceFile.isDirectory()) {
compressDirectoryToZipfile(rootDir, sourceDir + normDir(sourceFile.getName()), out);
} else {
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/cube/cli/DumpDictionaryCLI.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/cli/DumpDictionaryCLI.java b/core-cube/src/main/java/org/apache/kylin/cube/cli/DumpDictionaryCLI.java
index 24daddf..729a6da 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/cli/DumpDictionaryCLI.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/cli/DumpDictionaryCLI.java
@@ -38,7 +38,11 @@ public class DumpDictionaryCLI {
public static void dump(File f) throws IOException {
if (f.isDirectory()) {
- for (File c : f.listFiles())
+ File[] files = f.listFiles();
+ if (files == null) {
+ return;
+ }
+ for (File c : files)
dump(c);
return;
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/DoggedCubeBuilder.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/DoggedCubeBuilder.java b/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/DoggedCubeBuilder.java
index 413c448..a9211da 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/DoggedCubeBuilder.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/DoggedCubeBuilder.java
@@ -180,6 +180,7 @@ public class DoggedCubeBuilder extends AbstractInMemCubeBuilder {
try {
split.join();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
errors.add(e);
}
if (split.exception != null)
@@ -221,6 +222,7 @@ public class DoggedCubeBuilder extends AbstractInMemCubeBuilder {
return false;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
@@ -239,6 +241,7 @@ public class DoggedCubeBuilder extends AbstractInMemCubeBuilder {
last.join();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilder.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilder.java b/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilder.java
index 66a444e..85a694f 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilder.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/InMemCubeBuilder.java
@@ -205,6 +205,7 @@ public class InMemCubeBuilder extends AbstractInMemCubeBuilder {
for (Thread t : threads)
t.join();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new IOException("interrupted while waiting task and output complete", e);
}
}
@@ -531,6 +532,7 @@ public class InMemCubeBuilder extends AbstractInMemCubeBuilder {
try {
currentObject = input.take();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
return currentObject != null && currentObject.size() > 0;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java b/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java
index 3cfaed7..81403ab 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java
@@ -603,6 +603,7 @@ public class MemDiskStore implements IGTStore, Closeable {
} catch (NullPointerException npe) {
// that's fine, async flusher may not present
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
logger.warn("async join interrupted", e);
}
synchronized (lock) {
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java b/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java
index 9bd082f..1d4d496 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java
@@ -18,6 +18,7 @@
package org.apache.kylin.cube.model;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
@@ -35,7 +36,7 @@ import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
@JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
-public class AggregationGroup {
+public class AggregationGroup implements Serializable{
public static class HierarchyMask {
public long fullMask; // 00000111
public long[] allMasks; // 00000100,00000110,00000111
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/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 4686a15..556cc72 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
@@ -825,7 +825,8 @@ public class CubeDesc extends RootPersistentEntity implements IEngineAware {
Array<TblColRef> hostColArray = new Array<TblColRef>(hostCols);
List<DeriveInfo> infoList = hostToDerivedMap.get(hostColArray);
if (infoList == null) {
- hostToDerivedMap.put(hostColArray, infoList = new ArrayList<DeriveInfo>());
+ infoList = new ArrayList<DeriveInfo>();
+ hostToDerivedMap.put(hostColArray, infoList);
}
// Merged duplicated derived column
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/cube/model/DictionaryDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/DictionaryDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/DictionaryDesc.java
index f471f9f..fb7053e 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/DictionaryDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/DictionaryDesc.java
@@ -26,8 +26,10 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.io.Serializable;
+
@JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
-public class DictionaryDesc {
+public class DictionaryDesc implements Serializable{
@JsonProperty("column")
private String column;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/cube/model/DimensionDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/DimensionDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/DimensionDesc.java
index cd75228..29fd6c3 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/DimensionDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/DimensionDesc.java
@@ -18,6 +18,7 @@
package org.apache.kylin.cube.model;
+import java.io.Serializable;
import java.util.Arrays;
import org.apache.commons.lang.NotImplementedException;
@@ -35,7 +36,7 @@ import com.google.common.base.Objects;
/**
*/
@JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
-public class DimensionDesc {
+public class DimensionDesc implements Serializable {
@JsonProperty("name")
private String name;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
index 2ef1e17..84d87de 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/HBaseMappingDesc.java
@@ -18,6 +18,7 @@
package org.apache.kylin.cube.model;
+import java.io.Serializable;
import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedList;
@@ -33,7 +34,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
/**
*/
@JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
-public class HBaseMappingDesc {
+public class HBaseMappingDesc implements Serializable{
@JsonProperty("column_family")
private HBaseColumnFamilyDesc[] columnFamily;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/cube/model/RowKeyDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/RowKeyDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/RowKeyDesc.java
index f1a403d..1bd06d2 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/RowKeyDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/RowKeyDesc.java
@@ -18,6 +18,7 @@
package org.apache.kylin.cube.model;
+import java.io.Serializable;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
@@ -35,7 +36,7 @@ import com.google.common.base.Objects;
/**
*/
@JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
-public class RowKeyDesc {
+public class RowKeyDesc implements Serializable{
@JsonProperty("rowkey_columns")
private RowKeyColDesc[] rowkeyColumns;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/cube/model/v1_4_0/CubeDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/v1_4_0/CubeDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/v1_4_0/CubeDesc.java
index bd73bc8..4019e4f 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/v1_4_0/CubeDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/v1_4_0/CubeDesc.java
@@ -630,7 +630,8 @@ public class CubeDesc extends RootPersistentEntity {
Map<String, TblColRef> cols = columnMap.get(ref.getTable());
if (cols == null) {
- columnMap.put(ref.getTable(), cols = new HashMap<String, TblColRef>());
+ cols = new HashMap<String, TblColRef>();
+ columnMap.put(ref.getTable(), cols);
}
cols.put(ref.getName(), ref);
return ref;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-cube/src/main/java/org/apache/kylin/gridtable/GTAggregateScanner.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/gridtable/GTAggregateScanner.java b/core-cube/src/main/java/org/apache/kylin/gridtable/GTAggregateScanner.java
index 9bbcd10..55c04c6 100644
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTAggregateScanner.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTAggregateScanner.java
@@ -99,7 +99,7 @@ public class GTAggregateScanner implements IGTScanner {
public static long estimateSizeOf(MeasureAggregator[] aggrs) {
// size of array, AggregationCacheMemSizeTest reports 4 for [0], 12 for [1], 12 for [2], 20 for [3] etc..
// Memory alignment to 8 bytes
- long est = (aggrs.length + 1) / 2 * 8 + 4 + (4 /* extra */);
+ long est = (aggrs.length + 1) / 2 * 8L + 4 + (4 /* extra */);
for (MeasureAggregator aggr : aggrs) {
if (aggr != null)
est += aggr.getMemBytesEstimate();
@@ -110,7 +110,7 @@ public class GTAggregateScanner implements IGTScanner {
public static long estimateSizeOf(byte[] bytes) {
// AggregationCacheMemSizeTest reports 20 for byte[10] and 20 again for byte[16]
// Memory alignment to 8 bytes
- return (bytes.length + 7) / 8 * 8 + 4 + (4 /* extra */);
+ return (bytes.length + 7) / 8 * 8L + 4 + (4 /* extra */);
}
public void trackMemoryLevel(MemoryWaterLevel tracker) {
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-dictionary/src/main/java/org/apache/kylin/dict/CachedTreeMap.java
----------------------------------------------------------------------
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/CachedTreeMap.java b/core-dictionary/src/main/java/org/apache/kylin/dict/CachedTreeMap.java
index 6acf764..3be4fd7 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/CachedTreeMap.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/CachedTreeMap.java
@@ -269,7 +269,7 @@ public class CachedTreeMap<K extends WritableComparable, V extends Writable> ext
}
public void commit(boolean keepAppend) throws IOException {
- assert this.keepAppend & !immutable : "Only support commit method with immutable false and keepAppend true";
+ assert this.keepAppend && !immutable : "Only support commit method with immutable false and keepAppend true";
Path newVersionDir = new Path(baseDir, VERSION_PREFIX + System.currentTimeMillis());
if (keepAppend) {
@@ -312,7 +312,7 @@ public class CachedTreeMap<K extends WritableComparable, V extends Writable> ext
}
String fileName = generateFileName(key);
Path filePath = new Path(fileName);
- try (FSDataOutputStream out = fs.create(filePath, true, BUFFER_SIZE, (short) 5, BUFFER_SIZE * 8)) {
+ try (FSDataOutputStream out = fs.create(filePath, true, BUFFER_SIZE, (short) 5, BUFFER_SIZE * 8L)) {
value.write(out);
} catch (Exception e) {
logger.error(String.format("write value into %s exception: %s", fileName, e), e);
@@ -350,7 +350,7 @@ public class CachedTreeMap<K extends WritableComparable, V extends Writable> ext
@Override
public V put(K key, V value) {
- assert keepAppend & !immutable : "Only support put method with immutable false and keepAppend true";
+ assert keepAppend && !immutable : "Only support put method with immutable false and keepAppend true";
super.put(key, null);
valueCache.put(key, value);
return null;
@@ -362,7 +362,7 @@ public class CachedTreeMap<K extends WritableComparable, V extends Writable> ext
try {
return valueCache.get((K) key);
} catch (ExecutionException e) {
- logger.error(String.format("get value with key %s exception: ", key, e), e);
+ logger.error(String.format("get value with key %s exception: %s", key, e), e);
return null;
}
} else {
@@ -372,7 +372,7 @@ public class CachedTreeMap<K extends WritableComparable, V extends Writable> ext
@Override
public V remove(Object key) {
- assert keepAppend & !immutable : "Only support remove method with immutable false keepAppend true";
+ assert keepAppend && !immutable : "Only support remove method with immutable false keepAppend true";
super.remove(key);
valueCache.invalidate(key);
return null;
@@ -421,21 +421,21 @@ public class CachedTreeMap<K extends WritableComparable, V extends Writable> ext
try {
return (V) valueCache.get(currentKey);
} catch (ExecutionException e) {
- logger.error(String.format("get value with key %s exception: ", currentKey, e), e);
+ logger.error(String.format("get value with key %s exception: %s", currentKey, e), e);
return null;
}
}
@Override
public void remove() {
- assert keepAppend & !immutable : "Only support remove method with immutable false and keepAppend true";
+ assert keepAppend && !immutable : "Only support remove method with immutable false and keepAppend true";
keyIterator.remove();
valueCache.invalidate(currentKey);
}
}
public FSDataOutputStream openIndexOutput() throws IOException {
- assert keepAppend & !immutable : "Only support write method with immutable false and keepAppend true";
+ assert keepAppend && !immutable : "Only support write method with immutable false and keepAppend true";
Path indexPath = new Path(getCurrentDir(), ".index");
return fs.create(indexPath, true, 8 * 1024 * 1024, (short) 5, 8 * 1024 * 1024 * 8);
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionary.java
----------------------------------------------------------------------
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionary.java b/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionary.java
index 957207e..8e7f5dc 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionary.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionary.java
@@ -107,7 +107,7 @@ public class TrieDictionary<T> extends CacheDictionary<T> {
this.bytesConvert = ClassUtil.forName(converterName, BytesConverter.class).newInstance();
this.nValues = BytesUtil.readUnsigned(trieBytes, headSize + sizeChildOffset, sizeNoValuesBeneath);
- this.sizeOfId = BytesUtil.sizeForValue(baseId + nValues + 1); // note baseId could raise 1 byte in ID space, +1 to reserve all 0xFF for NULL case
+ this.sizeOfId = BytesUtil.sizeForValue(baseId + nValues + 1L); // note baseId could raise 1 byte in ID space, +1 to reserve all 0xFF for NULL case
this.childOffsetMask = ~((long) (BIT_IS_LAST_CHILD | BIT_IS_END_OF_VALUE) << ((sizeChildOffset - 1) * 8));
this.firstByteOffset = sizeChildOffset + sizeNoValuesBeneath + 1; // the offset from begin of node to its first value byte
enableCache();
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryForest.java
----------------------------------------------------------------------
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryForest.java b/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryForest.java
index 065c3df..69b4b9c 100755
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryForest.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryForest.java
@@ -91,7 +91,7 @@ public class TrieDictionaryForest<T> extends CacheDictionary<T> {
return 1;
int maxOffset = accuOffset.get(accuOffset.size() - 1);
TrieDictionary<T> lastTree = trees.get(trees.size() - 1);
- int sizeOfId = BytesUtil.sizeForValue(baseId + maxOffset + lastTree.getMaxId() + 1);
+ int sizeOfId = BytesUtil.sizeForValue(baseId + maxOffset + lastTree.getMaxId() + 1L);
return sizeOfId;
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/dimension/BooleanDimEnc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/dimension/BooleanDimEnc.java b/core-metadata/src/main/java/org/apache/kylin/dimension/BooleanDimEnc.java
index c3f4c11..08fbe51 100644
--- a/core-metadata/src/main/java/org/apache/kylin/dimension/BooleanDimEnc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/dimension/BooleanDimEnc.java
@@ -63,7 +63,7 @@ public class BooleanDimEnc extends DimensionEncoding {
// ============================================================================
- private static int fixedLen = 1;
+ private int fixedLen = 1;
//no-arg constructor is required for Externalizable
public BooleanDimEnc() {
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/measure/MeasureTypeFactory.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/measure/MeasureTypeFactory.java b/core-metadata/src/main/java/org/apache/kylin/measure/MeasureTypeFactory.java
index 694459b..8e58858 100644
--- a/core-metadata/src/main/java/org/apache/kylin/measure/MeasureTypeFactory.java
+++ b/core-metadata/src/main/java/org/apache/kylin/measure/MeasureTypeFactory.java
@@ -142,7 +142,8 @@ abstract public class MeasureTypeFactory<T> {
registerUDAF(factory);
List<MeasureTypeFactory<?>> list = factories.get(funcName);
if (list == null)
- factories.put(funcName, list = Lists.newArrayListWithCapacity(2));
+ list = Lists.newArrayListWithCapacity(2);
+ factories.put(funcName, list);
list.add(factory);
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
index 4d89e1a..184c290 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
@@ -95,7 +95,8 @@ public class FunctionDesc {
}
}
- parameter.setColRefs(colRefs);
+ if(parameter != null)
+ parameter.setColRefs(colRefs);
}
private void reInitMeasureType() {
@@ -265,10 +266,7 @@ public class FunctionDesc {
if (other.parameter != null)
return false;
} else {
- if (parameter == null) {
- if (other.parameter != null)
- return false;
- } else if (!parameter.equals(other.parameter))
+ if (!parameter.equals(other.parameter))
return false;
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinTableDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinTableDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinTableDesc.java
index 5d0409a..513217e 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinTableDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinTableDesc.java
@@ -25,8 +25,10 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.io.Serializable;
+
@JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
-public class JoinTableDesc {
+public class JoinTableDesc implements Serializable{
@JsonProperty("table")
private String table;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
index 253b06b..6ddbbf4 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/MeasureDesc.java
@@ -18,6 +18,7 @@
package org.apache.kylin.metadata.model;
+import java.io.Serializable;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
@@ -29,7 +30,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
*/
@JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
-public class MeasureDesc {
+public class MeasureDesc implements Serializable{
@JsonProperty("name")
private String name;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/metadata/model/ModelDimensionDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ModelDimensionDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ModelDimensionDesc.java
index 6460f71..bd3dfef 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ModelDimensionDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ModelDimensionDesc.java
@@ -18,6 +18,7 @@
package org.apache.kylin.metadata.model;
+import java.io.Serializable;
import java.util.List;
import org.apache.kylin.common.util.StringUtil;
@@ -28,7 +29,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
/**
*/
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
-public class ModelDimensionDesc {
+public class ModelDimensionDesc implements Serializable{
@JsonProperty("table")
private String table;
@JsonProperty("columns")
@@ -58,8 +59,10 @@ public class ModelDimensionDesc {
if (model != null) {
table = model.findTable(table).getAlias();
- for (int i = 0; i < columns.length; i++) {
- columns[i] = model.findColumn(table, columns[i]).getName();
+ if (columns != null) {
+ for (int i = 0; i < columns.length; i++) {
+ columns[i] = model.findColumn(table, columns[i]).getName();
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/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 9925990..bab3ec3 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
@@ -27,10 +27,12 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.io.Serializable;
+
/**
*/
@JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
-public class PartitionDesc {
+public class PartitionDesc implements Serializable{
public static enum PartitionType {
APPEND, //
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
index e845da1..e4fc4c3 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableDesc.java
@@ -130,7 +130,7 @@ public class TableDesc extends RootPersistentEntity implements ISourceAware {
this.name = splits[0];
}
} else {
- this.name = name;
+ this.name = null;
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableExtDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableExtDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableExtDesc.java
index 97dd2c1..7ed3368 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableExtDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableExtDesc.java
@@ -18,6 +18,7 @@
package org.apache.kylin.metadata.model;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -181,7 +182,7 @@ public class TableExtDesc extends RootPersistentEntity {
}
@JsonIgnoreProperties(ignoreUnknown = true)
- public static class ColumnStats implements Comparable<ColumnStats> {
+ public static class ColumnStats implements Comparable<ColumnStats>, Serializable {
@JsonBackReference
private TableExtDesc tableExtDesc;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableRef.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableRef.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableRef.java
index 7089eba..9837ff4 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableRef.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TableRef.java
@@ -18,13 +18,14 @@
package org.apache.kylin.metadata.model;
+import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import com.google.common.collect.Maps;
-public class TableRef {
+public class TableRef implements Serializable{
final private DataModelDesc model;
final private String alias;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/metadata/project/RealizationEntry.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/project/RealizationEntry.java b/core-metadata/src/main/java/org/apache/kylin/metadata/project/RealizationEntry.java
index 84e5fd5..421f802 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/project/RealizationEntry.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/project/RealizationEntry.java
@@ -23,10 +23,12 @@ import org.apache.kylin.metadata.realization.RealizationType;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.io.Serializable;
+
/**
*/
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
-public class RealizationEntry {
+public class RealizationEntry implements Serializable{
@JsonProperty("type")
private RealizationType type;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java b/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
index d51ae9e..b50a7e4 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
@@ -213,7 +213,7 @@ public class Tuple implements ITuple {
case "float":
return Float.valueOf(strValue);
case "boolean":
- return Boolean.valueOf(strValue) | "1".equals(strValue); // in some extended encodings boolean might be encoded as a number
+ return Boolean.valueOf(strValue) || "1".equals(strValue); // in some extended encodings boolean might be encoded as a number
default:
return strValue;
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/TupleInfo.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/TupleInfo.java b/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/TupleInfo.java
index 8970124..c3e88b5 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/TupleInfo.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/TupleInfo.java
@@ -93,10 +93,12 @@ public class TupleInfo {
else
columns.add(index, col);
- if (dataTypeNames.size() > index)
- dataTypeNames.set(index, col.getColumnDesc().getUpgradedType().getName());
- else
- dataTypeNames.add(index, col.getColumnDesc().getUpgradedType().getName());
+ if (col != null) {
+ if (dataTypeNames.size() > index)
+ dataTypeNames.set(index, col.getColumnDesc().getUpgradedType().getName());
+ else
+ dataTypeNames.add(index, col.getColumnDesc().getUpgradedType().getName());
+ }
}
public List<String> getAllFields() {
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java b/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
index 8ea96de..c62f1fe 100644
--- a/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
+++ b/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
@@ -20,6 +20,7 @@ package org.apache.kylin.source;
import java.io.Closeable;
import java.io.IOException;
+import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
@@ -59,7 +60,7 @@ public interface ReadableTable {
// ============================================================================
@JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
- public class TableSignature {
+ public class TableSignature implements Serializable{
@JsonProperty("path")
private String path;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/core-metadata/src/main/java/org/apache/kylin/source/datagen/ColumnGenerator.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/source/datagen/ColumnGenerator.java b/core-metadata/src/main/java/org/apache/kylin/source/datagen/ColumnGenerator.java
index 7c54714..f086ae9 100644
--- a/core-metadata/src/main/java/org/apache/kylin/source/datagen/ColumnGenerator.java
+++ b/core-metadata/src/main/java/org/apache/kylin/source/datagen/ColumnGenerator.java
@@ -195,7 +195,7 @@ public class ColumnGenerator {
private long randomMillis() {
int secondsInYear = 3600 * 24 * 365;
- long year = randStart + rand.nextInt(randEnd - randStart) - 1970;
+ long year = randStart + rand.nextInt(randEnd - randStart) - 1970L;
long second = year * secondsInYear + rand.nextInt(secondsInYear);
return second * 1000;
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTableReader.java
----------------------------------------------------------------------
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTableReader.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTableReader.java
index 67fedbd..847f4bf 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTableReader.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTableReader.java
@@ -88,7 +88,7 @@ public class DFSFileTableReader implements TableReader {
try {
for (FileStatus f : allFiles) {
- RowReader rowReader = new SeqRowReader(HadoopUtil.getCurrentConfiguration(), fs, f.getPath().toString());
+ RowReader rowReader = new SeqRowReader(HadoopUtil.getCurrentConfiguration(), f.getPath().toString());
this.readerList.add(rowReader);
}
} catch (IOException e) {
@@ -208,7 +208,7 @@ public class DFSFileTableReader implements TableReader {
Writable key;
Text value;
- SeqRowReader(Configuration hconf, FileSystem fs, String path) throws IOException {
+ SeqRowReader(Configuration hconf, String path) throws IOException {
reader = new Reader(hconf, SequenceFile.Reader.file(new Path(path)));
key = (Writable) ReflectionUtils.newInstance(reader.getKeyClass(), hconf);
value = new Text();
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopStatusGetter.java
----------------------------------------------------------------------
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopStatusGetter.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopStatusGetter.java
index 7dcb73e..1107aa5 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopStatusGetter.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/HadoopStatusGetter.java
@@ -150,6 +150,7 @@ public class HadoopStatusGetter {
logger.debug("Job " + mrJobId + " check redirect url " + url + ".\n");
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
logger.error(e.getMessage());
} finally {
httpget.releaseConnection();
@@ -212,6 +213,7 @@ public class HadoopStatusGetter {
logger.debug("Job " + mrJobId + " check redirect url " + url + ".\n");
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
logger.error(e.getMessage());
} finally {
get.releaseConnection();
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
----------------------------------------------------------------------
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
index a26d4ff..be11e39 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
@@ -84,6 +84,7 @@ public class MapReduceExecutable extends AbstractExecutable {
logger.warn("error get hadoop status");
super.onExecuteStart(executableContext);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
logger.warn("error get hadoop status");
super.onExecuteStart(executableContext);
}
@@ -171,7 +172,7 @@ public class MapReduceExecutable extends AbstractExecutable {
return new ExecuteResult(ExecuteResult.State.FAILED, output.toString());
}
}
- Thread.sleep(context.getConfig().getYarnStatusCheckIntervalSeconds() * 1000);
+ Thread.sleep(context.getConfig().getYarnStatusCheckIntervalSeconds() * 1000L);
}
// try to kill running map-reduce job to release resources.
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/MapContextGTRecordWriter.java
----------------------------------------------------------------------
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/MapContextGTRecordWriter.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/MapContextGTRecordWriter.java
index aedf541..d183f90 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/MapContextGTRecordWriter.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/MapContextGTRecordWriter.java
@@ -41,6 +41,7 @@ public class MapContextGTRecordWriter extends KVGTRecordWriter {
try {
mapContext.write(key, value);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new IOException(e);
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/SelfDefineSortableKey.java
----------------------------------------------------------------------
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/SelfDefineSortableKey.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/SelfDefineSortableKey.java
index b804eef..74525d3 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/SelfDefineSortableKey.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/SelfDefineSortableKey.java
@@ -60,7 +60,7 @@ public class SelfDefineSortableKey implements WritableComparable<SelfDefineSorta
byte[] data2 = o.text.getBytes();
String str1 = new String(data1, 1, data1.length - 1);
String str2 = new String(data2, 1, data2.length - 1);
- if (str1 == null || str1.equals("") || str2 == null || str2.equals("")) {
+ if (str1.equals("") || str2.equals("")) {
//should not achieve here
logger.error("none numeric value!");
return 0;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCubing.java
----------------------------------------------------------------------
diff --git a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCubing.java b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCubing.java
index 6e894dd..4ec5048 100644
--- a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCubing.java
+++ b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCubing.java
@@ -167,6 +167,9 @@ public class SparkCubing extends AbstractApplication {
return false;
}
});
+ if (files == null) {
+ return;
+ }
for (File file : files) {
sc.addFile(file.getAbsolutePath());
}
@@ -341,6 +344,7 @@ public class SparkCubing extends AbstractApplication {
Dictionary<String> dict = cubeSegment.getDictionary(col);
if (dict == null) {
System.err.println("Dictionary for " + col + " was not found.");
+ continue;
}
dictionaryMap.put(col, dict);
System.out.println("col:" + col + " dictionary size:" + dict.getSize());
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/engine-spark/src/main/java/org/apache/kylin/engine/spark/cube/BufferedCuboidWriter.java
----------------------------------------------------------------------
diff --git a/engine-spark/src/main/java/org/apache/kylin/engine/spark/cube/BufferedCuboidWriter.java b/engine-spark/src/main/java/org/apache/kylin/engine/spark/cube/BufferedCuboidWriter.java
index 8cc0792..b3334b7 100644
--- a/engine-spark/src/main/java/org/apache/kylin/engine/spark/cube/BufferedCuboidWriter.java
+++ b/engine-spark/src/main/java/org/apache/kylin/engine/spark/cube/BufferedCuboidWriter.java
@@ -44,6 +44,7 @@ public class BufferedCuboidWriter implements SparkCuboidWriter {
try {
blockingQueue.put(tupleConverter.convert(cuboidId, record));
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
@@ -57,6 +58,7 @@ public class BufferedCuboidWriter implements SparkCuboidWriter {
try {
blockingQueue.put(new Tuple2(new byte[0], new byte[0]));
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
@@ -75,6 +77,7 @@ public class BufferedCuboidWriter implements SparkCuboidWriter {
try {
current = blockingQueue.take();
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/server-base/pom.xml
----------------------------------------------------------------------
diff --git a/server-base/pom.xml b/server-base/pom.xml
index e75e683..1147008 100644
--- a/server-base/pom.xml
+++ b/server-base/pom.xml
@@ -126,13 +126,6 @@
<artifactId>aspectjweaver</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.kafka</groupId>
- <artifactId>kafka_2.10</artifactId>
- <version>${kafka.version}</version>
- <scope>provided</scope>
- </dependency>
-
<!-- Test & Env -->
<dependency>
<groupId>org.apache.kylin</groupId>
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/server-base/src/main/java/org/apache/kylin/rest/request/PrepareSqlRequest.java
----------------------------------------------------------------------
diff --git a/server-base/src/main/java/org/apache/kylin/rest/request/PrepareSqlRequest.java b/server-base/src/main/java/org/apache/kylin/rest/request/PrepareSqlRequest.java
index 95bc2f5..e296248 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/request/PrepareSqlRequest.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/request/PrepareSqlRequest.java
@@ -18,6 +18,7 @@
package org.apache.kylin.rest.request;
+import java.io.Serializable;
import java.util.Arrays;
/**
@@ -40,7 +41,7 @@ public class PrepareSqlRequest extends SQLRequest {
this.params = params;
}
- public static class StateParam {
+ public static class StateParam implements Serializable{
private String className;
private String value;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/server-base/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java
----------------------------------------------------------------------
diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java b/server-base/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java
index 2b85e69..64f91b1 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/BadQueryDetector.java
@@ -52,7 +52,7 @@ public class BadQueryDetector extends Thread {
super("BadQueryDetector");
this.setDaemon(true);
this.kylinConfig = KylinConfig.getInstanceFromEnv();
- this.detectionInterval = kylinConfig.getBadQueryDefaultDetectIntervalSeconds() * 1000;
+ this.detectionInterval = kylinConfig.getBadQueryDefaultDetectIntervalSeconds() * 1000L;
this.alertMB = 100;
this.alertRunningSec = kylinConfig.getBadQueryDefaultAlertingSeconds();
@@ -118,6 +118,7 @@ public class BadQueryDetector extends Thread {
try {
Thread.sleep(detectionInterval);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
// stop detection and exit
return;
}
@@ -208,7 +209,7 @@ public class BadQueryDetector extends Thread {
@Override
public void badQueryFound(String adj, float runningSec, long startTime, String project, String sql, String user, Thread t) {
try {
- long cachingSeconds = (kylinConfig.getBadQueryDefaultAlertingSeconds() + 1) * 30;
+ long cachingSeconds = (kylinConfig.getBadQueryDefaultAlertingSeconds() + 1) * 30L;
Pair<Long, String> sqlPair = new Pair<>(startTime, sql);
if (!cacheQueue.contains(sqlPair)) {
badQueryManager.addEntryToProject(sql, startTime, adj, runningSec, serverHostname, t.getName(), user, project);
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
----------------------------------------------------------------------
diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
index 23aa5a4..d28c87c 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java
@@ -455,6 +455,10 @@ public class CubeService extends BasicService {
}
}
+ if(toDelete == null){
+ throw new IllegalArgumentException("Cannot find segment '" + segmentName +"'");
+ }
+
if (toDelete.getStatus() != SegmentStatusEnum.READY) {
throw new IllegalArgumentException("Cannot delete segment '" + segmentName + "' as its status is not READY. Discard the on-going job for it.");
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/server-base/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java
----------------------------------------------------------------------
diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java b/server-base/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java
index dee5531..8208596 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/DiagnosisService.java
@@ -45,7 +45,11 @@ public class DiagnosisService extends BasicService {
}
private String getDiagnosisPackageName(File destDir) {
- for (File subDir : destDir.listFiles()) {
+ File[] files = destDir.listFiles();
+ if (files == null) {
+ throw new RuntimeException("Diagnosis package is not available in directory: " + destDir.getAbsolutePath());
+ }
+ for (File subDir : files) {
if (subDir.isDirectory()) {
for (File file : subDir.listFiles()) {
if (file.getName().endsWith(".zip")) {
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/ColumnCardinalityMapper.java
----------------------------------------------------------------------
diff --git a/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/ColumnCardinalityMapper.java b/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/ColumnCardinalityMapper.java
index f046f78..145ed31 100644
--- a/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/ColumnCardinalityMapper.java
+++ b/source-hive/src/main/java/org/apache/kylin/source/hive/cardinality/ColumnCardinalityMapper.java
@@ -80,8 +80,7 @@ public class ColumnCardinalityMapper<T> extends KylinMapper<T, Object, IntWritab
System.out.println("Get row " + counter + " column '" + field + "' value: " + fieldValue);
}
- if (fieldValue != null)
- getHllc(m).add(Bytes.toBytes(fieldValue.toString()));
+ getHllc(m).add(Bytes.toBytes(fieldValue.toString()));
}
counter++;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/source-kafka/pom.xml
----------------------------------------------------------------------
diff --git a/source-kafka/pom.xml b/source-kafka/pom.xml
index d59c257..e43894d 100644
--- a/source-kafka/pom.xml
+++ b/source-kafka/pom.xml
@@ -51,7 +51,6 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>${commons-lang3.version}</version>
</dependency>
<!-- Env & Test -->
<dependency>
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/source-kafka/src/main/java/org/apache/kylin/source/kafka/config/BrokerConfig.java
----------------------------------------------------------------------
diff --git a/source-kafka/src/main/java/org/apache/kylin/source/kafka/config/BrokerConfig.java b/source-kafka/src/main/java/org/apache/kylin/source/kafka/config/BrokerConfig.java
index add825b..fc3bba0 100644
--- a/source-kafka/src/main/java/org/apache/kylin/source/kafka/config/BrokerConfig.java
+++ b/source-kafka/src/main/java/org/apache/kylin/source/kafka/config/BrokerConfig.java
@@ -21,10 +21,12 @@ package org.apache.kylin.source.kafka.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.io.Serializable;
+
/**
*/
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
-public class BrokerConfig {
+public class BrokerConfig implements Serializable{
@JsonProperty("id")
private int id;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/AggregationCache.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/AggregationCache.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/AggregationCache.java
index 06cdbba..2a85894 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/AggregationCache.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/AggregationCache.java
@@ -29,7 +29,7 @@ import com.google.common.collect.Maps;
*/
@SuppressWarnings("rawtypes")
public abstract class AggregationCache {
- static final long MEMORY_USAGE_CAP = 500 * 1024 * 1024; // 500 MB
+ static final long MEMORY_USAGE_CAP = 500 * 1024 * 1024L; // 500 MB
static final long MEMOERY_MAX_BYTES = Runtime.getRuntime().maxMemory();
protected final Map<AggrKey, MeasureAggregator[]> aggBufMap;
transient int rowMemBytes;
@@ -75,7 +75,7 @@ public abstract class AggregationCache {
}
}
int size = aggBufMap.size();
- long memUsage = (40 + rowMemBytes) * size;
+ long memUsage = (40L + rowMemBytes) * size;
if (memUsage > MEMORY_USAGE_CAP) {
throw new RuntimeException("Kylin coprocessor memory usage goes beyond cap, (40 + " + rowMemBytes + ") * " + size + " > " + MEMORY_USAGE_CAP + ". Abort coprocessor.");
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/ExpectedSizeIterator.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/ExpectedSizeIterator.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/ExpectedSizeIterator.java
index 2d574bd..59fe9e0 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/ExpectedSizeIterator.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/ExpectedSizeIterator.java
@@ -74,6 +74,7 @@ class ExpectedSizeIterator implements Iterator<byte[]> {
return ret;
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException("Error when waiting queue", e);
}
}
@@ -87,6 +88,7 @@ class ExpectedSizeIterator implements Iterator<byte[]> {
try {
queue.put(data);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException("error when waiting queue", e);
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HbaseStreamingInput.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HbaseStreamingInput.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HbaseStreamingInput.java
index e26c8e8..1db60fb 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HbaseStreamingInput.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HbaseStreamingInput.java
@@ -116,6 +116,7 @@ public class HbaseStreamingInput {
logger.warn("There are another " + waiting + " batches waiting to be added");
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
e.printStackTrace();
}
@@ -166,6 +167,7 @@ public class HbaseStreamingInput {
logger.warn("Too many queries to handle! Blocking " + waiting + " sets of scan requests");
}
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
e.printStackTrace();
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/PingHBaseCLI.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/PingHBaseCLI.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/PingHBaseCLI.java
index e219c5a..1ea8e8d 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/PingHBaseCLI.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/PingHBaseCLI.java
@@ -51,6 +51,7 @@ public class PingHBaseCLI {
System.out.println("--------------Getting kerberos credential for user " + UserGroupInformation.getCurrentUser().getUserName());
TokenUtil.obtainAndCacheToken(hconf, UserGroupInformation.getCurrentUser());
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
System.out.println("--------------Error while getting kerberos credential for user " + UserGroupInformation.getCurrentUser().getUserName());
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedJobLock.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedJobLock.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedJobLock.java
index 613d783..5a44cc1 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedJobLock.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedJobLock.java
@@ -141,6 +141,8 @@ public class ZookeeperDistributedJobLock implements DistributedJobLock {
} catch (Exception e) {
logger.error("fail to get the serverName for the path: " + lockPath, e);
}
+ if(lockServerName == null)
+ return false;
return lockServerName.equalsIgnoreCase(serverName);
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java
----------------------------------------------------------------------
diff --git a/tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java b/tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java
index 40cbf32..b4c44c3 100644
--- a/tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java
+++ b/tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java
@@ -20,6 +20,7 @@ package org.apache.kylin.tool;
import java.io.File;
import java.io.IOException;
+import java.util.Arrays;
import java.util.Set;
import org.apache.commons.cli.Option;
@@ -126,7 +127,7 @@ public class CubeMetaIngester extends AbstractApplication {
tempFolder.mkdir();
ZipFileUtils.decompressZipfileToDirectory(srcPath, tempFolder);
if (tempFolder.list().length != 1) {
- throw new IllegalStateException(tempFolder.list().toString());
+ throw new IllegalStateException(Arrays.toString(tempFolder.list()));
}
injest(tempFolder.listFiles()[0].getAbsoluteFile());
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
----------------------------------------------------------------------
diff --git a/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java b/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
index 94fccf8..e1f994f 100644
--- a/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
+++ b/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java
@@ -231,6 +231,7 @@ public class DiagnosisInfoCLI extends AbstractInfoExtractor {
try {
executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.MINUTES);
} catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
throw new RuntimeException("Diagnosis info dump interrupted.", e);
}
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/c64f55b2/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java
----------------------------------------------------------------------
diff --git a/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java b/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java
index f993155..0d8c08f 100644
--- a/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java
+++ b/tool/src/main/java/org/apache/kylin/tool/HBaseUsageExtractor.java
@@ -51,7 +51,7 @@ import com.google.common.collect.Lists;
public class HBaseUsageExtractor extends AbstractInfoExtractor {
- private static final Logger logger = LoggerFactory.getLogger(CubeMetaExtractor.class);
+ private static final Logger logger = LoggerFactory.getLogger(HBaseUsageExtractor.class);
@SuppressWarnings("static-access")
private static final Option OPTION_CUBE = OptionBuilder.withArgName("cube").hasArg().isRequired(false).withDescription("Specify which cube to extract").create("cube");
@SuppressWarnings("static-access")