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();


Reply via email to