minor, clearer log on 'Value not exist!' error

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

Branch: refs/heads/KYLIN-1971
Commit: 235b123d09c629b685cbaf029f205bbeab887d6f
Parents: 1395955
Author: Li Yang <liy...@apache.org>
Authored: Thu Nov 3 18:21:55 2016 +0800
Committer: Li Yang <liy...@apache.org>
Committed: Thu Nov 3 18:23:01 2016 +0800

----------------------------------------------------------------------
 .../main/java/org/apache/kylin/common/util/Dictionary.java   | 2 +-
 .../java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java | 8 +++++++-
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/235b123d/core-common/src/main/java/org/apache/kylin/common/util/Dictionary.java
----------------------------------------------------------------------
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/util/Dictionary.java 
b/core-common/src/main/java/org/apache/kylin/common/util/Dictionary.java
index 86ad5ff..0fb299c 100644
--- a/core-common/src/main/java/org/apache/kylin/common/util/Dictionary.java
+++ b/core-common/src/main/java/org/apache/kylin/common/util/Dictionary.java
@@ -159,7 +159,7 @@ abstract public class Dictionary<T> implements Serializable 
{
         else {
             int id = getIdFromValueBytesImpl(value, offset, len, roundingFlag);
             if (id < 0)
-                throw new IllegalArgumentException("Value not exists!");
+                throw new IllegalArgumentException("Value '" + 
Bytes.toString(value, offset, len) + "' (" + Bytes.toStringBinary(value, 
offset, len) + ") not exists!");
             return id;
         }
     }

http://git-wip-us.apache.org/repos/asf/kylin/blob/235b123d/core-cube/src/main/java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java
----------------------------------------------------------------------
diff --git 
a/core-cube/src/main/java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java 
b/core-cube/src/main/java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java
index f95cc21..aeeb893 100644
--- 
a/core-cube/src/main/java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java
+++ 
b/core-cube/src/main/java/org/apache/kylin/cube/gridtable/CubeCodeSystem.java
@@ -118,7 +118,13 @@ public class CubeCodeSystem implements IGTCodeSystem {
             if (dictEnc.getRoundingFlag() != roundingFlag) {
                 serializer = dictEnc.copy(roundingFlag).asDataTypeSerializer();
             }
-            serializer.serialize(value, buf);
+            try {
+                serializer.serialize(value, buf);
+            } catch (IllegalArgumentException ex) {
+                IllegalArgumentException rewordEx = new 
IllegalArgumentException("Column " + col + " value '" + value + "' met 
dictionary error: " + ex.getMessage());
+                rewordEx.setStackTrace(ex.getStackTrace());
+                throw rewordEx;
+            }
         } else {
             if (value instanceof String) {
                 // for dimensions; measures are converted by MeasureIngestor 
before reaching this point

Reply via email to