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

Maja Kabiljo commented on GIRAPH-409:
-------------------------------------

Great ideas, Nitay! 

1,2 - Definitely, our packaging is very bad. Maybe graph could be split by 
functionality, i.e. vertices/aggregators/input etc.
4 - Not used, also we can remove MasterClientServer, and just use separate 
classes on master also.
5,6 - Agreed, it should be cleaned up.
7 - Looking forward to see what you have in mind for this.
10 - Moving test classes was mentioned some time ago 
(http://mail-archives.apache.org/mod_mbox/giraph-dev/201208.mbox/%[email protected]%3E),
 but I wasn't successful in doing it. Please go ahead!
                
> 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

Reply via email to