giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GIRAPH-675) Mutable edge iterator gets corrupted by calling vertex.getNumEdges() during iteration
Date Sat, 01 Jun 2013 04:56:21 GMT

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

Hudson commented on GIRAPH-675:
-------------------------------

Integrated in Giraph-trunk-Commit #960 (See [https://builds.apache.org/job/Giraph-trunk-Commit/960/])
    GIRAPH-675: Mutable edge iterator gets corrupted by calling vertex.getNumEdges() during
iteration (apresta) (Revision c5fe858e9cf7ccd5746aa1168414b42b79c4adc2)

     Result = FAILURE
alessandro : http://git-wip-us.apache.org/repos/asf?p=giraph.git&a=commit&h=c5fe858e9cf7ccd5746aa1168414b42b79c4adc2
Files : 
* giraph-core/src/test/java/org/apache/giraph/graph/TestVertexAndEdges.java
* giraph-core/src/main/java/org/apache/giraph/edge/MutableEdgesWrapper.java
* giraph-core/src/main/java/org/apache/giraph/edge/MutableEdgesIterable.java
* giraph-core/src/main/java/org/apache/giraph/graph/Vertex.java
* CHANGELOG

                
> Mutable edge iterator gets corrupted by calling vertex.getNumEdges() during iteration
> -------------------------------------------------------------------------------------
>
>                 Key: GIRAPH-675
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-675
>             Project: Giraph
>          Issue Type: Bug
>            Reporter: Alessandro Presta
>            Assignee: Alessandro Presta
>         Attachments: GIRAPH-675.patch, GIRAPH-675.patch, GIRAPH-675.patch
>
>
> This affects the generic implementation of the mutable iterator. When size() is called,
we first call unwrap() to move all remaining edges to the new iterator. This clearly breaks
if it's called while iterating (it will exhaust the same iterator we're using).
> The fix is to add a numEdges field to MutableEdgesWrapper, which is initialized to the
original number of edges, and decremented whenever remove() is called on the mutable iterator.

--
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

Mime
View raw message