minor, fix agg combination calcuation
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ac725cbd Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ac725cbd Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ac725cbd Branch: refs/heads/master Commit: ac725cbd90976652970d7ce41029e7b9d8cc1852 Parents: 0f8c21b Author: Roger Shi <rogershijich...@hotmail.com> Authored: Mon Jun 26 16:42:13 2017 +0800 Committer: Hongbin Ma <m...@kyligence.io> Committed: Mon Jun 26 17:24:29 2017 +0800 ---------------------------------------------------------------------- .../main/java/org/apache/kylin/cube/model/AggregationGroup.java | 3 +++ .../java/org/apache/kylin/cube/AggregationGroupRuleTest.java | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/ac725cbd/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java ---------------------------------------------------------------------- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java b/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java index be719be..064d657 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java @@ -320,6 +320,9 @@ public class AggregationGroup implements Serializable { normalDims.removeAll(jointDims); combination = combination * (1L << normalDims.size()); + if (cubeDesc.getConfig().getCubeAggrGroupIsMandatoryOnlyValid()) { + combination += 1; + } combination -= 1; // not include cuboid 0 } http://git-wip-us.apache.org/repos/asf/kylin/blob/ac725cbd/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java ---------------------------------------------------------------------- diff --git a/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java b/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java index d81d366..ccc3a98 100644 --- a/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java +++ b/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java @@ -58,6 +58,7 @@ public class AggregationGroupRuleTest extends LocalFileMetadataTestCase { continue; } CubeDesc desc = JsonUtil.readValue(new FileInputStream(f), CubeDesc.class); + desc.init(getTestConfig()); ValidateContext vContext = new ValidateContext(); rule.validate(desc, vContext); vContext.print(System.out); @@ -101,7 +102,7 @@ public class AggregationGroupRuleTest extends LocalFileMetadataTestCase { IValidatorRule<CubeDesc> rule = getAggregationGroupRule(); rule.validate(desc, vContext); vContext.print(System.out); - assertEquals(0, vContext.getResults().length); + assertEquals(1, vContext.getResults().length); } @Test @@ -130,7 +131,7 @@ public class AggregationGroupRuleTest extends LocalFileMetadataTestCase { IValidatorRule<CubeDesc> rule = getAggregationGroupRule(); rule.validate(desc, vContext); vContext.print(System.out); - assertEquals(1, vContext.getResults().length); + assertEquals(2, vContext.getResults().length); assertEquals("Aggregation group 0 joint dimensions has overlap with more than 1 dimensions in same hierarchy: [CATEG_LVL2_NAME, META_CATEG_NAME]", (vContext.getResults()[0].getMessage())); }