Avery Ching commented on GIRAPH-34:

I think the analogy in Hadoop land would be closer to context.write(Writable 
key, Writable value).  And after digging in the Hadoop code, I don't see them 
doing any copying, but the slight difference is that the destination is always 
remote, so it's not an issue for them.  Hmmm.  Okay, I guess I'll submit 
another patch that simply augments the Javadoc of sendMsg() to emphasize that a 
message value must be not be modified by the user after it is used in 
sendMsg().  I do agree that the object instantiation can be expensive, so 
perhaps the safety isn't as valuable as the performance.

> Failure of Vertex reflection for putVertexList from GIRAPH-27 
> --------------------------------------------------------------
>                 Key: GIRAPH-34
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-34
>             Project: Giraph
>          Issue Type: Bug
>            Reporter: Christian Kunz
>            Assignee: Avery Ching
>         Attachments: GIRAPH-34.patch
> Christian actually found this bug.  I am filing the JIRA on his behalf.  
> Here's my error when running TestVertexRangeBalancer.  
> java.lang.RuntimeException: java.io.IOException: Call to 
> returnwhose-lm/ failed on local exception: 
> java.io.EOFException
>       at 
> org.apache.giraph.comm.BasicRPCCommunications.sendVertexListReq(BasicRPCCommunications.java:768)
>       at 
> org.apache.giraph.graph.BspServiceWorker.exchangeVertexRanges(BspServiceWorker.java:1282)
>       at org.apache.giraph.graph.GraphMapper.map(GraphMapper.java:589)
>       at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
>       at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:763)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:369)
>       at org.apache.hadoop.mapred.Child$4.run(Child.java:259)
>       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:1059)
>       at org.apache.hadoop.mapred.Child.main(Child.java:253)
> Caused by: java.io.IOException: Call to returnwhose-lm/ 
> failed on local exception: java.io.EOFException
>       at org.apache.hadoop.ipc.Client.wrapException(Client.java:1065)
>       at org.apache.hadoop.ipc.Client.call(Client.java:1033)
>       at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:224)
>       at $Proxy3.putVertexList(Unknown Source)
>       at 
> org.apache.giraph.comm.BasicRPCCommunications.sendVertexListReq(BasicRPCCommunications.java:766)
>       ... 10 more
> Caused by: java.io.EOFException
>       at java.io.DataInputStream.readInt(DataInputStream.java:375)
>       at 
> org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:767)
>       at org.apache.hadoop.ipc.Client$Connection.run(Client.java:712)
> I identified and fixed the issue by making BasicVertex implement Configurable 
> and making the graph state set in BasicRPCCommunications.  There is one more 
> error though that I'll try and solve before putting up a reviewboard.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to