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/06/01 09:18:05 UTC

incubator-kylin git commit: KYLIN-802, InMemCubeBuilder bug fix

Repository: incubator-kylin
Updated Branches:
  refs/heads/0.8.0 450c9c1e0 -> 46d21544f


KYLIN-802, InMemCubeBuilder bug fix


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

Branch: refs/heads/0.8.0
Commit: 46d21544f7da0e49974c98f398bf662bbff0dd65
Parents: 450c9c1
Author: Yang Li <li...@apache.org>
Authored: Mon Jun 1 15:17:28 2015 +0800
Committer: Yang Li <li...@apache.org>
Committed: Mon Jun 1 15:17:28 2015 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/job/inmemcubing/InMemCubeBuilder.java  | 1 +
 .../org/apache/kylin/storage/gridtable/GTAggregateScanner.java   | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/46d21544/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 5baec0f..38318e2 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
@@ -420,6 +420,7 @@ public class InMemCubeBuilder implements Runnable {
         int mbBaseAggrCacheOnHeap = mbBefore - mbAfter;
         int mbEstimateBaseAggrCache = (int) (aggregationScanner.getEstimateSizeOfAggrCache() / MemoryBudgetController.ONE_MB);
         int mbBaseAggrCache = Math.max((int) (mbBaseAggrCacheOnHeap * 1.1), mbEstimateBaseAggrCache);
+        mbBaseAggrCache = Math.max(mbBaseAggrCache, 10); // let it be 10 MB at least
         logger.info("Base aggr cache is " + mbBaseAggrCache + " MB (heap " + mbBaseAggrCacheOnHeap + " MB, estimate " + mbEstimateBaseAggrCache + " MB)");
 
         return updateCuboidResult(baseCuboidId, baseCuboid, count, timeSpent, mbBaseAggrCache);

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/46d21544/storage/src/main/java/org/apache/kylin/storage/gridtable/GTAggregateScanner.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/gridtable/GTAggregateScanner.java b/storage/src/main/java/org/apache/kylin/storage/gridtable/GTAggregateScanner.java
index fcff4c0..b08a894 100644
--- a/storage/src/main/java/org/apache/kylin/storage/gridtable/GTAggregateScanner.java
+++ b/storage/src/main/java/org/apache/kylin/storage/gridtable/GTAggregateScanner.java
@@ -96,7 +96,9 @@ public class GTAggregateScanner implements IGTScanner {
                     Preconditions.checkArgument(keyLength == o1.length && keyLength == o2.length);
                     for (int i = 0; i < keyLength; ++i) {
                         if (compareMask[i]) {
-                            result = o1[i] - o2[i];
+                            int a = (o1[i] & 0xff);
+                            int b = (o2[i] & 0xff);
+                            result = a - b;
                             if (result == 0) {
                                 continue;
                             } else {