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;