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

Hudson commented on GIRAPH-494:
-------------------------------

Integrated in Giraph-trunk-Commit #656 (See 
[https://builds.apache.org/job/Giraph-trunk-Commit/656/])
    GIRAPH-494: Make Edge an interface (nitay) (Revision 
10ad3c025fb501a1c79d349de115f9605c5e1e0b)

     Result = FAILURE
nitay : 
http://git-wip-us.apache.org/repos/asf?p=giraph.git&a=commit&h=10ad3c025fb501a1c79d349de115f9605c5e1e0b
Files : 
* 
giraph-core/src/main/java/org/apache/giraph/examples/SimpleTriangleClosingVertex.java
* 
giraph-core/src/main/java/org/apache/giraph/examples/LongDoubleFloatDoubleTextInputFormat.java
* 
giraph-core/src/main/java/org/apache/giraph/utils/UnmodifiableLongNullEdgeArrayIterable.java
* 
giraph-core/src/main/java/org/apache/giraph/io/formats/TextEdgeInputFormat.java
* 
giraph-core/src/main/java/org/apache/giraph/vertex/LongDoubleFloatDoubleEdgeListVertex.java
* 
giraph-core/src/main/java/org/apache/giraph/comm/netty/NettyWorkerClientRequestProcessor.java
* giraph-core/src/main/java/org/apache/giraph/comm/SendMutationsCache.java
* 
giraph-core/src/test/java/org/apache/giraph/io/TestTextDoubleDoubleAdjacencyListVertexInputFormat.java
* 
giraph-core/src/main/java/org/apache/giraph/examples/SimpleSuperstepVertex.java
* 
giraph-core/src/main/java/org/apache/giraph/io/formats/JsonLongDoubleFloatDoubleVertexInputFormat.java
* 
giraph-core/src/main/java/org/apache/giraph/io/formats/TextVertexInputFormat.java
* 
giraph-core/src/test/java/org/apache/giraph/examples/SimpleShortestPathsVertexTest.java
* giraph-core/src/main/java/org/apache/giraph/vertex/IntNullNullNullVertex.java
* giraph-core/src/test/java/org/apache/giraph/vertex/TestMultiGraphVertex.java
* 
giraph-core/src/main/java/org/apache/giraph/io/formats/PseudoRandomVertexInputFormat.java
* giraph-core/src/main/java/org/apache/giraph/examples/RandomWalkVertex.java
* 
giraph-core/src/main/java/org/apache/giraph/vertex/RepresentativeVertexBase.java
* 
giraph-core/src/main/java/org/apache/giraph/examples/NormalizingLongDoubleFloatDoubleTextInputFormat.java
* giraph-core/src/main/java/org/apache/giraph/vertex/SimpleMutableVertex.java
* giraph-core/src/main/java/org/apache/giraph/vertex/Vertex.java
* 
giraph-core/src/main/java/org/apache/giraph/vertex/LongDoubleNullDoubleVertex.java
* 
giraph-core/src/main/java/org/apache/giraph/examples/SimpleInDegreeCountVertex.java
* 
giraph-core/src/main/java/org/apache/giraph/comm/WorkerClientRequestProcessor.java
* giraph-core/src/main/java/org/apache/giraph/vertex/SimpleVertex.java
* 
giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogEdgeInputFormat.java
* 
giraph-core/src/main/java/org/apache/giraph/conf/ImmutableClassesGiraphConfiguration.java
* giraph-core/src/main/java/org/apache/giraph/vertex/EdgeListVertexBase.java
* 
giraph-core/src/main/java/org/apache/giraph/io/formats/TextDoubleDoubleAdjacencyListVertexInputFormat.java
* giraph-core/src/main/java/org/apache/giraph/graph/VertexMutations.java
* giraph-core/src/main/java/org/apache/giraph/graph/VertexChanges.java
* CHANGELOG
* 
giraph-accumulo/src/test/java/org/apache/giraph/io/accumulo/edgemarker/AccumuloEdgeInputFormat.java
* 
giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeInputFormat.java
* giraph-core/src/main/java/org/apache/giraph/graph/EdgeNoValue.java
* 
giraph-core/src/main/java/org/apache/giraph/io/formats/LongDoubleDoubleAdjacencyListVertexInputFormat.java
* giraph-core/src/test/java/org/apache/giraph/vertex/TestMutableVertex.java
* 
giraph-core/src/test/java/org/apache/giraph/partition/TestGiraphTransferRegulator.java
* 
giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexInputFormat.java
* 
giraph-core/src/main/java/org/apache/giraph/examples/SimpleMutateGraphVertex.java
* 
giraph-core/src/test/java/org/apache/giraph/io/TestAdjacencyListTextVertexOutputFormat.java
* giraph-core/src/test/java/org/apache/giraph/comm/RequestTest.java
* giraph-core/src/main/java/org/apache/giraph/graph/Edge.java
* 
giraph-core/src/main/java/org/apache/giraph/vertex/LongDoubleFloatDoubleVertex.java
* giraph-core/src/main/java/org/apache/giraph/graph/DefaultEdge.java
* 
giraph-core/src/main/java/org/apache/giraph/utils/UnmodifiableLongFloatEdgeArrayIterable.java
* 
giraph-core/src/test/java/org/apache/giraph/vertex/TestIntIntNullIntVertex.java
* giraph-core/src/main/java/org/apache/giraph/graph/MutableEdge.java
* giraph-core/src/main/java/org/apache/giraph/vertex/HashMapVertex.java
* giraph-core/src/main/java/org/apache/giraph/examples/VerifyMessage.java
* giraph-core/src/main/java/org/apache/giraph/utils/EdgeIterables.java
* 
giraph-core/src/test/java/org/apache/giraph/io/TestLongDoubleDoubleAdjacencyListVertexInputFormat.java
* 
giraph-core/src/main/java/org/apache/giraph/examples/SimpleCheckpointVertex.java
* giraph-core/src/main/java/org/apache/giraph/examples/SimplePageRankVertex.java
* 
giraph-core/src/test/java/org/apache/giraph/examples/SimpleTriangleClosingVertexTest.java
* 
giraph-core/src/main/java/org/apache/giraph/io/formats/JsonBase64VertexInputFormat.java
* 
giraph-core/src/main/java/org/apache/giraph/io/formats/PseudoRandomEdgeInputFormat.java
* 
giraph-core/src/main/java/org/apache/giraph/io/formats/IntIntNullIntTextInputFormat.java

                
> Edge should be an interface
> ---------------------------
>
>                 Key: GIRAPH-494
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-494
>             Project: Giraph
>          Issue Type: Bug
>            Reporter: Nitay Joffe
>            Assignee: Nitay Joffe
>         Attachments: GIRAPH-494.patch
>
>
> In terms of architecture and for flexibility I think our Edge class should be 
> an interface instead of a real class. In this diff I change it to an 
> interface and add a sub interface called MutableEdge. The existing Edge class 
> is now called DefaultEdge. Note that only one class in our codebase actually 
> needs a MutableEdge - RepresentativeVertex. Everything else works perfectly 
> fine using the immutable Edge interface.
> One nice thing this allowed me to do is to create a EdgeNoValue which we can 
> use for algorithms whose edges have no value at all. Currently the same 
> functionality is achieved by using NullWritable, however using EdgeNoValue 
> means not storing a reference to the single NullWritable instance in every 
> single edge. Working on a job that reads 1B+ edges per worker, a pointer per 
> edge adds up.
> https://reviews.apache.org/r/9172/

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