incubator-giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jake Mannix (JIRA)" <>
Subject [jira] [Commented] (GIRAPH-36) Ensure that subclassing BasicVertex is possible by user apps
Date Mon, 19 Sep 2011 05:23:08 GMT


Jake Mannix commented on GIRAPH-36:

Looking into this a bit further, I think I do like the idea of:


boolean nextVertex() throws IOException, InterruptedException;
BasicVertex<I, V, E, M> getCurrentVertex() throws IOException, InterruptedException;

The trick is that now VertexReader is the one doing the instantiation of the BasicVertex instances,
which means it will need a handle on the GraphState, but that's fine - the only place where
the VertexInputFormat is currently instantiated is in BspServiceMaster and BspServiceWorker,
where there is a handle on the GraphState anyways.

I'm just going to try and finish coding this up with the patch to GIRAPH-28 also applied,
so I have a proven use-case already in hand to verify it makes sense / works on a cluster.

> Ensure that subclassing BasicVertex is possible by user apps
> ------------------------------------------------------------
>                 Key: GIRAPH-36
>                 URL:
>             Project: Giraph
>          Issue Type: Improvement
>          Components: graph
>    Affects Versions: 0.70.0
>            Reporter: Jake Mannix
>            Assignee: Jake Mannix
>            Priority: Blocker
>             Fix For: 0.70.0
> Original assumptions in Giraph were that all users would subclass Vertex (which extended
MutableVertex extended BasicVertex).  Classes which wish to have application specific data
structures (ie. not a TreeMap<I, Edge<I,E>>) may need to extend either MutableVertex
or BasicVertex.  Unfortunately VertexRange extends ArrayList<Vertex>, and there are
other places where the assumption is that vertex classes are either Vertex, or at least MutableVertex.
> Let's make sure the internal APIs allow for BasicVertex to be the base class.

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message