You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@giraph.apache.org by "Avery Ching (Commented) (JIRA)" <ji...@apache.org> on 2011/11/01 07:24:32 UTC

[jira] [Commented] (GIRAPH-36) Ensure that subclassing BasicVertex is possible by user apps

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

Avery Ching commented on GIRAPH-36:
-----------------------------------

Regarding 1) I think it would be safer for use to take away setGraphState() from createVertex to avoid anyone mucking with the GraphState in the VertexInputFormat.  It's kind of a nasty thing and would be preferable for users to not know about it.  Actually, in our current code, we call setGraphState prior to processing each vertex anyway (see GraphMapper.java), so the graph state not being set shouldn't be an issue.

As far as 2), I really am curious to know what the use case for it is.  I personally think it's a little weird.  Currently, we don't do any processing on messages for superstep -1 (input superstep).  So I guess the messages would be processed in superstep 0?  

Anyway, once we figure out 1), please work on your formatting (i.e. a couple of if(cond) instead of if (cond) and at least keep spaces consistent per file.  Then we can commit it.  Oh, and if there are any warnings, please take care of them.  I picked up a lot of warnings from a recent Giraph commit...


                
> 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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira