You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@giraph.apache.org by "Claudio Martella (JIRA)" <ji...@apache.org> on 2013/06/04 18:37:20 UTC

[jira] [Commented] (GIRAPH-679) Edge e.getTargetVertexId() returns same instance

    [ https://issues.apache.org/jira/browse/GIRAPH-679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13674542#comment-13674542 ] 

Claudio Martella commented on GIRAPH-679:
-----------------------------------------

this is not a bug, but an expected behavior. see javadoc for Vertex.getEdges():

"Get a read-only view of the out-edges of this vertex. Note: edge objects returned by this iterable may be invalidated as soon as the next element is requested. Thus, keeping a reference to an edge almost always leads to undesired behavior."
                
> Edge e.getTargetVertexId() returns same instance
> ------------------------------------------------
>
>                 Key: GIRAPH-679
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-679
>             Project: Giraph
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 1.1.0
>            Reporter: Byungnam Lim
>
> I was trying to remove all edges of each vertex in one superstep. Below is my code.
> for (Edge<LongWritable, FloatWritable> e : vertex.getEdges()) {
>      removeEdgesRequest(vertex.getId(), e.getTargetVertexId());
> }
> But it just removed only one edge in one superstep.
> I debugged and found e.getTargetVertexId() returns one same instances so that makes the removedEdgeList.add() in VertexMutations class could not add the elements properly.
> By creating new LongWritable instance for targetVertexId parameter, I could remove all edges in one superstep.
> But I'm doubt that I found that the Edge e also gets one same instance during 'for' loop. Maybe the problem exists in vertex.getEdges() not e.getTargetVertexId().

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira