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]);