Jake Mannix commented on GIRAPH-36:

1) BspUtils.createVertex(Configuration conf, GraphState<I,V,E,M> graphState) 
requires access to the GraphState for instantiation, currently.  We could avoid 
it by taking that setGraphState() away from that method and leaving it in 
wherever it gets first used (GraphMapper?), but why not be safe, and always set 
it right after instantiation, so you know that there's no other place where 
someone decides to do BspUtils.createVertex(), but forgets to then 
setGraphState() on it.  

2) I really don't know whether it makes sense to be able to instantiate 
"in-flight" messages with vertices.  I just wanted to future-proof the API a 
little bit by allowing for the possibility.  I'm fine either way.
> 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
>         Attachments: GIRAPH-36.diff
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators: 
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to