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 <ach...@apache.org <mailto:ach...@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




Reply via email to