This is an automated email from the ASF dual-hosted git repository.
shaofengshi pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/2.6.x by this push:
new f003efa Check partitionDesc for null value before use it
f003efa is described below
commit f003efa2eed75f36ea3f6a673ff9dc403c9465b9
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 95d01bc..1f8e2de 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;
@@ -713,7 +714,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();
@@ -745,8 +747,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;