Repository: incubator-kylin Updated Branches: refs/heads/0.8 49e722ec2 -> f17a072f3
bug fix: Memory budget Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/f17a072f Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/f17a072f Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/f17a072f Branch: refs/heads/0.8 Commit: f17a072f385921d3277ec10cda670b4e59f97e41 Parents: 49e722e Author: honma <ho...@ebay.com> Authored: Tue Jun 16 20:23:15 2015 +0800 Committer: honma <ho...@ebay.com> Committed: Tue Jun 16 20:23:15 2015 +0800 ---------------------------------------------------------------------- .../kylin/job/inmemcubing/InMemCubeBuilder.java | 47 ++++++-------------- 1 file changed, 13 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f17a072f/job/src/main/java/org/apache/kylin/job/inmemcubing/InMemCubeBuilder.java ---------------------------------------------------------------------- diff --git a/job/src/main/java/org/apache/kylin/job/inmemcubing/InMemCubeBuilder.java b/job/src/main/java/org/apache/kylin/job/inmemcubing/InMemCubeBuilder.java index 5833b0f..b9c48aa 100644 --- a/job/src/main/java/org/apache/kylin/job/inmemcubing/InMemCubeBuilder.java +++ b/job/src/main/java/org/apache/kylin/job/inmemcubing/InMemCubeBuilder.java @@ -16,32 +16,12 @@ */ package org.apache.kylin.job.inmemcubing; -import java.io.Closeable; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.BitSet; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.SortedMap; -import java.util.TreeMap; -import java.util.TreeSet; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.LinkedBlockingDeque; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; - +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import org.apache.hadoop.io.DoubleWritable; import org.apache.hadoop.io.LongWritable; import org.apache.kylin.common.hll.HyperLogLogPlusCounter; -import org.apache.kylin.common.util.ByteArray; -import org.apache.kylin.common.util.Bytes; -import org.apache.kylin.common.util.BytesUtil; -import org.apache.kylin.common.util.ImmutableBitSet; -import org.apache.kylin.common.util.Pair; +import org.apache.kylin.common.util.*; import org.apache.kylin.cube.cuboid.Cuboid; import org.apache.kylin.cube.cuboid.CuboidScheduler; import org.apache.kylin.cube.model.CubeDesc; @@ -54,19 +34,18 @@ import org.apache.kylin.metadata.model.FunctionDesc; import org.apache.kylin.metadata.model.MeasureDesc; import org.apache.kylin.metadata.model.TblColRef; import org.apache.kylin.storage.cube.CubeGridTable; -import org.apache.kylin.storage.gridtable.GTAggregateScanner; -import org.apache.kylin.storage.gridtable.GTBuilder; -import org.apache.kylin.storage.gridtable.GTInfo; -import org.apache.kylin.storage.gridtable.GTRecord; -import org.apache.kylin.storage.gridtable.GTScanRequest; -import org.apache.kylin.storage.gridtable.GridTable; -import org.apache.kylin.storage.gridtable.IGTScanner; -import org.apache.kylin.storage.gridtable.IGTStore; +import org.apache.kylin.storage.gridtable.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; +import java.io.Closeable; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.*; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; /** */ @@ -360,7 +339,7 @@ public class InMemCubeBuilder implements Runnable { private void makeMemoryBudget() { int systemAvailMB = getSystemAvailMB(); logger.info("System avail " + systemAvailMB + " MB"); - int reserve = Math.min(100, baseResult.aggrCacheMB / 3); + int reserve = Math.max(100, baseResult.aggrCacheMB / 3); logger.info("Reserve " + reserve + " MB for system basics"); int budget = systemAvailMB - reserve;