You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2019/12/17 08:23:03 UTC
[kylin] branch master updated: KYLIN-4259 fix potential NPE bug
reported by FindBugs (#946)
This is an automated email from the ASF dual-hosted git repository.
nic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/master by this push:
new eca8c98 KYLIN-4259 fix potential NPE bug reported by FindBugs (#946)
eca8c98 is described below
commit eca8c98ac4b7401be52b56bb4f54263123541fd4
Author: Dezhi Cai <ca...@foxmail.com>
AuthorDate: Tue Dec 17 02:22:57 2019 -0600
KYLIN-4259 fix potential NPE bug reported by FindBugs (#946)
* fix potential NPE bug reported by FindBugs
* fix potential NPE bug reported by FindBugs
---
core-common/src/main/java/org/apache/kylin/common/StorageURL.java | 2 +-
.../main/java/org/apache/kylin/metadata/model/PartitionDesc.java | 6 +++---
.../org/apache/kylin/engine/mr/common/CuboidStatsReaderUtil.java | 3 ++-
.../org/apache/kylin/rest/controller/StreamingV2Controller.java | 2 ++
4 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/core-common/src/main/java/org/apache/kylin/common/StorageURL.java b/core-common/src/main/java/org/apache/kylin/common/StorageURL.java
index f4c810f..e8f4902 100644
--- a/core-common/src/main/java/org/apache/kylin/common/StorageURL.java
+++ b/core-common/src/main/java/org/apache/kylin/common/StorageURL.java
@@ -94,7 +94,7 @@ public class StorageURL {
}
}
- this.identifier = n.isEmpty() || n==null ? "kylin_metadata" : n;
+ this.identifier = n==null || n.isEmpty() ? "kylin_metadata" : n;
this.scheme = s;
this.params = ImmutableMap.copyOf(m);
}
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 a4c4cc7..8715f7d 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
@@ -22,6 +22,7 @@ import java.io.Serializable;
import java.util.Locale;
import java.util.function.Function;
+import com.google.common.base.Preconditions;
import org.apache.commons.lang3.StringUtils;
import org.apache.kylin.common.util.ClassUtil;
import org.apache.kylin.common.util.DateFormat;
@@ -327,9 +328,8 @@ public class PartitionDesc implements Serializable {
long endExclusive = (Long) segRange.end.v;
TblColRef partitionColumn = partDesc.getPartitionDateColumnRef();
- if (partitionColumn != null) {
- partitionColumn.setQuotedFunc(func);
- }
+ Preconditions.checkNotNull(partitionColumn);
+ partitionColumn.setQuotedFunc(func);
String tableAlias = partitionColumn.getTableAlias();
String concatField = String.format(Locale.ROOT, "CONCAT(%s.YEAR,'-',%s.MONTH,'-',%s.DAY)", tableAlias,
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/CuboidStatsReaderUtil.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/CuboidStatsReaderUtil.java
index 2ef70f8..a5fbe2b 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/CuboidStatsReaderUtil.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/CuboidStatsReaderUtil.java
@@ -19,6 +19,7 @@
package org.apache.kylin.engine.mr.common;
import java.io.IOException;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -45,7 +46,7 @@ public class CuboidStatsReaderUtil {
} catch (IOException e) {
logger.warn("Fail to read statistics for cube " + cubeInstance.getName() + " due to " + e);
}
- return statisticsMerged.isEmpty() ? null : statisticsMerged;
+ return statisticsMerged == null ? Collections.emptyMap() : statisticsMerged;
}
public static Pair<Map<Long, Long>, Map<Long, Double>> readCuboidStatsAndSizeFromCube(Set<Long> cuboidIds,
diff --git a/server-base/src/main/java/org/apache/kylin/rest/controller/StreamingV2Controller.java b/server-base/src/main/java/org/apache/kylin/rest/controller/StreamingV2Controller.java
index cfd7086..45e0cda 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/controller/StreamingV2Controller.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/controller/StreamingV2Controller.java
@@ -81,6 +81,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
+import com.google.common.base.Preconditions;
/**
* StreamingController is defined as Restful API entrance for UI.
@@ -500,6 +501,7 @@ public class StreamingV2Controller extends BasicController {
throw new InternalErrorException("Failed to deal with the request:" + e.getMessage(), e);
}
+ Preconditions.checkNotNull(desc, "Failed to deserialize from TableDesc definition");
String[] dbTable = HadoopUtil.parseHiveTableName(desc.getName());
desc.setName(dbTable[1]);
desc.setDatabase(dbTable[0]);