From 83113bc7143cabfbf442d7bd46b64708828102d6 Mon Sep 17 00:00:00 2001 From: Zhong Date: Fri, 4 May 2018 16:21:05 +0800 Subject: [PATCH] KYLIN-3366 Configure automatic enabling of cubes after a build process --- .../src/main/java/org/apache/kylin/common/KylinConfigBase.java | 4 ++++ core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java | 9 +++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index a971f14..6d574be 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -669,6 +669,10 @@ abstract public class KylinConfigBase implements Serializable { return Integer.parseInt(this.getOptional("kylin.job.metadata-persist-retry", "5")); } + public boolean isJobAutoReadyCubeEnabled() { + return Boolean.parseBoolean(getOptional("kylin.job.cube-auto-ready-enabled", "true")); + } + // ============================================================================ // SOURCE.HIVE // ============================================================================ 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 fc2ad3d..4853f30 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 @@ -839,7 +839,10 @@ public class CubeManager implements IRealizationProvider { CubeUpdate update = new CubeUpdate(cubeCopy); update.setToRemoveSegs(toRemoveSegs.toArray(new CubeSegment[toRemoveSegs.size()])) - .setToUpdateSegs(newSegCopy).setStatus(RealizationStatusEnum.READY); + .setToUpdateSegs(newSegCopy); + if (cube.getConfig().isJobAutoReadyCubeEnabled()) { + update.setStatus(RealizationStatusEnum.READY); + } updateCube(update); } @@ -889,9 +892,11 @@ public class CubeManager implements IRealizationProvider { CubeUpdate update = new CubeUpdate(cubeCopy); update.setToRemoveSegs(originalSegments) // .setToUpdateSegs(optSegCopy) // - .setStatus(RealizationStatusEnum.READY) // .setCuboids(recommendCuboids) // .setCuboidsRecommend(Sets. newHashSet()); + if (cube.getConfig().isJobAutoReadyCubeEnabled()) { + update.setStatus(RealizationStatusEnum.READY); + } updateCube(update); } -- 2.8.1