You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2015/09/02 10:13:09 UTC

incubator-kylin git commit: KYLIN-972 MR_V2 build well and pass query test

Repository: incubator-kylin
Updated Branches:
  refs/heads/0.8 a79db0562 -> a7c272c6f


KYLIN-972 MR_V2 build well and pass query test


Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/a7c272c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/a7c272c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/a7c272c6

Branch: refs/heads/0.8
Commit: a7c272c6f91c31b127e2faf8018d8fb62412e5b3
Parents: a79db05
Author: Li, Yang <ya...@ebay.com>
Authored: Wed Sep 2 16:11:49 2015 +0800
Committer: Li, Yang <ya...@ebay.com>
Committed: Wed Sep 2 16:11:49 2015 +0800

----------------------------------------------------------------------
 .../org/apache/kylin/cube/CubeInstance.java     | 15 +++++---
 .../java/org/apache/kylin/cube/CubeManager.java | 39 ++++++++++----------
 .../apache/kylin/rest/service/CubeService.java  |  6 +--
 3 files changed, 31 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a7c272c6/core-cube/src/main/java/org/apache/kylin/cube/CubeInstance.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeInstance.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeInstance.java
index fcd338c..81aa4d6 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeInstance.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeInstance.java
@@ -50,6 +50,10 @@ import com.google.common.collect.Lists;
 @SuppressWarnings("serial")
 @JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
 public class CubeInstance extends RootPersistentEntity implements IRealization, IBuildable {
+    private static final int COST_WEIGHT_DIMENSION = 1;
+    private static final int COST_WEIGHT_MEASURE = 1;
+    private static final int COST_WEIGHT_LOOKUP_TABLE = 1;
+    private static final int COST_WEIGHT_INNER_JOIN = 2;
 
     public static CubeInstance create(String cubeName, String projectName, CubeDesc cubeDesc) {
         CubeInstance cubeInstance = new CubeInstance();
@@ -70,7 +74,7 @@ public class CubeInstance extends RootPersistentEntity implements IRealization,
 
         return cubeInstance;
     }
-
+    
     @JsonIgnore
     private KylinConfig config;
     @JsonProperty("name")
@@ -104,10 +108,9 @@ public class CubeInstance extends RootPersistentEntity implements IRealization,
 
     private String projectName;
 
-    private static final int COST_WEIGHT_DIMENSION = 1;
-    private static final int COST_WEIGHT_MEASURE = 1;
-    private static final int COST_WEIGHT_LOOKUP_TABLE = 1;
-    private static final int COST_WEIGHT_INNER_JOIN = 2;
+    // default constructor for jackson
+    public CubeInstance() {
+    }
 
     public List<CubeSegment> getBuildingSegments() {
         List<CubeSegment> buildingSegments = new ArrayList<CubeSegment>();
@@ -134,7 +137,7 @@ public class CubeInstance extends RootPersistentEntity implements IRealization,
         }
         return mergingSegments;
     }
-
+    
     public CubeDesc getDescriptor() {
         return CubeDescManager.getInstance(config).getCubeDesc(descName);
     }

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a7c272c6/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
----------------------------------------------------------------------
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 5cfecf1..c6f066c 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java
@@ -254,8 +254,8 @@ public class CubeManager implements IRealizationProvider {
         return cube;
     }
 
-    public CubeInstance updateCube(CubeUpdate cubeBuilder) throws IOException {
-        return updateCube(cubeBuilder, 0);
+    public CubeInstance updateCube(CubeUpdate update) throws IOException {
+        return updateCube(update, 0);
     }
 
     private boolean validateReadySegments(CubeInstance cube) {
@@ -283,22 +283,22 @@ public class CubeManager implements IRealizationProvider {
         return true;
     }
 
-    private CubeInstance updateCube(CubeUpdate cubeBuilder, int retry) throws IOException {
-        if (cubeBuilder == null || cubeBuilder.getCubeInstance() == null)
+    private CubeInstance updateCube(CubeUpdate update, int retry) throws IOException {
+        if (update == null || update.getCubeInstance() == null)
             throw new IllegalStateException();
 
-        CubeInstance cube = cubeBuilder.getCubeInstance();
+        CubeInstance cube = update.getCubeInstance();
         logger.info("Updating cube instance '" + cube.getName() + "'");
 
-        if (cubeBuilder.getToAddSegs() != null)
-            cube.getSegments().addAll(Arrays.asList(cubeBuilder.getToAddSegs()));
+        if (update.getToAddSegs() != null)
+            cube.getSegments().addAll(Arrays.asList(update.getToAddSegs()));
 
         List<String> toRemoveResources = Lists.newArrayList();
-        if (cubeBuilder.getToRemoveSegs() != null) {
+        if (update.getToRemoveSegs() != null) {
             Iterator<CubeSegment> iterator = cube.getSegments().iterator();
             while (iterator.hasNext()) {
                 CubeSegment currentSeg = iterator.next();
-                for (CubeSegment toRemoveSeg : cubeBuilder.getToRemoveSegs()) {
+                for (CubeSegment toRemoveSeg : update.getToRemoveSegs()) {
                     if (currentSeg.getUuid().equals(toRemoveSeg.getUuid())) {
                         iterator.remove();
                         toRemoveResources.add(toRemoveSeg.getStatisticsResourcePath());
@@ -308,14 +308,13 @@ public class CubeManager implements IRealizationProvider {
 
         }
 
-        if (cubeBuilder.getToUpdateSegs() != null) {
-            for (CubeSegment segment : cubeBuilder.getToUpdateSegs()) {
+        if (update.getToUpdateSegs() != null) {
+            for (CubeSegment segment : update.getToUpdateSegs()) {
                 for (int i = 0; i < cube.getSegments().size(); i++) {
                     if (cube.getSegments().get(i).getUuid().equals(segment.getUuid())) {
                         cube.getSegments().set(i, segment);
                     }
                 }
-
             }
         }
 
@@ -325,16 +324,16 @@ public class CubeManager implements IRealizationProvider {
             throw new IllegalStateException("Has invalid Ready segments in cube " + cube.getName());
         }
 
-        if (cubeBuilder.getStatus() != null) {
-            cube.setStatus(cubeBuilder.getStatus());
+        if (update.getStatus() != null) {
+            cube.setStatus(update.getStatus());
         }
 
-        if (cubeBuilder.getOwner() != null) {
-            cube.setOwner(cubeBuilder.getOwner());
+        if (update.getOwner() != null) {
+            cube.setOwner(update.getOwner());
         }
 
-        if (cubeBuilder.getCost() > 0) {
-            cube.setCost(cubeBuilder.getCost());
+        if (update.getCost() > 0) {
+            cube.setCost(update.getCost());
         }
 
         try {
@@ -347,9 +346,9 @@ public class CubeManager implements IRealizationProvider {
             }
 
             cube = reloadCubeLocal(cube.getName());
-            cubeBuilder.setCubeInstance(cube);
+            update.setCubeInstance(cube);
             retry++;
-            cube = updateCube(cubeBuilder, retry);
+            cube = updateCube(update, retry);
         }
 
         if (toRemoveResources.size() > 0) {

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a7c272c6/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/CubeService.java b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
index a5cc08f..ce51623 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
@@ -550,9 +550,9 @@ public class CubeService extends BasicService {
                 getExecutableManager().discardJob(cubingJob.getId());
             }
         }
-        CubeUpdate cubeBuilder = new CubeUpdate(cube);
-        cubeBuilder.setToRemoveSegs(cube.getSegments().toArray(new CubeSegment[cube.getSegments().size()]));
-        return CubeManager.getInstance(getConfig()).updateCube(cubeBuilder);
+        CubeUpdate update = new CubeUpdate(cube);
+        update.setToRemoveSegs(cube.getSegments().toArray(new CubeSegment[cube.getSegments().size()]));
+        return CubeManager.getInstance(getConfig()).updateCube(update);
     }
 
     @PreAuthorize(Constant.ACCESS_HAS_ROLE_MODELER + " or " + Constant.ACCESS_HAS_ROLE_ADMIN)