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 2017/02/14 09:56:27 UTC
[2/2] kylin git commit: KYLIN-2243 use 4 for dict's default length
KYLIN-2243 use 4 for dict's default length
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/c3021156
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/c3021156
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/c3021156
Branch: refs/heads/master
Commit: c3021156dba2e7a6c685e3d8240b8dff3a3c4814
Parents: a5326fc
Author: shaofengshi <sh...@apache.org>
Authored: Tue Feb 14 17:54:19 2017 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Tue Feb 14 17:56:22 2017 +0800
----------------------------------------------------------------------
.../src/main/java/org/apache/kylin/cube/CubeDescManager.java | 2 +-
.../main/java/org/apache/kylin/dimension/DictionaryDimEnc.java | 2 ++
.../java/org/apache/kylin/measure/topn/TopNCounterSerializer.java | 3 ++-
3 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/c3021156/core-cube/src/main/java/org/apache/kylin/cube/CubeDescManager.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeDescManager.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeDescManager.java
index dfc8f73..1bf7e97 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/CubeDescManager.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeDescManager.java
@@ -254,7 +254,7 @@ public class CubeDescManager {
String encoding = configuration.get(TopNMeasureType.CONFIG_ENCODING_PREFIX + parameter.getValue());
String encodingVersionStr = configuration.get(TopNMeasureType.CONFIG_ENCODING_VERSION_PREFIX + parameter.getValue());
if (StringUtils.isEmpty(encoding) || DictionaryDimEnc.ENCODING_NAME.equals(encoding)) {
- keyLength += 6; // estimation for dict encoding
+ keyLength += DictionaryDimEnc.MAX_ENCODING_LENGTH; // estimation for dict encoding
} else {
// non-dict encoding
int encodingVersion = 1;
http://git-wip-us.apache.org/repos/asf/kylin/blob/c3021156/core-metadata/src/main/java/org/apache/kylin/dimension/DictionaryDimEnc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/dimension/DictionaryDimEnc.java b/core-metadata/src/main/java/org/apache/kylin/dimension/DictionaryDimEnc.java
index 48238dc..8244152 100644
--- a/core-metadata/src/main/java/org/apache/kylin/dimension/DictionaryDimEnc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/dimension/DictionaryDimEnc.java
@@ -36,6 +36,8 @@ public class DictionaryDimEnc extends DimensionEncoding {
public static final String ENCODING_NAME = "dict";
+ public static final int MAX_ENCODING_LENGTH = 4; // won't exceed integer's length
+
// ============================================================================
// could use a lazy loading trick here, to prevent loading all dictionaries of a segment at once
http://git-wip-us.apache.org/repos/asf/kylin/blob/c3021156/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNCounterSerializer.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNCounterSerializer.java b/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNCounterSerializer.java
index c35bd30..77a69cf 100644
--- a/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNCounterSerializer.java
+++ b/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNCounterSerializer.java
@@ -23,6 +23,7 @@ import java.util.Iterator;
import java.util.List;
import org.apache.kylin.common.util.ByteArray;
+import org.apache.kylin.dimension.DictionaryDimEnc;
import org.apache.kylin.metadata.datatype.DataType;
import org.apache.kylin.metadata.datatype.DataTypeSerializer;
@@ -41,7 +42,7 @@ public class TopNCounterSerializer extends DataTypeSerializer<TopNCounter<ByteAr
this.precision = dataType.getPrecision();
this.scale = dataType.getScale();
if (scale < 0) {
- scale = 6;
+ scale = DictionaryDimEnc.MAX_ENCODING_LENGTH;
}
}