giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Avery Ching" <avery.ch...@gmail.com>
Subject Re: Review Request: More information on runtime exceptions for Callables
Date Mon, 08 Apr 2013 17:46:12 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/10342/
-----------------------------------------------------------

(Updated April 8, 2013, 5:46 p.m.)


Review request for giraph.


Changes
-------

Added Alessandro's comment.


Description
-------

We ocassionally see errors in user code such as

java.lang.IllegalStateException: run: Caught an unrecoverable exception waitFor: ExecutionException
occurred while waiting for org.apache.giraph.utils.ProgressableUtils$FutureWaitable@7215f9e4
at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:102) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:632)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307) at org.apache.hadoop.mapred.Child.main(Child.java:171)
Caused by: java.lang.IllegalStateException: waitFor: ExecutionException occurred while waiting
for org.apache.giraph.utils.ProgressableUtils$FutureWaitable@7215f9e4 at org.apache.giraph.utils.ProgressableUtils.waitFor(ProgressableUtils.java:145)
at org.apache.giraph.utils.ProgressableUtils.waitForever(ProgressableUtils.java:105) at org.apache.giraph.utils.ProgressableUtils.getFutureResult(ProgressableUtils.java:67)
at org.apache.giraph.graph.GraphTaskManager.processGraphPartitions(GraphTaskManager.java:738)
at org.apache.giraph.graph.GraphTaskManager.execute(GraphTaskManager.java:267) at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:92)
... 3 more Caused by: java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:262) at java.util.concurrent.FutureTask.get(FutureTask.java:119)
at org.apache.giraph.utils.ProgressableUtils$FutureWaitable.waitFor(ProgressableUtils.java:232)
at org.apache.giraph.utils.ProgressableUtils.waitFor(ProgressableUtils.java:137) ... 8 more
Caused by: java.lang.ArrayIndexOutOfBoundsException ,Job killed

But it doesn't provide a lot of information about the actual stack trace in the user land
code of the callable. We can wrap the invocation of the Callable#run() to get access to this
stack, which can be very helpful for debugging user code.


This addresses bug GIRAPH-609.
    https://issues.apache.org/jira/browse/GIRAPH-609


Diffs (updated)
-----

  giraph-core/src/main/java/org/apache/giraph/edge/EdgeStore.java d6653d035a9e53b38af6febe64d2196db8c6e6da

  giraph-core/src/main/java/org/apache/giraph/graph/GraphTaskManager.java 8ed44e8377e2b8d517b82b2c3175db2ed60ba5c8

  giraph-core/src/main/java/org/apache/giraph/master/BspServiceMaster.java 7d02533097875867ffcecdc98d3639e814694981

  giraph-core/src/main/java/org/apache/giraph/utils/LogStacktraceCallable.java PRE-CREATION

  giraph-core/src/main/java/org/apache/giraph/worker/BspServiceWorker.java 061df6876658e60be76afec815f67f03d7c6c0ea


Diff: https://reviews.apache.org/r/10342/diff/


Testing
-------

Forced a exception in a callable and observed the stack trace in user-code.

mvn clean verify.


Thanks,

Avery Ching


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message