diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordSource.java ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordSource.java index 89f7572..1e0e845 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordSource.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordSource.java @@ -110,6 +110,7 @@ private List valueStringWriters; private KeyValuesAdapter reader; + private boolean moreToRead = true; private boolean handleGroupKey; @@ -232,6 +233,7 @@ public final boolean isGrouped() { return vectorized; } + @Override public boolean pushRecord() throws HiveException { @@ -246,7 +248,9 @@ public boolean pushRecord() throws HiveException { } try { - if (!reader.next()) { + moreToRead = moreToRead && reader.next(); + //Do not proceed if there is nothing much to read + if (!moreToRead) { return false; } @@ -364,7 +368,9 @@ public void next() throws HiveException { private boolean pushRecordVector() { try { - if (!reader.next()) { + moreToRead = moreToRead && reader.next(); + //Do not proceed if there is nothing much to read + if (!moreToRead) { return false; }