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

jirapos...@reviews.apache.org commented on GIRAPH-116:
------------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3349/
-----------------------------------------------------------

Review request for giraph.


Summary
-------

* Changed Vertex.java to HashMapVertex.java.  This makes it less likely folks 
will use it as a default.  I have included comments that suggest EdgeListVertex 
for static graphs (most cases).

* Found and fixed bugs in EdgeListVertex with the way that binarySearch was 
being used.  Added unittests to check for adding/getting/removing edges.

* Changed classes that extend Vertex to extending EdgeListVertex instead.

* Changed MutableVertex to BasicVertex for addVertex, addVertexReq to be a 
little safer

* Tried to make sure that when a class that extends MutableVertex is 
instantiated that it also will call readFields() or initialize().  This fixed 
several bugs.

* Changed the interface of BasicVertex#initialize from  public abstract void 
initialize(I vertexId, V vertexValue, Map<I, E> edges, List<M> messages) to 
initialize(I vertexId, V vertexValue, Map<I, E> edges, Iterable<M> messages) to 
better fit the recent changes to BasicVertex getting/setting messages with an 
Iterable.

* Found and removed duplicated code from several MutableVertex extended classes 
for addVertexRequest, removeVertexRequest, addEdgeRequest and removeEdgeRequest.

* Changed Vertex cast to BasicVertex cast in Partition and MockUtils.

* There are some tabs --> spaces conversions done automatically from my Ecipse 
settings for the files I touched.


This addresses bug GIRAPH-116.
    https://issues.apache.org/jira/browse/GIRAPH-116


Diffs
-----

  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/benchmark/PageRankBenchmark.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/benchmark/PseudoRandomVertexInputFormat.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/BasicRPCCommunications.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/CommunicationsInterface.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/WorkerCommunications.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleCheckpointVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleCombinerVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleFailVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleMsgVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleMutateGraphVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleShortestPathsVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleSuperstepVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleVertexWithWorkerContext.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/VerifyMessage.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/BasicVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/BasicVertexResolver.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/BspUtils.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/EdgeListVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/HashMapVertex.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/IntIntNullIntVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/LongDoubleFloatDoubleVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/MutableVertex.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/VertexResolver.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/Partition.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/test/java/org/apache/giraph/TestBspBasic.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/test/java/org/apache/giraph/TestJsonBase64Format.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/test/java/org/apache/giraph/TestVertexTypes.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/test/java/org/apache/giraph/examples/SimpleShortestPathVertexTest.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/test/java/org/apache/giraph/lib/TestLongDoubleDoubleAdjacencyListVertexInputFormat.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/test/java/org/apache/giraph/lib/TestTextDoubleDoubleAdjacencyListVertexInputFormat.java
 1226330 
  
http://svn.apache.org/repos/asf/incubator/giraph/trunk/src/test/java/org/apache/giraph/utils/MockUtils.java
 1226330 

Diff: https://reviews.apache.org/r/3349/diff


Testing
-------

Passed unittests and pseudo-distributed MR tests.  Passed newly added unittests 
as well for EdgeListVertex.


Thanks,

Avery


                
> Make EdgeListVertex the default vertex implementation, fix bugs related to 
> EdgeListVertex.
> ------------------------------------------------------------------------------------------
>
>                 Key: GIRAPH-116
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-116
>             Project: Giraph
>          Issue Type: Improvement
>            Reporter: Avery Ching
>            Assignee: Avery Ching
>         Attachments: GIRAPH-116.patch
>
>
> I think this would best for new users as it is much more memory efficient 
> than Vertex with respect to edges (list vs hash map).  We seem to be mostly 
> iterating over the edges (as several others had pointed out in earlier JIRAs 
> and emails), so this would provide early users with a more memory efficient 
> implementation without performance loss.  If anyone disagrees, please voice 
> your opinions.

--
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

        

Reply via email to