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)