giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maja Kabiljo (JIRA)" <>
Subject [jira] [Commented] (GIRAPH-556) Race condition in EdgeStore
Date Fri, 08 Mar 2013 16:48:13 GMT


Maja Kabiljo commented on GIRAPH-556:

So when is it legal to call just createVertexEdges()? For example in addVertexRequest(I, V)
we don't initialize them, is that going to cause an issue?
> Race condition in EdgeStore
> ---------------------------
>                 Key: GIRAPH-556
>                 URL:
>             Project: Giraph
>          Issue Type: Bug
>            Reporter: Alessandro Presta
>            Assignee: Alessandro Presta
>            Priority: Critical
>         Attachments: 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:

View raw message