incubator-giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Avery Ching (JIRA)" <>
Subject [jira] [Commented] (GIRAPH-34) Failure of Vertex reflection for putVertexList from GIRAPH-27
Date Fri, 16 Sep 2011 19:28:09 GMT


Avery Ching commented on GIRAPH-34:

Suppose for example, they send their vertex value to the destination vertex.  I.e. sendMsg(destVertex,
getVertexValue()), then since the vertex value is not copied and delivered, the message will
have all the changes of the vertex value after it's supposedly been sent (not good).  I think
it will be hard to "force" users to ensure that the sent messages must be an object they are
sure to not modify.  That's similar to how this error happened in the first place (See SimpleCheckpointVertex).
 I really don't see how we can avoid copying the object as it will be pretty dangerous when
mutable types are used as messages.

The changes from GIRAPH-27 didn't cause that issue, it's a bug that has likely been around
for awhile.  Glad to have it reported by Christian.

As you mentioned, there could be issues elsewhere with the change to not require everything
to subclass Vertex.  Maybe address in a later JIRA?

> Failure of Vertex reflection for putVertexList from GIRAPH-27 
> --------------------------------------------------------------
>                 Key: GIRAPH-34
>                 URL:
>             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: Call to returnwhose-lm/
failed on local exception:
> 	at org.apache.giraph.comm.BasicRPCCommunications.sendVertexListReq(
> 	at org.apache.giraph.graph.BspServiceWorker.exchangeVertexRanges(
> 	at
> 	at
> 	at org.apache.hadoop.mapred.MapTask.runNewMapper(
> 	at
> 	at org.apache.hadoop.mapred.Child$
> 	at Method)
> 	at
> 	at
> 	at org.apache.hadoop.mapred.Child.main(
> Caused by: Call to returnwhose-lm/ failed on
local exception:
> 	at org.apache.hadoop.ipc.Client.wrapException(
> 	at
> 	at org.apache.hadoop.ipc.RPC$Invoker.invoke(
> 	at $Proxy3.putVertexList(Unknown Source)
> 	at org.apache.giraph.comm.BasicRPCCommunications.sendVertexListReq(
> 	... 10 more
> Caused by:
> 	at
> 	at org.apache.hadoop.ipc.Client$Connection.receiveResponse(
> 	at org.apache.hadoop.ipc.Client$
> 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:


View raw message