You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2016/04/20 04:39:35 UTC
[3/3] kylin git commit: KYLIN-1418 Memory hungry cube should select
LAYER and INMEM cubing smartly
KYLIN-1418 Memory hungry cube should select LAYER and INMEM cubing smartly
Signed-off-by: shaofengshi <sh...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/dc1671ca
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/dc1671ca
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/dc1671ca
Branch: refs/heads/master
Commit: dc1671ca509586d7fecb81e24fddab56d5380dae
Parents: 39becdc
Author: shaofengshi <sh...@apache.org>
Authored: Wed Apr 20 10:08:09 2016 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Wed Apr 20 10:11:16 2016 +0800
----------------------------------------------------------------------
.../org/apache/kylin/engine/mr/steps/SaveStatisticsStep.java | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/dc1671ca/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/SaveStatisticsStep.java
----------------------------------------------------------------------
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/SaveStatisticsStep.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/SaveStatisticsStep.java
index e1070f4..7d5e178 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/SaveStatisticsStep.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/SaveStatisticsStep.java
@@ -92,16 +92,15 @@ public class SaveStatisticsStep extends AbstractExecutable {
} else if (AlgorithmEnum.LAYER.name().equalsIgnoreCase(algPref)) {
alg = AlgorithmEnum.LAYER;
} else {
- boolean memoryHungry = false;
+ int memoryHungryMeasures = 0;
for (MeasureDesc measure : seg.getCubeDesc().getMeasures()) {
if (measure.getFunction().getMeasureType().isMemoryHungry()) {
logger.info("This cube has memory-hungry measure " + measure.getFunction().getExpression());
- memoryHungry = true;
- break;
+ memoryHungryMeasures++;
}
}
- if (memoryHungry == true) {
+ if (memoryHungryMeasures > 4 || (kylinConf.isDevEnv() && memoryHungryMeasures > 0)) {
alg = AlgorithmEnum.LAYER;
} else if ("random".equalsIgnoreCase(algPref)) { // for testing
alg = new Random().nextBoolean() ? AlgorithmEnum.INMEM : AlgorithmEnum.LAYER;