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 2018/02/04 00:51:53 UTC

[50/50] [abbrv] kylin git commit: KYLIN-3211 add Exception message for the illegal IntDimEnc length

KYLIN-3211 add Exception message for the illegal IntDimEnc length


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

Branch: refs/heads/sync
Commit: 04b3220739713a7d157e6a286fabea5a5036fad4
Parents: 4ade239
Author: Yifei Wu <va...@gmail.com>
Authored: Mon Jan 29 21:20:08 2018 +0800
Committer: Li Yang <li...@apache.org>
Committed: Sun Feb 4 08:45:40 2018 +0800

----------------------------------------------------------------------
 .../main/java/org/apache/kylin/dimension/IntDimEnc.java   | 10 ++++++----
 .../java/org/apache/kylin/dimension/IntDimEncTest.java    |  5 +++--
 2 files changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/04b32207/core-metadata/src/main/java/org/apache/kylin/dimension/IntDimEnc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/dimension/IntDimEnc.java b/core-metadata/src/main/java/org/apache/kylin/dimension/IntDimEnc.java
index 3650200..6ce003b 100644
--- a/core-metadata/src/main/java/org/apache/kylin/dimension/IntDimEnc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/dimension/IntDimEnc.java
@@ -34,12 +34,13 @@ import org.slf4j.LoggerFactory;
  * deprecated use IntegerDimEnc instead
  * @deprecated
  */
-public class IntDimEnc extends DimensionEncoding implements Serializable{
+public class IntDimEnc extends DimensionEncoding implements Serializable {
     private static final long serialVersionUID = 1L;
 
     private static Logger logger = LoggerFactory.getLogger(IntDimEnc.class);
 
-    private static final long[] CAP = { 0, 0xffL, 0xffffL, 0xffffffL, 0xffffffffL, 0xffffffffffL, 0xffffffffffffL, 0xffffffffffffffL, Long.MAX_VALUE };
+    private static final long[] CAP = { 0, 0xffL, 0xffffL, 0xffffffL, 0xffffffffL, 0xffffffffffL, 0xffffffffffffL,
+            0xffffffffffffffL, Long.MAX_VALUE };
 
     public static final String ENCODING_NAME = "int";
 
@@ -67,7 +68,7 @@ public class IntDimEnc extends DimensionEncoding implements Serializable{
 
     public IntDimEnc(int len) {
         if (len <= 0 || len >= CAP.length)
-            throw new IllegalArgumentException();
+            throw new IllegalArgumentException("the length of IntDimEnc is " + len + ", which should be 1-8");
 
         this.fixedLen = len;
     }
@@ -87,7 +88,8 @@ public class IntDimEnc extends DimensionEncoding implements Serializable{
         long integer = Long.parseLong(valueStr);
         if (integer > CAP[fixedLen]) {
             if (avoidVerbose++ % 10000 == 0) {
-                logger.warn("Expect at most " + fixedLen + " bytes, but got " + valueStr + ", will truncate, hit times:" + avoidVerbose);
+                logger.warn("Expect at most " + fixedLen + " bytes, but got " + valueStr + ", will truncate, hit times:"
+                        + avoidVerbose);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/04b32207/core-metadata/src/test/java/org/apache/kylin/dimension/IntDimEncTest.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/test/java/org/apache/kylin/dimension/IntDimEncTest.java b/core-metadata/src/test/java/org/apache/kylin/dimension/IntDimEncTest.java
index 0f55b3e..fc4163b 100644
--- a/core-metadata/src/test/java/org/apache/kylin/dimension/IntDimEncTest.java
+++ b/core-metadata/src/test/java/org/apache/kylin/dimension/IntDimEncTest.java
@@ -31,18 +31,19 @@ import org.junit.Test;
 public class IntDimEncTest {
 
     @Test
-    public void testConstructor() {
+    public void testBadConstructor() {
         try {
             new IntDimEnc(0);
             Assert.fail();
         } catch (IllegalArgumentException e) {
             // expect
+            Assert.assertEquals("the length of IntDimEnc is 0, which should be 1-8", e.getMessage());
         }
         try {
             new IntDimEnc(9);
             Assert.fail();
         } catch (IllegalArgumentException e) {
-            // expect
+            Assert.assertEquals("the length of IntDimEnc is 9, which should be 1-8", e.getMessage());
         }
         new IntDimEnc(8);
     }