me too that sounds great Alessandro. +1
On Mon, Mar 11, 2013 at 4:13 PM, Claudio Martella (JIRA) <[email protected]>wrote: > > [ > https://issues.apache.org/jira/browse/GIRAPH-556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13599455#comment-13599455] > > Claudio Martella commented on GIRAPH-556: > ----------------------------------------- > > I think Eli has a point, and i'm +1 on Alessandro's solution :). > > > Race condition in EdgeStore > > --------------------------- > > > > Key: GIRAPH-556 > > URL: https://issues.apache.org/jira/browse/GIRAPH-556 > > Project: Giraph > > Issue Type: Bug > > Reporter: Alessandro Presta > > Assignee: Alessandro Presta > > Priority: Critical > > Attachments: GIRAPH-556.patch, GIRAPH-556.patch > > > > > > In EdgeStore#addPartitionEdges(), when there is no VertexEdges data > structure for a vertex, we try to insert a newly-created one. If the > insertion is successful, we initialize it and later insert an edge in the > synchronized block. > > It can happen that, between creation and initialization, another thread > acquires the lock and tries to add an edge, leading to a > NullPointerException for many implementations of VertexEdges. > > The fix is to create and initialize the structure before we try to > insert it. > > -- > 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 >
