KYLIN-1803 ExtendedColumn Measure Encoding with Non-ascii Characters

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

Branch: refs/heads/stream_m1
Commit: c919ca2c7b59e0a25a4485a345d278edca2f7a60
Parents: 74ce81c
Author: sunyerui <sunye...@gmail.com>
Authored: Fri Jun 17 14:03:12 2016 +0800
Committer: sunyerui <sunye...@gmail.com>
Committed: Fri Jun 17 14:03:12 2016 +0800

----------------------------------------------------------------------
 .../measure/extendedcolumn/ExtendedColumnMeasureType.java     | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/c919ca2c/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
 
b/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
index ef7081c..f0b4371 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
@@ -24,6 +24,7 @@ import java.util.Map;
 
 import org.apache.commons.io.Charsets;
 import org.apache.kylin.common.util.ByteArray;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.common.util.Dictionary;
 import org.apache.kylin.measure.MeasureAggregator;
 import org.apache.kylin.measure.MeasureIngester;
@@ -148,8 +149,8 @@ public class ExtendedColumnMeasureType extends 
MeasureType<ByteArray> {
             @Override
             public void reload(Object measureValue) {
                 ByteArray byteArray = (ByteArray) measureValue;
-                //the array in ByteArray is garanteed to be completed owned by 
the ByteArray 
-                value = new String(byteArray.array(), 
Charsets.toCharset("UTF-8"));
+                //the array in ByteArray is guaranteed to be completed owned 
by the ByteArray
+                value = Bytes.toString(byteArray.array());
             }
 
             @Override
@@ -210,7 +211,7 @@ public class ExtendedColumnMeasureType extends 
MeasureType<ByteArray> {
                     return new ByteArray();
                 }
 
-                byte[] bytes = literal.getBytes();
+                byte[] bytes = Bytes.toBytes(literal);
                 if (bytes.length <= dataType.getPrecision()) {
                     return new ByteArray(bytes);
                 } else {

Reply via email to