hive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vik...@apache.org
Subject svn commit: r1569619 - /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java
Date Wed, 19 Feb 2014 02:50:10 GMT
Author: vikram
Date: Wed Feb 19 02:50:09 2014
New Revision: 1569619

URL: http://svn.apache.org/r1569619
Log:
HIVE-6326: Split generation in ORC may generate wrong split boundaries because of unaccounted
padded bytes (Prasanth J via Vikram Dixit K)

Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java?rev=1569619&r1=1569618&r2=1569619&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java Wed Feb 19
02:50:09 2014
@@ -729,7 +729,10 @@ public class OrcInputFormat  implements 
           idx++;
 
           // eliminate stripes that doesn't satisfy the predicate condition
-          if (sarg != null && !isStripeSatisfyPredicate(stripeStats.get(idx), sarg,
filterColumns)) {
+          if (sarg != null &&
+              stripeStats != null &&
+              idx < stripeStats.size() &&
+              !isStripeSatisfyPredicate(stripeStats.get(idx), sarg, filterColumns)) {
 
             // if a stripe doesn't satisfy predicate condition then skip it
             if (LOG.isDebugEnabled()) {
@@ -757,7 +760,7 @@ public class OrcInputFormat  implements 
             currentOffset = stripe.getOffset();
             currentLength = stripe.getLength();
           } else {
-            currentLength += stripe.getLength();
+            currentLength = (stripe.getOffset() + stripe.getLength()) - currentOffset;
           }
           if (currentLength >= context.maxSize) {
             createSplit(currentOffset, currentLength, fileMetaInfo);



Mime
View raw message