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 2016/01/10 00:46:23 UTC
[27/42] kylin git commit: 修复由于行中字段过长导致的bug
修复由于行中字段过长导致的bug
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/307e13cc
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/307e13cc
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/307e13cc
Branch: refs/heads/1.x-HBase1.1.3
Commit: 307e13ccfea507290a1fdd4e72447fac69ecc63b
Parents: 09a4955
Author: 冯宇 <hz...@corp.netease.com>
Authored: Fri Oct 30 17:51:09 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Tue Jan 5 10:55:42 2016 +0800
----------------------------------------------------------------------
.../java/org/apache/kylin/common/util/BytesSplitter.java | 8 +++++++-
.../org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/307e13cc/common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java
----------------------------------------------------------------------
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 119d12b..ef0d827 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) {
+ length = split.value.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) {
+ length = split.value.length;
+ }
System.arraycopy(bytes, offset, split.value, 0, length);
split.length = length;
http://git-wip-us.apache.org/repos/asf/kylin/blob/307e13cc/job/src/main/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java
----------------------------------------------------------------------
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 929408a..d06963b 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
@@ -228,8 +228,8 @@ public class BaseCuboidMapper<KEYIN> extends KylinMapper<KEYIN, Text, Text, Text
private void handleErrorRecord(BytesSplitter bytesSplitter, Exception ex) throws IOException {
- System.err.println("Insane record: " + bytesSplitter);
ex.printStackTrace(System.err);
+ System.err.println("Insane record: " + bytesSplitter);
errorRecordCounter++;
if (errorRecordCounter > BatchConstants.ERROR_RECORD_THRESHOLD) {