giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nitay Joffe (JIRA)" <j...@apache.org>
Subject [jira] [Created] (GIRAPH-409) Refactor / cleanups
Date Tue, 06 Nov 2012 01:04:12 GMT
Nitay Joffe created GIRAPH-409:
----------------------------------

             Summary: Refactor / cleanups
                 Key: GIRAPH-409
                 URL: https://issues.apache.org/jira/browse/GIRAPH-409
             Project: Giraph
          Issue Type: Improvement
            Reporter: Nitay Joffe
            Assignee: Nitay Joffe
            Priority: Minor


Some general thoughts I've jotted down while going through the code. Writing them here to
start tracking progress for them.

1. Refactor giraph.graph to giraph.master, giraph.worker. The whole giraph.graph package name
is bad in general I think.
2. Cleanup giraph.utils. For example move timers stuff to giraph.time.
3. Change module names to be more maven-esque, that is something like giraph-root, giraph-core,
giraph-formats.
4. Remove WorkerClientServer. Is this needed anymore?
5. Cleanup MasterThread#run: long convoluted method.
6. Cleanup BspService#process: lots of duplication. Use a vector of events or something.
7. Cleanup Vertex class: seems to me it has too many methods and should be a simpler interface
(maybe even eventually an actual interface! not an abstract class). Add something like a Vertexes/Vertices
class with helper methods that use can use.
8. {Master,Worker}Observer. Discussed elsewhere already. ALlow users to easily plug in code
at various points in the system. Essentially a cleaner implementation of e.g. WorkerContext
9. Cleanup GraphMapper. I don't see why we even call a map() method seeing as we are overriding
run(). We are clearly not particularly "mapreduce-y" so we should make it our entry point
more clear than a map(). Also I think we should have something like a WorkerThread similar
to MasterThread and clean up all of this to just creare whichever threads the node is assigned
roles of. 
10. Move examples and anything else not needed for a giraph library out into it's own package
(like giraph-examples)?


If someone +1s the ideas I'll work up some patches. Feel free to add other cleanup things
here as well.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message