You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2015/05/30 00:55:02 UTC
hive git commit: HIVE-10871 : LLAP: bug in split processing in IO
elevator causes duplicate rows (Sergey Shelukhin)
Repository: hive
Updated Branches:
refs/heads/llap fcc0c4d90 -> be0c51685
HIVE-10871 : LLAP: bug in split processing in IO elevator causes duplicate rows (Sergey Shelukhin)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/be0c5168
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/be0c5168
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/be0c5168
Branch: refs/heads/llap
Commit: be0c516856bf4d4241cb97039499116b0a2cfa11
Parents: fcc0c4d
Author: Sergey Shelukhin <se...@apache.org>
Authored: Fri May 29 15:16:56 2015 -0700
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Fri May 29 15:16:56 2015 -0700
----------------------------------------------------------------------
.../hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/be0c5168/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java b/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java
index d76316a..6d2a38e 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java
@@ -655,7 +655,11 @@ public class OrcEncodedDataReader extends CallableWithNdc<Void>
int stripeIx = 0;
for (StripeInformation stripe : stripes) {
long stripeStart = stripe.getOffset();
- if (offset > stripeStart) continue;
+ if (offset > stripeStart) {
+ // We assume splits will never start in the middle of the stripe.
+ ++stripeIx;
+ continue;
+ }
if (stripeIxFrom == -1) {
if (DebugUtils.isTraceOrcEnabled()) {
LlapIoImpl.LOG.info("Including stripes from " + stripeIx
@@ -664,11 +668,11 @@ public class OrcEncodedDataReader extends CallableWithNdc<Void>
stripeIxFrom = stripeIx;
}
if (stripeStart >= maxOffset) {
+ stripeIxTo = stripeIx;
if (DebugUtils.isTraceOrcEnabled()) {
LlapIoImpl.LOG.info("Including stripes until " + stripeIxTo + " (" + stripeStart
+ " >= " + maxOffset + "); " + (stripeIxTo - stripeIxFrom) + " stripes");
}
- stripeIxTo = stripeIx;
break;
}
++stripeIx;