Author: aching
Date: Fri Oct 19 07:05:35 2012
New Revision: 1399984
URL: http://svn.apache.org/viewvc?rev=1399984&view=rev
Log:
GIRAPH-381: Ensure we get the original exception from
GraphMapper#run(). (aching)
Modified:
giraph/trunk/CHANGELOG
giraph/trunk/giraph/src/main/java/org/apache/giraph/graph/GraphMapper.java
Modified: giraph/trunk/CHANGELOG
URL:
http://svn.apache.org/viewvc/giraph/trunk/CHANGELOG?rev=1399984&r1=1399983&r2=1399984&view=diff
==============================================================================
--- giraph/trunk/CHANGELOG (original)
+++ giraph/trunk/CHANGELOG Fri Oct 19 07:05:35 2012
@@ -1,6 +1,9 @@
Giraph Change Log
Release 0.2.0 - unreleased
+ GIRAPH-381: Ensure we get the original exception from
+ GraphMapper#run(). (aching)
+
GIRAPH-379: HiveGiraphRunner should have a skipOutput option for
testing (aching)
Modified:
giraph/trunk/giraph/src/main/java/org/apache/giraph/graph/GraphMapper.java
URL:
http://svn.apache.org/viewvc/giraph/trunk/giraph/src/main/java/org/apache/giraph/graph/GraphMapper.java?rev=1399984&r1=1399983&r2=1399984&view=diff
==============================================================================
--- giraph/trunk/giraph/src/main/java/org/apache/giraph/graph/GraphMapper.java
(original)
+++ giraph/trunk/giraph/src/main/java/org/apache/giraph/graph/GraphMapper.java
Fri Oct 19 07:05:35 2012
@@ -604,8 +604,17 @@ public class GraphMapper<I extends Writa
zkManager.logZooKeeperOutput(Level.WARN);
}
}
- if (mapFunctions == MapFunctions.WORKER_ONLY) {
- serviceWorker.failureCleanup();
+ try {
+ if (mapFunctions == MapFunctions.WORKER_ONLY) {
+ serviceWorker.failureCleanup();
+ }
+ // Checkstyle exception due to needing to get the original
+ // exception on failure
+ // CHECKSTYLE: stop IllegalCatch
+ } catch (RuntimeException e1) {
+ // CHECKSTYLE: resume IllegalCatch
+ LOG.error("run: Worker failure failed on another RuntimeException, " +
+ "original expection will be rethrown", e1);
}
throw new IllegalStateException(
"run: Caught an unrecoverable exception " + e.getMessage(), e);