This is an automated email from the ASF dual-hosted git repository.

shaofengshi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
     new 26e71a7  KYLIN-3635, make a stronger constraint about implementing 
method reset().
26e71a7 is described below

commit 26e71a762b08445ad173fe42fc84c204ff33fe49
Author: tttMelody <245915...@qq.com>
AuthorDate: Fri Oct 26 20:50:27 2018 +0800

    KYLIN-3635, make a stronger constraint about implementing method reset().
---
 .../src/main/java/org/apache/kylin/measure/MeasureIngester.java     | 6 +++---
 .../java/org/apache/kylin/measure/basic/BigDecimalIngester.java     | 5 +++++
 .../kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java     | 5 +++++
 .../src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java  | 5 +++++
 .../main/java/org/apache/kylin/measure/topn/TopNMeasureType.java    | 5 +++++
 5 files changed, 23 insertions(+), 3 deletions(-)

diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/MeasureIngester.java 
b/core-metadata/src/main/java/org/apache/kylin/measure/MeasureIngester.java
index ed2cb02..b48acf0 100644
--- a/core-metadata/src/main/java/org/apache/kylin/measure/MeasureIngester.java
+++ b/core-metadata/src/main/java/org/apache/kylin/measure/MeasureIngester.java
@@ -43,9 +43,9 @@ abstract public class MeasureIngester<V> implements 
java.io.Serializable {
 
     abstract public V valueOf(String[] values, MeasureDesc measureDesc, 
Map<TblColRef, Dictionary<String>> dictionaryMap);
 
-    public void reset() {
-
-    }
+    // Be attention with this, do remember resetting objects if you init in 
your implementation.
+    // See more details in KYLIN-3635.
+    abstract public void reset();
 
     public V reEncodeDictionary(V value, MeasureDesc measureDesc, 
Map<TblColRef, Dictionary<String>> oldDicts, Map<TblColRef, Dictionary<String>> 
newDicts) {
         throw new UnsupportedOperationException();
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/basic/BigDecimalIngester.java
 
b/core-metadata/src/main/java/org/apache/kylin/measure/basic/BigDecimalIngester.java
index c7541ab..5194606 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/basic/BigDecimalIngester.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/basic/BigDecimalIngester.java
@@ -38,4 +38,9 @@ public class BigDecimalIngester extends 
MeasureIngester<BigDecimal> {
         else
             return new BigDecimal(values[0]);
     }
+
+    @Override
+    public void reset() {
+
+    }
 }
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 4c20ef3..ed5a213 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
@@ -238,6 +238,11 @@ public class ExtendedColumnMeasureType extends 
MeasureType<ByteArray> {
                             truncateWhenUTF8(literal, 
dataType.getPrecision()).getBytes(StandardCharsets.UTF_8));
                 }
             }
+
+            @Override
+            public void reset() {
+
+            }
         };
     }
 
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java 
b/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
index e9f1c82..7dc8ecc 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
@@ -123,6 +123,11 @@ public class RawMeasureType extends 
MeasureType<List<ByteArray>> {
                 return valueList;
             }
 
+            @Override
+            public void reset() {
+
+            }
+
             //merge measure dictionary
             @Override
             public List<ByteArray> reEncodeDictionary(List<ByteArray> value, 
MeasureDesc measureDesc, Map<TblColRef, Dictionary<String>> oldDicts, 
Map<TblColRef, Dictionary<String>> newDicts) {
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
 
b/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
index 9b6ff0a..d7b1bd7 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
@@ -163,6 +163,11 @@ public class TopNMeasureType extends 
MeasureType<TopNCounter<ByteArray>> {
             }
 
             @Override
+            public void reset() {
+
+            }
+
+            @Override
             public TopNCounter<ByteArray> 
reEncodeDictionary(TopNCounter<ByteArray> value, MeasureDesc measureDesc,
                     Map<TblColRef, Dictionary<String>> oldDicts, 
Map<TblColRef, Dictionary<String>> newDicts) {
                 TopNCounter<ByteArray> topNCounter = value;

Reply via email to