giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claudio Martella (Commented) (JIRA)" <>
Subject [jira] [Commented] (GIRAPH-36) Ensure that subclassing BasicVertex is possible by user apps
Date Tue, 18 Oct 2011 14:59:10 GMT


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

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:
>             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:!default.jspa
For more information on JIRA, see:


View raw message