[ https://issues.apache.org/jira/browse/GIRAPH-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13107625#comment-13107625 ]
Jake Mannix commented on GIRAPH-36: ----------------------------------- Looking into this a bit further, I think I do like the idea of: VertexReader: 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: 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