[ 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