[ 
https://issues.apache.org/jira/browse/GIRAPH-36?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13129777#comment-13129777
 ] 

Claudio Martella commented on GIRAPH-36:
----------------------------------------

I've been working on contributing to this patch. I basically substituted 
everywhere the system expects Vertex a BasicVertex. This does work until I 
reach BspServiceWorker.loadVertexRange() where vertex.readField() is used to 
restore a checkpoint. The problem is that Writable is implemented by 
MutableVertex instead of BasicVertex. This problem is also present in 
VertexInputFormats where we would call mutating methods while creating the 
vertex, so we cannot really rely on BasicVertex. If we use MutableVertex on 
that API, then we require the user apps to extends MutableVertex.

So I guess the idea of this refactor is either to switch to MutableVertex, 
create a Vertex that is not finalized or just unify the whole thing.

What do you think?


                
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to