This is an automated email from the ASF dual-hosted git repository.

shaofengshi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
     new 165378b  KYLIN-3366 Configure automatic enabling of cubes after a 
build process
165378b is described below

commit 165378bb13a374fad80830ab9a5c56a45420aa7c
Author: Zhong <nju_y...@apache.org>
AuthorDate: Fri May 4 16:21:05 2018 +0800

    KYLIN-3366 Configure automatic enabling of cubes after a build process
    
    Signed-off-by: shaofengshi <shaofeng...@apache.org>
---
 .../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 c583129..816100e 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
@@ -718,6 +718,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 23dcaf3..2a56941 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
@@ -894,7 +894,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);
         }
 
@@ -944,9 +947,11 @@ public class CubeManager implements IRealizationProvider {
             CubeUpdate update = new CubeUpdate(cubeCopy);
             update.setToRemoveSegs(originalSegments) //
                     .setToUpdateSegs(optSegCopy) //
-                    .setStatus(RealizationStatusEnum.READY) //
                     .setCuboids(recommendCuboids) //
                     .setCuboidsRecommend(Sets.<Long> newHashSet());
+            if (cube.getConfig().isJobAutoReadyCubeEnabled()) {
+                update.setStatus(RealizationStatusEnum.READY);
+            }
             updateCube(update);
         }
 

Reply via email to