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

(Updated March 19, 2013, 12:47 a.m.)


Review request for giraph.


Changes
-------

Fixed the inconsistent semantics by introducing MutableEdgesWrapper, a utility 
class used to build the new out-edges data structure while iterating over the 
old one.
Regardless of when and how iteration is terminated, the remaining (unmodified) 
edges are kept around and eventually moved to the new data structure.


Description
-------

- Renamed the current MutableEdge to ReusableEdge, which must be considered a 
Giraph internal. Introduced MutableEdge as an edge whose value can be mutated. 
This is what we expose to the user when we want to allow in-place mutations.
- Added Vertex#getMutableEdge() which returns an iterable of mutable edges. The 
remove() method of its iterator works as expected.
There is a default implementation that builds a new VertexEdges as we iterate, 
and specialized implementations where it makes sense.
- Added setEdgeValue() for completeness since we have getEdgeValue().
- Added test cases to cover all default and specialized implementations.
- Removed unused PairListWritable class.


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


Diffs (updated)
-----

  
giraph-core/src/main/java/org/apache/giraph/conf/ImmutableClassesGiraphConfiguration.java
 7075999826b66d59911e1ab864245fed5de88d02 
  giraph-core/src/main/java/org/apache/giraph/edge/ArrayListEdges.java 
98b1aefc7c8df38cc60675f8759cce890e50d5a7 
  giraph-core/src/main/java/org/apache/giraph/edge/ByteArrayEdges.java 
6201d257fb11c9607cf13b5ccd9834a5c729fc39 
  giraph-core/src/main/java/org/apache/giraph/edge/DefaultEdge.java 
461bff37ac4f1ffe13a4fd12572c7f23998a6d00 
  giraph-core/src/main/java/org/apache/giraph/edge/EdgeFactory.java 
35992074c15dcbdbdf6c9596b9cb383b3ada15ad 
  giraph-core/src/main/java/org/apache/giraph/edge/EdgeNoValue.java 
dd22aecf996f0ffa098df213a2a5b87afa51d006 
  giraph-core/src/main/java/org/apache/giraph/edge/EdgeStore.java 
1f6e9bb4d37aa9a5f37f24e3c14fd0945b4cacc8 
  giraph-core/src/main/java/org/apache/giraph/edge/HashMapEdges.java 
2600992b39a7fab770c33470e110700d331d96b7 
  giraph-core/src/main/java/org/apache/giraph/edge/HashMultimapEdges.java 
143d7a4bf76fd0dfe2882eea08e7421611dc9db5 
  giraph-core/src/main/java/org/apache/giraph/edge/LongDoubleArrayEdges.java 
f164484bc7b5ce5c900c37eae39671ca320ee4e1 
  giraph-core/src/main/java/org/apache/giraph/edge/LongDoubleHashMapEdges.java 
68bd85f94f1029d53b4e27e98154d3623c693320 
  giraph-core/src/main/java/org/apache/giraph/edge/LongNullArrayEdges.java 
528acb278507b441a044dbcdff507ca8ab0e89d9 
  giraph-core/src/main/java/org/apache/giraph/edge/LongNullHashSetEdges.java 
26c57aef6326acdee06a28f53b5a2691d1c0eb5e 
  giraph-core/src/main/java/org/apache/giraph/edge/MapMutableEdge.java 
PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/edge/MutableEdge.java 
bf00b4f851db703f2097cc0a5608d425aa8f03b1 
  giraph-core/src/main/java/org/apache/giraph/edge/MutableEdgesWrapper.java 
PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/edge/MutableVertexEdges.java 
PRE-CREATION 
  giraph-core/src/main/java/org/apache/giraph/edge/ReusableEdge.java 
PRE-CREATION 
  
giraph-core/src/main/java/org/apache/giraph/edge/StrictRandomAccessVertexEdges.java
 36381a70533e93296280bd3507df05b16f16d8b3 
  giraph-core/src/main/java/org/apache/giraph/graph/ComputeCallable.java 
439ee5b2a46a290c2c4c8f184dbf39806f2a9f9a 
  giraph-core/src/main/java/org/apache/giraph/graph/Vertex.java 
66f081a37a6533457ebe5d0dd1c50cc80ae347da 
  giraph-core/src/main/java/org/apache/giraph/utils/ByteArrayVertexIdEdges.java 
8a5fb01685a96dc503cf98b6daa3579e9ea891fd 
  giraph-core/src/main/java/org/apache/giraph/utils/PairListWritable.java 
413656b530ecb47c39f6e68a1dfd55e8e327938a 
  giraph-core/src/test/java/org/apache/giraph/edge/TestNullValueEdges.java 
ef3fbc8469bfdc849657852d713839379cfcc2a1 
  
giraph-core/src/test/java/org/apache/giraph/edge/TestStrictRandomAccessEdges.java
 e6daa94f92a2e201019618692426fa5a59415b57 
  giraph-core/src/test/java/org/apache/giraph/graph/TestVertexAndEdges.java 
425abe7f7adf852aec198b15e516c3f1e8a6d7b0 
  
giraph-hive/src/main/java/org/apache/giraph/hive/input/edge/HiveEdgeReader.java 
e0c502c8942158be1c151d986302077c0feb520b 

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


Testing
-------

1) mvn verify
2) Implemented weighted pagerank with weight normalization that uses the new 
functionality


Thanks,

Alessandro Presta

Reply via email to