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