You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by lu...@apache.org on 2015/09/06 09:39:30 UTC
[24/50] [abbrv] incubator-kylin git commit: Don’t block cube build if couldn’t parse cube size from MR output
Don’t block cube build if couldn’t parse cube size from MR output
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/4c3381b0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/4c3381b0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/4c3381b0
Branch: refs/heads/master
Commit: 4c3381b040138640df2e082db357218f1e8772d6
Parents: 5534ccc
Author: shaofengshi <sh...@apache.org>
Authored: Fri Aug 14 11:49:11 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Fri Aug 14 11:49:11 2015 +0800
----------------------------------------------------------------------
.../job/cube/UpdateCubeInfoAfterBuildStep.java | 27 +++++++++++++-------
1 file changed, 18 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/4c3381b0/job/src/main/java/org/apache/kylin/job/cube/UpdateCubeInfoAfterBuildStep.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/cube/UpdateCubeInfoAfterBuildStep.java b/job/src/main/java/org/apache/kylin/job/cube/UpdateCubeInfoAfterBuildStep.java
index cc2b4d4..6f8febe 100644
--- a/job/src/main/java/org/apache/kylin/job/cube/UpdateCubeInfoAfterBuildStep.java
+++ b/job/src/main/java/org/apache/kylin/job/cube/UpdateCubeInfoAfterBuildStep.java
@@ -18,8 +18,6 @@
package org.apache.kylin.job.cube;
-import java.io.IOException;
-
import org.apache.commons.lang.StringUtils;
import org.apache.kylin.cube.CubeInstance;
import org.apache.kylin.cube.CubeManager;
@@ -31,7 +29,7 @@ import org.apache.kylin.job.execution.ExecutableContext;
import org.apache.kylin.job.execution.ExecuteResult;
import org.apache.kylin.job.execution.Output;
-import com.google.common.base.Preconditions;
+import java.io.IOException;
/**
* Created by qianzhou on 1/4/15.
@@ -101,19 +99,30 @@ public class UpdateCubeInfoAfterBuildStep extends AbstractExecutable {
Output baseCuboidOutput = executableManager.getOutput(getBaseCuboidStepId());
String sourceRecordsCount = baseCuboidOutput.getExtra().get(ExecutableConstants.SOURCE_RECORDS_COUNT);
- Preconditions.checkState(StringUtils.isNotEmpty(sourceRecordsCount), "Can't get cube source record count.");
- long sourceCount = Long.parseLong(sourceRecordsCount);
+ long sourceCount = 0l;
+ if (StringUtils.isNotEmpty(sourceRecordsCount)) {
+ sourceCount = Long.parseLong(sourceRecordsCount);
+ } else {
+ logger.warn("Can not get cube source record count.");
+ }
+ long sourceSize = 0l;
String sourceRecordsSize = baseCuboidOutput.getExtra().get(ExecutableConstants.SOURCE_RECORDS_SIZE);
- Preconditions.checkState(StringUtils.isNotEmpty(sourceRecordsSize), "Can't get cube source record size.");
- long sourceSize = Long.parseLong(sourceRecordsSize);
+ if (StringUtils.isNotEmpty(sourceRecordsSize)) {
+ sourceSize = Long.parseLong(sourceRecordsSize);
+ } else {
+ logger.warn("Can not get cube source record size.");
+ }
long size = 0;
boolean segmentReady = true;
if (!StringUtils.isBlank(getConvertToHfileStepId())) {
String cubeSizeString = executableManager.getOutput(getConvertToHfileStepId()).getExtra().get(ExecutableConstants.HDFS_BYTES_WRITTEN);
- Preconditions.checkState(StringUtils.isNotEmpty(cubeSizeString), "Can't get cube segment size.");
- size = Long.parseLong(cubeSizeString) / 1024;
+ if (StringUtils.isNotEmpty(cubeSizeString)) {
+ size = Long.parseLong(cubeSizeString) / 1024;
+ } else {
+ logger.warn("Can't get cube segment size.");
+ }
} else {
// for the increment & merge case, the increment segment is only built to be merged, won't serve query by itself
segmentReady = false;