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, 

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: https://issues.apache.org/jira/browse/GIRAPH-36
>             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: http://www.atlassian.com/software/jira


Reply via email to