giraph-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Avery Ching <ach...@apache.org>
Subject Re: MapWritable messages in Giraph
Date Thu, 04 Jul 2013 14:37:13 GMT
Looks like the serialization/descrialization has a problem.  If you want 
to see an example of a Trove primitive map, see
LongDoubleArrayEdges.

On 7/4/13 7:06 AM, Pasupathy Mahalingam wrote:
> Hi,
>
> Thanks Avery Ching.
>
> I get the following exception
>
> java.lang.IllegalStateException: run: Caught an unrecoverable 
> exception waitFor: ExecutionException occurred while waiting for 
> org.apache.giraph.utils.ProgressableUtils$FutureWaitable@381eb0c6
>     at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:102)
>     at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
>     at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
>     at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at javax.security.auth.Subject.doAs(Subject.java:396)
>     at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
>     at org.apache.hadoop.mapred.Child.main(Child.java:249)
> Caused by: java.lang.IllegalStateException: waitFor: 
> ExecutionException occurred while waiting for 
> org.apache.giraph.utils.ProgressableUtils$FutureWaitable@381eb0c6
>     at 
> org.apache.giraph.utils.ProgressableUtils.waitFor(ProgressableUtils.java:151)
>     at 
> org.apache.giraph.utils.ProgressableUtils.waitForever(ProgressableUtils.java:111)
>     at 
> org.apache.giraph.utils.ProgressableUtils.getFutureResult(ProgressableUtils.java:73)
>     at 
> org.apache.giraph.utils.ProgressableUtils.getResultsWithNCallables(ProgressableUtils.java:192)
>     at 
> org.apache.giraph.graph.GraphTaskManager.processGraphPartitions(GraphTaskManager.java:753)
>     at 
> org.apache.giraph.graph.GraphTaskManager.execute(GraphTaskManager.java:273)
>     at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:92)
>     ... 7 more
> Caused by: java.util.concurrent.ExecutionException: 
> java.lang.IllegalStateException: next: IOException
>     at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
>     at java.util.concurrent.FutureTask.get(FutureTask.java:91)
>     at 
> org.apache.giraph.utils.ProgressableUtils$FutureWaitable.waitFor(ProgressableUtils.java:271)
>     at 
> org.apache.giraph.utils.ProgressableUtils.waitFor(ProgressableUtils.java:143)
>     ... 13 more
> Caused by: java.lang.IllegalStateException: next: IOException
>     at 
> org.apache.giraph.utils.ByteArrayVertexIdData$VertexIdDataIterator.next(ByteArrayVertexIdData.java:211)
>     at 
> org.apache.giraph.comm.messages.ByteArrayMessagesPerVertexStore.addPartitionMessages(ByteArrayMessagesPerVertexStore.java:116)
>     at 
> org.apache.giraph.comm.requests.SendWorkerMessagesRequest.doRequest(SendWorkerMessagesRequest.java:72)
>     at 
> org.apache.giraph.comm.netty.NettyWorkerClientRequestProcessor.doRequest(NettyWorkerClientRequestProcessor.java:470)
>     at 
> org.apache.giraph.comm.netty.NettyWorkerClientRequestProcessor.flush(NettyWorkerClientRequestProcessor.java:419)
>     at 
> org.apache.giraph.graph.ComputeCallable.call(ComputeCallable.java:193)
>     at 
> org.apache.giraph.graph.ComputeCallable.call(ComputeCallable.java:70)
>     at 
> org.apache.giraph.utils.LogStacktraceCallable.call(LogStacktraceCallable.java:51)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:662)
> Caused by: java.io.IOException: ensureRemaining: Only 393 bytes 
> remaining, trying to read 8960
>     at 
> org.apache.giraph.utils.UnsafeByteArrayInputStream.ensureRemaining(UnsafeByteArrayInputStream.java:114)
>     at 
> org.apache.giraph.utils.UnsafeByteArrayInputStream.readFully(UnsafeByteArrayInputStream.java:128)
>     at 
> org.apache.giraph.utils.UnsafeByteArrayInputStream.readUTF(UnsafeByteArrayInputStream.java:275)
>     at 
> org.apache.hadoop.io.AbstractMapWritable.readFields(AbstractMapWritable.java:199)
>     at org.apache.hadoop.io.MapWritable.readFields(MapWritable.java:146)
>     at org.apache.hadoop.io.MapWritable.readFields(MapWritable.java:167)
>     at 
> org.apache.giraph.utils.ByteArrayVertexIdMessages.readData(ByteArrayVertexIdMessages.java:76)
>     at 
> org.apache.giraph.utils.ByteArrayVertexIdMessages.readData(ByteArrayVertexIdMessages.java:34)
>     at 
> org.apache.giraph.utils.ByteArrayVertexIdData$VertexIdDataIterator.next(ByteArrayVertexIdData.java:209)
>     ... 12 more
>
> It will be great on how you use writable maps based on Trove/ Fast 
> Util. Sample usage if you can share will be great.
>
> Rgds
> Pasupathy
>
>
> On Wed, Jul 3, 2013 at 10:19 PM, Avery Ching <aching@apache.org 
> <mailto:aching@apache.org>> wrote:
>
>     We don't use MapWritable.  Internally we have a bunch of writable
>     maps based on Trove or FastUtil for speed.  What's your full
>     exception stack trace?
>
>
>     On 7/2/13 1:24 AM, Pasupathy Mahalingam wrote:
>
>         Hi,
>
>         I'm trying to send messages that is MapWritable
>
>               MapWritable msg = new MapWritable();
>               msg.put(new Text("test"), new
>         DoubleWritable(edgeWeightage));
>               sendMessage(edge.getTargetVertexId(), msg);
>
>         However, I find that this is throwing exception
>         (IllegalStateException)
>
>         Any inputs on what to take care while sending MapWritable
>         messages?
>
>         Rgds
>         Pasupathy
>
>
>


Mime
View raw message