From 810856819915040ac8cea522516798491c0da798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=BA=E7=BA=A2=E6=B6=9B?= Date: Wed, 14 Nov 2018 22:45:11 +0800 Subject: [PATCH] fix bug:When the startTime is equal to the endTime in build request, the segment will build all data. --- core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java | 6 ++++++ .../main/java/org/apache/kylin/metadata/model/PartitionDesc.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java index d49c273..802db17 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeSegment.java @@ -398,6 +398,12 @@ public class CubeSegment implements IBuildable, ISegment, Serializable { @Override public void validate() throws IllegalStateException { + if (cubeInstance.getDescriptor().getModel().getPartitionDesc().isPartitioned()) { + if (!isOffsetCube() && dateRangeStart >= dateRangeEnd) + throw new IllegalStateException("Invalid segment, dateRangeStart(" + dateRangeStart + ") must be smaller than dateRangeEnd(" + dateRangeEnd + ") in segment " + this); + if (isOffsetCube() && sourceOffsetStart >= sourceOffsetEnd) + throw new IllegalStateException("Invalid segment, sourceOffsetStart(" + sourceOffsetStart + ") must be smaller than sourceOffsetEnd(" + sourceOffsetEnd + ") in segment " + this); + } } public String getProject() { 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 2f23bdc..dc2e7b4 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 @@ -239,7 +239,7 @@ public class PartitionDesc implements Serializable { String partitionColumnName = partitionColumn.getIdentity(); if (endExclusive <= startInclusive) { - builder.append("1=1"); + builder.append("1=0"); return; } -- 2.13.5 (Apple Git-94)