minor, avoid verbose logging in Serializer
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/d2673969 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/d2673969 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/d2673969 Branch: refs/heads/2.x-staging Commit: d2673969fb40436d1c55f359b2b709c55cfab8da Parents: 0d29d63 Author: honma <ho...@ebay.com> Authored: Tue Jan 26 09:54:57 2016 +0800 Committer: honma <ho...@ebay.com> Committed: Tue Jan 26 21:40:48 2016 +0800 ---------------------------------------------------------------------- .../java/org/apache/kylin/cube/gridtable/FixLenSerializer.java | 5 ++++- .../apache/kylin/metadata/datatype/BigDecimalSerializer.java | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/d2673969/core-cube/src/main/java/org/apache/kylin/cube/gridtable/FixLenSerializer.java ---------------------------------------------------------------------- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/gridtable/FixLenSerializer.java b/core-cube/src/main/java/org/apache/kylin/cube/gridtable/FixLenSerializer.java index 2b70e79..24c4a19 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/gridtable/FixLenSerializer.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/gridtable/FixLenSerializer.java @@ -36,6 +36,7 @@ public class FixLenSerializer extends DataTypeSerializer { private ThreadLocal<byte[]> current = new ThreadLocal<byte[]>(); private int fixLen; + transient int avoidVerbose = 0; FixLenSerializer(int fixLen) { this.fixLen = fixLen; @@ -59,7 +60,9 @@ public class FixLenSerializer extends DataTypeSerializer { } else { byte[] bytes = Bytes.toBytes(value.toString()); if (bytes.length > fixLen) { - logger.warn("Expect at most " + fixLen + " bytes, but got " + bytes.length + ", will truncate, value string: " + value.toString()); + if (avoidVerbose++ % 10000 == 0) { + logger.warn("Expect at most " + fixLen + " bytes, but got " + bytes.length + ", will truncate, value string: " + value.toString() + " times:" + avoidVerbose); + } } out.put(bytes, 0, Math.min(bytes.length, fixLen)); for (int i = bytes.length; i < fixLen; i++) { http://git-wip-us.apache.org/repos/asf/kylin/blob/d2673969/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/BigDecimalSerializer.java ---------------------------------------------------------------------- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/BigDecimalSerializer.java b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/BigDecimalSerializer.java index 25b4e07..64968b8 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/BigDecimalSerializer.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/datatype/BigDecimalSerializer.java @@ -48,8 +48,8 @@ public class BigDecimalSerializer extends DataTypeSerializer<BigDecimal> { @Override public void serialize(BigDecimal value, ByteBuffer out) { if (value.scale() > type.getScale()) { - if (avoidVerbose % 10000 == 0) { - logger.warn("value's scale has exceeded the " + type.getScale() + ", cut it off, to ensure encoded value do not exceed maxLength " + maxLength + " times:" + (avoidVerbose++)); + if (avoidVerbose++ % 10000 == 0) { + logger.warn("value's scale has exceeded the " + type.getScale() + ", cut it off, to ensure encoded value do not exceed maxLength " + maxLength + " times:" + (avoidVerbose)); } value = value.setScale(type.getScale(), BigDecimal.ROUND_HALF_EVEN); }