Author: sharad
Date: Mon Jun 1 06:16:15 2009
New Revision: 780567
URL: http://svn.apache.org/viewvc?rev=780567&view=rev
Log:
HADOOP-5882. Fixes a problem with reducer progress update in new mapreduce API.
Contributed by Amareshwari Sriramadasu.
Modified:
hadoop/core/trunk/CHANGES.txt
hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/ReduceTask.java
Modified: hadoop/core/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=780567&r1=780566&r2=780567&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Mon Jun 1 06:16:15 2009
@@ -831,6 +831,9 @@
available memory on a tasktracker.
(Vinod Kumar Vavilapalli via yhemanth)
+ HADOOP-5882. Fixes a problem with reducer progress update in new
+ mapreduce API. (Amareshwari Sriramadasu via sharad)
+
Release 0.20.0 - 2009-04-15
INCOMPATIBLE CHANGES
Modified: hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/ReduceTask.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/ReduceTask.java?rev=780567&r1=780566&r2=780567&view=diff
==============================================================================
--- hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/ReduceTask.java
(original)
+++ hadoop/core/trunk/src/mapred/org/apache/hadoop/mapred/ReduceTask.java Mon
Jun 1 06:16:15 2009
@@ -522,6 +522,27 @@
Class<INVALUE> valueClass
) throws IOException,InterruptedException,
ClassNotFoundException {
+ // wrap value iterator to report progress.
+ final RawKeyValueIterator rawIter = rIter;
+ rIter = new RawKeyValueIterator() {
+ public void close() throws IOException {
+ rawIter.close();
+ }
+ public DataInputBuffer getKey() throws IOException {
+ return rawIter.getKey();
+ }
+ public Progress getProgress() {
+ return rawIter.getProgress();
+ }
+ public DataInputBuffer getValue() throws IOException {
+ return rawIter.getValue();
+ }
+ public boolean next() throws IOException {
+ boolean ret = rawIter.next();
+ reducePhase.set(rawIter.getProgress().getProgress());
+ return ret;
+ }
+ };
// make a task context so we can get the classes
org.apache.hadoop.mapreduce.TaskAttemptContext taskContext =
new org.apache.hadoop.mapreduce.TaskAttemptContext(job, getTaskID());