Author: gopalv
Date: Mon Sep 22 21:25:10 2014
New Revision: 1626899
URL: http://svn.apache.org/r1626899
Log:
HIVE-8156: Vectorized reducers need to avoid memory build-up during a single
key (Gopal V reviewed by Prasanth J)
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordProcessor.java
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordProcessor.java
URL:
http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordProcessor.java?rev=1626899&r1=1626898&r2=1626899&view=diff
==============================================================================
---
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordProcessor.java
(original)
+++
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/ReduceRecordProcessor.java
Mon Sep 22 21:25:10 2014
@@ -437,6 +437,7 @@ public class ReduceRecordProcessor exte
private boolean processVectors(Iterable<Object> values, byte tag) throws
HiveException {
VectorizedRowBatch batch = batches[tag];
batch.reset();
+ buffer.reset();
/* deserialize key into columns */
VectorizedBatchUtil.addRowToBatchFrom(keyObject, keyStructInspector,
@@ -459,6 +460,7 @@ public class ReduceRecordProcessor exte
VectorizedBatchUtil.setBatchSize(batch, rowIdx);
reducer.processOp(batch, tag);
rowIdx = 0;
+ buffer.reset();
if (isLogInfoEnabled) {
logProgress();
}
@@ -467,6 +469,7 @@ public class ReduceRecordProcessor exte
if (rowIdx > 0) {
VectorizedBatchUtil.setBatchSize(batch, rowIdx);
reducer.processOp(batch, tag);
+ buffer.reset();
}
if (isLogInfoEnabled) {
logProgress();