Author: gates
Date: Mon Oct 13 22:56:40 2014
New Revision: 1631599
URL: http://svn.apache.org/r1631599
Log:
HIVE-8402 Orc pushing SARGs into delta files causing ArrayOutOfBoundsExceptions
(Alan Gates reviewed by Owen O'Malley)
Modified:
hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcRawRecordMerger.java
Modified:
hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcRawRecordMerger.java
URL:
http://svn.apache.org/viewvc/hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcRawRecordMerger.java?rev=1631599&r1=1631598&r2=1631599&view=diff
==============================================================================
---
hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcRawRecordMerger.java
(original)
+++
hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcRawRecordMerger.java
Mon Oct 13 22:56:40 2014
@@ -450,6 +450,10 @@ public class OrcRawRecordMerger implemen
// we always want to read all of the deltas
eventOptions.range(0, Long.MAX_VALUE);
+ // Turn off the sarg before pushing it to delta. We never want to push a
sarg to a delta as
+ // it can produce wrong results (if the latest valid version of the record
is filtered out by
+ // the sarg) or ArrayOutOfBounds errors (when the sarg is applied to a
delete record)
+ eventOptions.searchArgument(null, null);
if (deltaDirectory != null) {
for(Path delta: deltaDirectory) {
ReaderKey key = new ReaderKey();