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/10/30 10:43:59 UTC
[18/26] kylin git commit: KYLIN-2134 dont reuse Object[] returned to
calcite
KYLIN-2134 dont reuse Object[] returned to calcite
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/3b9be196
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/3b9be196
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/3b9be196
Branch: refs/heads/KYLIN-1971
Commit: 3b9be19634c8f295a9c7468bcdaf8ab2aad73fcb
Parents: 49260dd
Author: Li Yang <li...@apache.org>
Authored: Thu Oct 27 17:09:22 2016 +0800
Committer: Li Yang <li...@apache.org>
Committed: Thu Oct 27 17:09:22 2016 +0800
----------------------------------------------------------------------
.../kylin/storage/gtrecord/SegmentCubeTupleIterator.java | 4 ----
.../org/apache/kylin/query/enumerator/OLAPEnumerator.java | 8 ++++----
2 files changed, 4 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/3b9be196/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SegmentCubeTupleIterator.java
----------------------------------------------------------------------
diff --git a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SegmentCubeTupleIterator.java b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SegmentCubeTupleIterator.java
index 61267ae..00ba247 100644
--- a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SegmentCubeTupleIterator.java
+++ b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/SegmentCubeTupleIterator.java
@@ -37,8 +37,6 @@ import org.apache.kylin.storage.StorageContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Preconditions;
-
public class SegmentCubeTupleIterator implements ITupleIterator {
private static final Logger logger = LoggerFactory.getLogger(SegmentCubeTupleIterator.class);
@@ -98,8 +96,6 @@ public class SegmentCubeTupleIterator implements ITupleIterator {
}
GTRecord curRecord = gtItr.next();
- Preconditions.checkNotNull(cubeTupleConverter);
-
// translate into tuple
advMeasureFillers = cubeTupleConverter.translateResult(curRecord, tuple);
http://git-wip-us.apache.org/repos/asf/kylin/blob/3b9be196/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java b/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
index dafbb5f..c7b3c71 100644
--- a/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
+++ b/query/src/main/java/org/apache/kylin/query/enumerator/OLAPEnumerator.java
@@ -18,6 +18,7 @@
package org.apache.kylin.query.enumerator;
+import java.util.Arrays;
import java.util.Map;
import java.util.Properties;
@@ -77,10 +78,9 @@ public class OLAPEnumerator implements Enumerator<Object[]> {
}
private Object[] convertCurrentRow(ITuple tuple) {
- // make sure the tuple layout is correct
- //assert tuple.getAllFields().equals(olapContext.returnTupleInfo.getAllFields());
-
- current = tuple.getAllValues();
+ // give calcite a new array every time, see details in KYLIN-2134
+ Object[] values = tuple.getAllValues();
+ current = Arrays.copyOf(values, values.length);
return current;
}