KYLIN-3150 PercentileCounter maxlength is too small

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

Branch: refs/heads/master
Commit: f73219c07f5f0d5e01d801aeb274af9cf886f261
Parents: 26bee66
Author: yiming.xu <100650...@qq.com>
Authored: Tue Jan 2 21:02:47 2018 +0800
Committer: Li Yang <liy...@apache.org>
Committed: Fri Jan 26 22:54:58 2018 +0800

----------------------------------------------------------------------
 .../kylin/measure/percentile/PercentileCounter.java     | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/f73219c0/core-metadata/src/main/java/org/apache/kylin/measure/percentile/PercentileCounter.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/percentile/PercentileCounter.java
 
b/core-metadata/src/main/java/org/apache/kylin/measure/percentile/PercentileCounter.java
index 2b5903c..33433dc 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/percentile/PercentileCounter.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/percentile/PercentileCounter.java
@@ -106,8 +106,16 @@ public class PercentileCounter implements Serializable {
     }
 
     public int maxLength() {
-        // 10KB for max length
-        return 10 * 1024;
+        switch ((int) compression) {
+        case 100:
+            return 16 * 1024;
+        case 1000:
+            return 128 * 1024;
+        case 10000:
+            return 1024 * 1024;
+        default:
+            return 16 * 1024;
+        }
     }
 
     public int peekLength(ByteBuffer in) {

Reply via email to