You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@giraph.apache.org by "Jake Mannix (Updated) (JIRA)" <ji...@apache.org> on 2011/10/29 10:57:35 UTC

[jira] [Updated] (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:all-tabpanel ]

Jake Mannix updated GIRAPH-36:
------------------------------

    Attachment: GIRAPH-36.diff

This patch is gigantic, sorry.  It resolves this current ticket by simultaneously resolving GIRAPH-28 as a proof-of-concept: 

Introduces a primitive-only BasicVertex subclass which is *not* a MutableVertex, let alone a subclass of Vertex.  In particular, to verify nontriviality, it actually replaces the SimplePageRankVertex with a subclass of LongDoubleFloatDoubleVertex (the aforemetioned example primitive vertex).

This required some extensive refactoring, all over the place.  Unit tests currently pass on my box, but I doubt that this patch is really ready for prime-time.

Try it out!

(Note: code style is probably also a mess, again, sorry.  Couldn't find a checksyle set up anywhere with the new guidelines... and it looks like most of the old code still uses the old whitespace rules anyways...)
                
> 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