Author: ddas
Date: Thu Jun 4 12:42:08 2009
New Revision: 781720
URL: http://svn.apache.org/viewvc?rev=781720&view=rev
Log:
HADOOP-5746. Fixes a corner case problem in Streaming, where if an exception
happens in MROutputThread after the last call to the map/reduce method, the
exception goes undetected. Contributed by Amar Kamat.
Modified:
hadoop/core/trunk/CHANGES.txt
hadoop/core/trunk/src/contrib/streaming/src/java/org/apache/hadoop/streaming/PipeMapRed.java
Modified: hadoop/core/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=781720&r1=781719&r2=781720&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Thu Jun 4 12:42:08 2009
@@ -891,6 +891,10 @@
HADOOP-5882. Fixes a reducer progress update problem for new mapreduce
api. (Amareshwari Sriramadasu via sharad)
+ HADOOP-5746. Fixes a corner case problem in Streaming, where if an
exception
+ happens in MROutputThread after the last call to the map/reduce method,
the
+ exception goes undetected. (Amar Kamat via ddas)
+
Release 0.20.0 - 2009-04-15
INCOMPATIBLE CHANGES
Modified:
hadoop/core/trunk/src/contrib/streaming/src/java/org/apache/hadoop/streaming/PipeMapRed.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/streaming/src/java/org/apache/hadoop/streaming/PipeMapRed.java?rev=781720&r1=781719&r2=781720&view=diff
==============================================================================
---
hadoop/core/trunk/src/contrib/streaming/src/java/org/apache/hadoop/streaming/PipeMapRed.java
(original)
+++
hadoop/core/trunk/src/contrib/streaming/src/java/org/apache/hadoop/streaming/PipeMapRed.java
Thu Jun 4 12:42:08 2009
@@ -376,6 +376,9 @@
if (errThread_ != null) {
errThread_.join(joinDelay_);
}
+ if (outerrThreadsThrowable != null) {
+ throw new RuntimeException(outerrThreadsThrowable);
+ }
} catch (InterruptedException e) {
//ignore
}
@@ -577,6 +580,7 @@
if (sim != null) sim.destroy();
logprintln("mapRedFinished");
} catch (RuntimeException e) {
+ logprintln("PipeMapRed failed!");
logStackTrace(e);
throw e;
}