This is an automated email from the ASF dual-hosted git repository.

shaofengshi pushed a commit to branch 3.0.x
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/3.0.x by this push:
     new cc05aa5  Check partitionDesc for null value before use it
cc05aa5 is described below

commit cc05aa50f2c288eb9a526c74564b508805806900
Author: Chester Liu <[email protected]>
AuthorDate: Wed Mar 4 16:10:25 2020 +0800

    Check partitionDesc for null value before use it
---
 core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java 
b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
index 189f738..197a9ba 100755
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
@@ -62,6 +62,7 @@ import org.apache.kylin.metadata.cachesync.CachedCrudAssist;
 import org.apache.kylin.metadata.cachesync.CaseInsensitiveStringCache;
 import org.apache.kylin.metadata.model.DataModelDesc;
 import org.apache.kylin.metadata.model.JoinDesc;
+import org.apache.kylin.metadata.model.PartitionDesc;
 import org.apache.kylin.metadata.model.SegmentRange;
 import org.apache.kylin.metadata.model.SegmentRange.TSRange;
 import org.apache.kylin.metadata.model.SegmentStatusEnum;
@@ -717,7 +718,8 @@ public class CubeManager implements IRealizationProvider {
             checkInputRanges(tsRange, segRange);
 
             // fix start/end a bit
-            if (cubeCopy.getModel().getPartitionDesc().isPartitioned()) {
+            PartitionDesc partitionDesc = 
cubeCopy.getModel().getPartitionDesc();
+            if (partitionDesc != null && partitionDesc.isPartitioned()) {
                 // if missing start, set it to where last time ends
                 if (tsRange != null && tsRange.start.v == 0) {
                     CubeDesc cubeDesc = cubeCopy.getDescriptor();
@@ -749,8 +751,8 @@ public class CubeManager implements IRealizationProvider {
             CubeInstance cubeCopy = cube.latestCopyForWrite(); // get a latest 
copy
 
             checkInputRanges(tsRange, segRange);
-
-            if (cubeCopy.getModel().getPartitionDesc().isPartitioned() == 
false) {
+            PartitionDesc partitionDesc = 
cubeCopy.getModel().getPartitionDesc();
+            if (partitionDesc == null || partitionDesc.isPartitioned() == 
false) {
                 // full build
                 tsRange = null;
                 segRange = null;

Reply via email to