Repository: hive Updated Branches: refs/heads/branch-2 034da21f3 -> 800a39658
HIVE-17702 : incorrect isRepeating handling in decimal reader in ORC (Sergey Shelukhin, reviewed by Gopal Vijayaraghavan) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/800a3965 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/800a3965 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/800a3965 Branch: refs/heads/branch-2 Commit: 800a39658e44abae63772e8d1d484f689470a3bf Parents: 034da21 Author: sergey <[email protected]> Authored: Mon Oct 9 12:51:33 2017 -0700 Committer: sergey <[email protected]> Committed: Mon Oct 9 12:52:06 2017 -0700 ---------------------------------------------------------------------- .../hadoop/hive/llap/io/decode/OrcEncodedDataConsumer.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/800a3965/llap-server/src/java/org/apache/hadoop/hive/llap/io/decode/OrcEncodedDataConsumer.java ---------------------------------------------------------------------- diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/io/decode/OrcEncodedDataConsumer.java b/llap-server/src/java/org/apache/hadoop/hive/llap/io/decode/OrcEncodedDataConsumer.java index d048a57..a77ccc1 100644 --- a/llap-server/src/java/org/apache/hadoop/hive/llap/io/decode/OrcEncodedDataConsumer.java +++ b/llap-server/src/java/org/apache/hadoop/hive/llap/io/decode/OrcEncodedDataConsumer.java @@ -157,8 +157,11 @@ public class OrcEncodedDataConsumer cvb.cols[idx] = createColumn(schema.getChildren().get(columnMapping[idx]), batchSize); } trace.logTreeReaderNextVector(idx); - cvb.cols[idx].ensureSize(batchSize, false); - reader.nextVector(cvb.cols[idx], null, batchSize); + ColumnVector cv = cvb.cols[idx]; + cv.noNulls = true; + cv.reset(); // Reset to work around some poor assumptions in ORC. + cv.ensureSize(batchSize, false); + reader.nextVector(cv, null, batchSize); } // we are done reading a batch, send it to consumer for processing
