From eb9630e838674dc99f0a22efb99eb5f57efed6e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E5=AE=87?= Date: Tue, 27 Oct 2015 13:57:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B1=E4=BA=8E=E8=A1=A8=E4=B8=AD=E4=B8=80?= =?UTF-8?q?=E5=88=97=E7=9A=84=E5=80=BC=E8=BF=87=E9=95=BF=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E8=B6=8A=E7=95=8C=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/apache/kylin/common/util/BytesSplitter.java | 9 +++++++-- .../java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java b/common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java index 26c02d7..bad5c7a 100644 --- a/common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java +++ b/common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java @@ -64,8 +64,11 @@ public class BytesSplitter { for (int i = 0; i < byteLen; i++) { if (bytes[i] == delimiter) { SplittedBytes split = this.splitBuffers[this.bufferSize++]; - split.length = length; + if(length > split.value.length) { + split.value = new byte[length]; + } System.arraycopy(bytes, offset, split.value, 0, length); + split.length = length; offset = i + 1; length = 0; } else { @@ -73,6 +76,9 @@ public class BytesSplitter { } } SplittedBytes split = this.splitBuffers[this.bufferSize++]; + if(length > split.value.length) { + split.value = new byte[length]; + } System.arraycopy(bytes, offset, split.value, 0, length); split.length = length; @@ -128,7 +134,6 @@ public class BytesSplitter { for (int i = 0; i < bufferSize; i++) { if (i > 0) buf.append(", "); - buf.append(Bytes.toString(splitBuffers[i].value, 0, splitBuffers[i].length)); } return buf.toString(); diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java b/job/src/main/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java index 5286fbc..08a87d6 100644 --- a/job/src/main/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java +++ b/job/src/main/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java @@ -226,8 +226,8 @@ public class BaseCuboidMapper extends KylinMapper BatchConstants.ERROR_RECORD_THRESHOLD) { -- 1.9.4.msysgit.2