Thanks! Claudio is also planning to take a look. From: Eli Reisman <[email protected]<mailto:[email protected]>> Date: Tuesday, March 5, 2013 8:52 AM To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>, k a <[email protected]<mailto:[email protected]>> Subject: Re: Review Request: GIRAPH-528
Wow, Alessandro this looks like it was a ton of work. Everything I see so far looks great. I am having a bit of a monster week here but I will sit down and give this a thoughtful review ASAP. Thanks! On Tue, Mar 5, 2013 at 12:47 AM, Alessandro Presta <[email protected]<mailto:[email protected]>> wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/9732/ ----------------------------------------------------------- (Updated March 5, 2013, 8:47 a.m.) Review request for giraph. Changes ------- - Replaced Trove with Fastutil. - Reimplemented LongDoubleArrayEdges and LongNullArrayEdges with Fastutil. Thanks to access to the underlying arrays, and because we don't need to preserve the ordering of edges, I was able to make removal of all edges pointing to a given vertex linear time instead of quadratic. This also means in-place removal of an edge during iteration (GIRAPH-547) will be constant time. - Implemented LongDoubleHashMapEdges and LongNullHashSetEdges using Fastutil's open hash maps. Description ------- I'm putting this here so we can start the review, even though there are a couple outstanding items: - replace Trove with an Apache-compatible primitive collections library - add primitive hash-map edges implementations Summary of changes: - Vertex: only one abstract Vertex class. All vertices are mutable. Removed some unused methods that unnecessarily exposed internals. It delegates edge storage to VertexEdges. When an Iterable is passed to setEdges(), it checks whether it's an instance of VertexEdges (just copy the reference) or not (create and initialize VertexEdges with the Iterable). The former is the case with edge input (i.e. EdgeStore), the latter often happens with vertex input. - VertexEdges: interface for the out-edges data structure. Removed unused return values for add()/remove(): we don't need them because PartitionStats are updated after each compute(), so it's irrational to require them and then discard them. - EdgeStore: incoming edges are aggregated in the VertexEdges implementation of choice. Moving them to the owner vertex involves simply passing a reference. - ImmutableClassesGiraphConfiguration: added factory methods for VertexEdges. Depending on the needs, one can only instantiate the class, or also initialize it with either an initial capacity or an Iterable. For example, in a VertexInputFormat, one may already have a list of edges (call with iterable) or read the number of edges and then stream over the input (call with capacity, then add each edge). - Edge: removed Comparable implementation. It was only used by a test (which, by the way, didn't need it). We shouldn't expose to the user more functionality than is needed to write Giraph applications. - ByteArrayEdges: this is the default VertexEdges implementation, as it's generic and reasonably efficient. I moved the representative edge inside ByteArrayEdgeIterator for better encapsulation. The "only one iterator at a time" constraint differs from other implementations, and the gain is negligible (we still have to instantiate an ExtendedDataOutput for each iterator creation). - ArrayListEdges, HashMapEdges, LongDoubleArrayEdges, LongNullArrayEdges: these are the other provided implementations. the first two are generic, the second two are backed by dynamic arrays of primitives. The iterators they return are read-only. ArrayListEdges can recognize if it's being initialized with an ArrayList, and in that case just copies the reference (optimized for some VertexInputFormats). - general cleanup: removed unneeded or buggy classes like BspUtils; fixed some tests that could only work with Java collection-backed edges (introduced EdgeIterables.equal() to correctly compare two edge iterables); removed the plethora of Vertex implementations, most of which were either unused or only used in a test. This addresses bug GIRAPH-528. https://issues.apache.org/jira/browse/GIRAPH-528 Diffs (updated) ----- giraph-accumulo/src/test/java/org/apache/giraph/io/accumulo/TestAccumuloVertexFormat.java 8894199503a972072fc69a49ad1faf5419aa4551 giraph-accumulo/src/test/java/org/apache/giraph/io/accumulo/edgemarker/AccumuloEdgeInputFormat.java 30d40f621c028a5d01d64b0c035fa3adf374b73a giraph-accumulo/src/test/java/org/apache/giraph/io/accumulo/edgemarker/AccumuloEdgeOutputFormat.java 70288f68dcb3131834703f6bd0b500d238bc32bf giraph-core/pom.xml 5ce3eaa126f7f4dece5cec98f648c7da84c2646a giraph-core/src/main/java/org/apache/giraph/benchmark/AggregatorsBenchmark.java 4e4704262bf7ce70c4584c8172a60e1f7a0aeb28 giraph-core/src/main/java/org/apache/giraph/benchmark/ByteArrayVertexPageRankBenchmark.java 7e51c261c5157ad0935e1388f8a9a7a9f0f38acc giraph-core/src/main/java/org/apache/giraph/benchmark/EdgeListVertexPageRankBenchmark.java fe1e346b39bec2eb2ee29bd68c813e5a21e35b2e giraph-core/src/main/java/org/apache/giraph/benchmark/HashMapVertexPageRankBenchmark.java ef3754078a373947117acd18ee75cd6ef8cf3d92 giraph-core/src/main/java/org/apache/giraph/benchmark/HashMapVertexShortestPathsBenchmark.java a9d6deb8007f107b4c1e29b0f0eaa2d400ffe20d giraph-core/src/main/java/org/apache/giraph/benchmark/MultiGraphByteArrayVertexPageRankBenchmark.java 9144641f3c359c28588ad489993cdb2657041b14 giraph-core/src/main/java/org/apache/giraph/benchmark/MultiGraphEdgeListVertexPageRankBenchmark.java 712ca99f9076729270619e66cb0da83fc78e0a36 giraph-core/src/main/java/org/apache/giraph/benchmark/MultiGraphRepresentativeVertexPageRankBenchmark.java 96288323e6028e779113d2520ea9edad497bb0e1 giraph-core/src/main/java/org/apache/giraph/benchmark/PageRankBenchmark.java 06ee80cff101e3b759e19703cd2915209629d895 giraph-core/src/main/java/org/apache/giraph/benchmark/PageRankComputation.java 57cc201e5a01e9a9c4307a82867ceb1322697646 giraph-core/src/main/java/org/apache/giraph/benchmark/PageRankVertex.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/benchmark/RandomMessageBenchmark.java c8e33dde71019ac249ffec43e0bfdebca0920637 giraph-core/src/main/java/org/apache/giraph/benchmark/RepresentativeVertexPageRankBenchmark.java 331ae41a2c0df6b124cbf33944b05f080b49ce94 giraph-core/src/main/java/org/apache/giraph/benchmark/ShortestPathsBenchmark.java 1843da92119cb31025a000f02b0e84a5e47dcc20 giraph-core/src/main/java/org/apache/giraph/benchmark/ShortestPathsComputation.java 19f557509c38dd9a2f74fbdaad06a89d30b29ff7 giraph-core/src/main/java/org/apache/giraph/benchmark/ShortestPathsVertex.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/bsp/BspOutputFormat.java 65c3ebc7974574f9814ab821d1c63237c8a49037 giraph-core/src/main/java/org/apache/giraph/bsp/BspUtils.java 335047d506f15c6047c546df60a15481bfaa0cae giraph-core/src/main/java/org/apache/giraph/comm/MsgList.java 140b6e836dad8eeb099e14c994c2d40e0269acac giraph-core/src/main/java/org/apache/giraph/comm/SendEdgeCache.java f239c1a6a47620c49d4dc3e71066f7629fa5b15d giraph-core/src/main/java/org/apache/giraph/comm/SendMutationsCache.java 9ea968a84abab1081be052692445ebb3db145dcf giraph-core/src/main/java/org/apache/giraph/comm/SendPartitionCache.java 911b6ba42a2f338a71aa247fc70f0f85541d9c50 giraph-core/src/main/java/org/apache/giraph/comm/ServerData.java 7b4baa1a7ffc74343cb959e1df23aa9ab24f7376 giraph-core/src/main/java/org/apache/giraph/comm/WorkerClientRequestProcessor.java 43311f4e4fe7d61fd77fa91ae23280c02a4940a7 giraph-core/src/main/java/org/apache/giraph/comm/messages/DiskBackedMessageStoreByPartition.java 6e6cb9b2382c702a6040691634f7f623effae9ba giraph-core/src/main/java/org/apache/giraph/comm/messages/SequentialFileMessageStore.java c2c6141cc3efc243ee6b1a6c4aea570b542d541f giraph-core/src/main/java/org/apache/giraph/comm/netty/NettyWorkerClientRequestProcessor.java 0fc1858f16c0302c60064c912f3549981eb756b7 giraph-core/src/main/java/org/apache/giraph/comm/netty/NettyWorkerServer.java 697b6ce54afb1339c5fd52ab7add229a8afd19d0 giraph-core/src/main/java/org/apache/giraph/comm/requests/SendWorkerEdgesRequest.java f301bbfd89397c716f47a0885b9fa085eedca742 giraph-core/src/main/java/org/apache/giraph/conf/GiraphClasses.java 5c2a01a226202eb1ceba5857f140eef4ed31ed48 giraph-core/src/main/java/org/apache/giraph/conf/GiraphConfiguration.java 3ea8d3be522afd5b58710654fda1e8fceeb9d207 giraph-core/src/main/java/org/apache/giraph/conf/GiraphConstants.java fcdd57bdf7a44cf222b5d8b1e597216d92b80551 giraph-core/src/main/java/org/apache/giraph/conf/ImmutableClassesGiraphConfiguration.java e6c4cc640515fddf15cff024fa783cf7eaff890b giraph-core/src/main/java/org/apache/giraph/edge/ArrayListEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/ByteArrayEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/ConfigurableVertexEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/DefaultEdge.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/Edge.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/EdgeFactory.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/EdgeNoValue.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/EdgeStore.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/HashMapEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/HashMultiMapEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/LongDoubleArrayEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/LongDoubleHashMapEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/LongNullArrayEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/LongNullHashSetEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/MultiRandomAccessVertexEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/MutableEdge.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/StrictRandomAccessVertexEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/VertexEdges.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/edge/package-info.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/graph/ComputeCallable.java c7aff7c220214ce0220000ab009a9bf8407486cc giraph-core/src/main/java/org/apache/giraph/graph/DefaultEdge.java 039f0d7f876800d186780d7296ed0e86601abf07 giraph-core/src/main/java/org/apache/giraph/graph/DefaultVertexResolver.java c88b2b9cedf1c29bad31e4ffb821a4c6a953ea95 giraph-core/src/main/java/org/apache/giraph/graph/Edge.java 185e3c357a8cc163d85c1b235e57bb9e46e74054 giraph-core/src/main/java/org/apache/giraph/graph/EdgeFactory.java a3e6efb311091446d7baaa21f46845460815c770 giraph-core/src/main/java/org/apache/giraph/graph/EdgeNoValue.java 4ac6759724a4ae6542071584c8638fb6c067ba59 giraph-core/src/main/java/org/apache/giraph/graph/EdgeStore.java 621036787e95cf340e3a873e5a5be33d02ab447f giraph-core/src/main/java/org/apache/giraph/graph/GiraphTransferRegulator.java 726c21e35a04fb86e7177cdb5b2bdae6ed46a104 giraph-core/src/main/java/org/apache/giraph/graph/GraphTaskManager.java 20fa5c50ed38ba2b70b5471354093a01e5440b56 giraph-core/src/main/java/org/apache/giraph/graph/MutableEdge.java 52e4c47f12d710edba6cb011ef20ee8119d0aa46 giraph-core/src/main/java/org/apache/giraph/graph/ReverseEdgeDuplicator.java 4415cc219d8b977210f04cfd4d82cdc2015029e9 giraph-core/src/main/java/org/apache/giraph/graph/Vertex.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/graph/VertexChanges.java ef61dbb47639b573eff93cca6da1c76f9facf1e2 giraph-core/src/main/java/org/apache/giraph/graph/VertexMutations.java fa333412eed62793d87665d1630a8ce6f6faa1d6 giraph-core/src/main/java/org/apache/giraph/graph/VertexResolver.java 4a36706f39077f0d64505138d1c677ae20b84a6a giraph-core/src/main/java/org/apache/giraph/io/EdgeReader.java ed6fad1619f1e71316f062bc073a0fe0bbd83404 giraph-core/src/main/java/org/apache/giraph/io/ReverseEdgeDuplicator.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/io/VertexReader.java 1b1c896eb7b0578d1e8110650e1528120f865935 giraph-core/src/main/java/org/apache/giraph/io/VertexValueReader.java 923ca5c55bf6ac8d12b8662a36dab26e8d128a8f giraph-core/src/main/java/org/apache/giraph/io/VertexWriter.java 82a19bb7f834327913f2db711a2c5c2c570329e3 giraph-core/src/main/java/org/apache/giraph/io/formats/AdjacencyListTextVertexInputFormat.java 5092352d78520d5e27b36c3ca93cd0e0bed2a8e6 giraph-core/src/main/java/org/apache/giraph/io/formats/AdjacencyListTextVertexOutputFormat.java 934663e4cfe83225d194872aeb1c72a2bf02f414 giraph-core/src/main/java/org/apache/giraph/io/formats/IdWithValueTextOutputFormat.java 352f0540cd80b9f6d34ebc78a5203a71ed4e4244 giraph-core/src/main/java/org/apache/giraph/io/formats/IntIntNullIntTextInputFormat.java b00e495a2deccb756353dae7b8323714b9f54ae1 giraph-core/src/main/java/org/apache/giraph/io/formats/IntNullNullNullTextInputFormat.java dda3f2f3399728d3cf51dda6412d03aa10a744a0 giraph-core/src/main/java/org/apache/giraph/io/formats/IntNullReverseTextEdgeInputFormat.java 1e3b64342adf8be4be85e0c2be5d236233c5b7cf giraph-core/src/main/java/org/apache/giraph/io/formats/JsonBase64VertexInputFormat.java 21ca427a6ad3b4afb2971f2e7c434fc383a39be8 giraph-core/src/main/java/org/apache/giraph/io/formats/JsonBase64VertexOutputFormat.java 0599742ee94672f7ab06c655a630bd7fcae9bc5e giraph-core/src/main/java/org/apache/giraph/io/formats/JsonLongDoubleFloatDoubleVertexInputFormat.java 2df20f105f510c9577bcc26dabb2c86b6537b770 giraph-core/src/main/java/org/apache/giraph/io/formats/JsonLongDoubleFloatDoubleVertexOutputFormat.java 9a751ae5d2a16871386a13e0fd83e65f6d050015 giraph-core/src/main/java/org/apache/giraph/io/formats/LongDoubleDoubleAdjacencyListVertexInputFormat.java 4e352014b2cb54d921a80a5427b503b70b945d0c giraph-core/src/main/java/org/apache/giraph/io/formats/PseudoRandomEdgeInputFormat.java 202486380d53b9654a10bf9ea2bc9c093616418a giraph-core/src/main/java/org/apache/giraph/io/formats/PseudoRandomVertexInputFormat.java 4da8f9dcd9aa401acb9d45bb55d3acd86dae461b giraph-core/src/main/java/org/apache/giraph/io/formats/SequenceFileVertexInputFormat.java 6a5813b2ca54e6714298bb14a3ba991038dcc6e9 giraph-core/src/main/java/org/apache/giraph/io/formats/SequenceFileVertexOutputFormat.java 0538db972fabe2ad35c8893062d672a139af60ce giraph-core/src/main/java/org/apache/giraph/io/formats/TextDoubleDoubleAdjacencyListVertexInputFormat.java 36d00dbafb7fc0e245545e050d248cb6e2f2fa2c giraph-core/src/main/java/org/apache/giraph/io/formats/TextEdgeInputFormat.java c9f5df1c622243f555ccaec19e3891d8369fe9fb giraph-core/src/main/java/org/apache/giraph/io/formats/TextVertexInputFormat.java e359f66d211f65e27793f93e2a08848d52824383 giraph-core/src/main/java/org/apache/giraph/io/formats/TextVertexOutputFormat.java 9f1fe1f353530da2b3b6cc3456b2c10836b88ce6 giraph-core/src/main/java/org/apache/giraph/job/GiraphConfigurationValidator.java 16b0d4829659b53f1c2b0c11fa9987a7bff2fd1e giraph-core/src/main/java/org/apache/giraph/partition/ByteArrayPartition.java 2260837309b8c767af7ad310a52d0e05caad65f7 giraph-core/src/main/java/org/apache/giraph/partition/DiskBackedPartitionStore.java 585ab851780676a532bdfe0dce4c0e2fa5d1d317 giraph-core/src/main/java/org/apache/giraph/partition/Partition.java 657c054de5b45f8e3a976e64aaee7842b2013452 giraph-core/src/main/java/org/apache/giraph/partition/SimplePartition.java cbf6bc33e06b62e2a8d3d255046f619e16676ed8 giraph-core/src/main/java/org/apache/giraph/utils/ByteArrayEdges.java 1d8fc26b895a4ed6cb338cb5163ed6cd1b2e3a34 giraph-core/src/main/java/org/apache/giraph/utils/ByteArrayVertexIdEdges.java 1cfd21e447d6a04d2eb5f1cc50fd4acad403dd4f giraph-core/src/main/java/org/apache/giraph/utils/ComparisonUtils.java bb940eab1be82e4e69acf45727d3858ea59bfe44 giraph-core/src/main/java/org/apache/giraph/utils/ConfigurationUtils.java bd2a9c46eb17e7a42d59d55a5906385bc9a6d5b5 giraph-core/src/main/java/org/apache/giraph/utils/EdgeComparator.java PRE-CREATION giraph-core/src/main/java/org/apache/giraph/utils/EdgeIterables.java ab288fb1ccebbc1c5446149212d3d6236699fac0 giraph-core/src/main/java/org/apache/giraph/utils/EmptyIterable.java 382c39c35b127a865c1d103b371f851c851155f7 giraph-core/src/main/java/org/apache/giraph/utils/ExtendedByteArrayDataOutput.java 247130be4501f0008cdad22a199f20eda9646d64 giraph-core/src/main/java/org/apache/giraph/utils/InternalVertexRunner.java 889798fb8813fa2db005376591d07890783a5105 giraph-core/src/main/java/org/apache/giraph/utils/ReflectionUtils.java ae2c556c865e46abb3ce049aebd709ce73d5826b giraph-core/src/main/java/org/apache/giraph/utils/UnmodifiableDoubleArrayIterator.java cdf662ecd9bf54374f24d4caaf01d640024d566b giraph-core/src/main/java/org/apache/giraph/utils/UnmodifiableIntArrayIterator.java c9ba0efa3bcf757477d59cd2958b87e6fd0fbce9 giraph-core/src/main/java/org/apache/giraph/utils/UnmodifiableLongArrayIterator.java c580f9c55b44a05d4125d30669e74a166c89bd6b giraph-core/src/main/java/org/apache/giraph/utils/UnmodifiableLongFloatEdgeArrayIterable.java b7670580939a8e51a8e2eaafc9ba72592875149b giraph-core/src/main/java/org/apache/giraph/utils/UnmodifiableLongNullEdgeArrayIterable.java 18f280ae2bb15750b32bb79e6b2d0c7e8813418b giraph-core/src/main/java/org/apache/giraph/utils/UnsafeByteArrayOutputStream.java da6d6cd9d42baf38b180e80af0cf66212926b171 giraph-core/src/main/java/org/apache/giraph/utils/WritableUtils.java 129923d917269cafa9f1c1f468488d4674a23622 giraph-core/src/main/java/org/apache/giraph/vertex/ByteArrayVertex.java 1e56b208a114a4dd2d987488df0ef32cf0211537 giraph-core/src/main/java/org/apache/giraph/vertex/ByteArrayVertexBase.java 26c3f62faccbb08f95ae62b46b9920805dbf59f9 giraph-core/src/main/java/org/apache/giraph/vertex/EdgeListVertex.java 882bbb8a8277d8fd8a2433d1af72e1ca559d6897 giraph-core/src/main/java/org/apache/giraph/vertex/EdgeListVertexBase.java ec04569669829f8df64c72de0465f9b6ed7e4628 giraph-core/src/main/java/org/apache/giraph/vertex/HashMapVertex.java 2160c3be096271a9c60a27b4113d607b4baa78ee giraph-core/src/main/java/org/apache/giraph/vertex/IntIntNullIntVertex.java a2090e8e12bdc17fce367c47d2567b44c40898f9 giraph-core/src/main/java/org/apache/giraph/vertex/IntNullNullNullVertex.java f36f6dbde928c8e63cba015d26b917490657ff61 giraph-core/src/main/java/org/apache/giraph/vertex/LongDoubleFloatDoubleEdgeListVertex.java 9d4f6e7f513a0bf0b0322405e3e4edae689d0c10 giraph-core/src/main/java/org/apache/giraph/vertex/LongDoubleFloatDoubleVertex.java befadea477f40b1c74c6f87a461921ed8e78d78b giraph-core/src/main/java/org/apache/giraph/vertex/LongDoubleNullDoubleVertex.java 63f1d28363e1bebaeec8ac8723491ca2af085131 giraph-core/src/main/java/org/apache/giraph/vertex/MultiGraphByteArrayVertex.java a50f48dbb43c5aba82450dd32911e61e33adca6b giraph-core/src/main/java/org/apache/giraph/vertex/MultiGraphEdgeListVertex.java b60d8953ab3191e588c02e1503fed4bb753bd66b giraph-core/src/main/java/org/apache/giraph/vertex/MultiGraphRepresentativeVertex.java 4733e2a6011ec8e1cc4eef1d2eb61abe777ec310 giraph-core/src/main/java/org/apache/giraph/vertex/MutableVertex.java a6d7ce523b1b99dc9de28d3762fd3027da01506e giraph-core/src/main/java/org/apache/giraph/vertex/RepresentativeVertex.java f805007b8bb8f89e9388cf89c2e81f92328b2b1c giraph-core/src/main/java/org/apache/giraph/vertex/RepresentativeVertexBase.java 4de6ed85b499e74b04e93c3780324a6b9e9f2b83 giraph-core/src/main/java/org/apache/giraph/vertex/SimpleMutableVertex.java e12f783f407edc1bfdf4c0dcc7f2ffec526e2a78 giraph-core/src/main/java/org/apache/giraph/vertex/SimpleVertex.java ecea3fba7d721f0d51e003ffdc629fc4563b60f7 giraph-core/src/main/java/org/apache/giraph/vertex/Vertex.java a959ef8ec476fd063d88f42598aa3751d603a140 giraph-core/src/main/java/org/apache/giraph/vertex/package-info.java 5d983e240c715b401619a942a90fffbaac2b08a0 giraph-core/src/main/java/org/apache/giraph/worker/BspServiceWorker.java 3b510b2e1b615df88010918ff222fcd5b3431077 giraph-core/src/main/java/org/apache/giraph/worker/DefaultWorkerContext.java 0ffdc0f129cadbb6a69836c46a9b9e13af94bd64 giraph-core/src/main/java/org/apache/giraph/worker/EdgeInputSplitsCallable.java c577cbbedd09356db25dae3f90a7af8450e6f816 giraph-core/src/main/java/org/apache/giraph/worker/VertexInputSplitsCallable.java de1ae599af993f1fc2ffd1b1c151b1c287a1dad2 giraph-core/src/test/java/org/apache/giraph/BspCase.java 4867a5006539e6d0744cd3b401f133cbee027709 giraph-core/src/test/java/org/apache/giraph/bsp/BspUtilsTest.java 5c77d124d40b4938ca04907f1708f78f98f9ea0e giraph-core/src/test/java/org/apache/giraph/comm/ConnectionTest.java 381ca7c3521979d59415af3992beb8ac4160c1fe giraph-core/src/test/java/org/apache/giraph/comm/RequestFailureTest.java c42754fb5cc3488e3f9e8859f4bb3b425d358cb2 giraph-core/src/test/java/org/apache/giraph/comm/RequestTest.java 7468c477992ac5e1ca95a8997b86d230e70bc8ac giraph-core/src/test/java/org/apache/giraph/comm/SaslConnectionTest.java aa89b857dd963cb98818a9060ba6e660948cd3d8 giraph-core/src/test/java/org/apache/giraph/comm/TestMessageStores.java 5ce7a89354639e81068360a978a8db387667550b giraph-core/src/test/java/org/apache/giraph/conf/TestObjectCreation.java PRE-CREATION giraph-core/src/test/java/org/apache/giraph/edge/TestMultiGraphEdges.java PRE-CREATION giraph-core/src/test/java/org/apache/giraph/edge/TestMultiRandomAccessEdges.java PRE-CREATION giraph-core/src/test/java/org/apache/giraph/edge/TestNullValueEdges.java PRE-CREATION giraph-core/src/test/java/org/apache/giraph/edge/TestStrictGraphEdges.java PRE-CREATION giraph-core/src/test/java/org/apache/giraph/edge/TestStrictRandomAccessEdges.java PRE-CREATION giraph-core/src/test/java/org/apache/giraph/graph/TestVertexAndEdges.java PRE-CREATION giraph-core/src/test/java/org/apache/giraph/io/TestAdjacencyListTextVertexOutputFormat.java 036924fb87c92f46f7773be74b2083313a497445 giraph-core/src/test/java/org/apache/giraph/io/TestEdgeInput.java c0806221388e290ffa4e028fba679b66c57f2f5d giraph-core/src/test/java/org/apache/giraph/io/TestIdWithValueTextOutputFormat.java e77033874ed65bdab4597269e785005ff870716c giraph-core/src/test/java/org/apache/giraph/io/TestJsonBase64Format.java b3c63f6b2dfb559343d8c6a2dabe67cd3d95e672 giraph-core/src/test/java/org/apache/giraph/io/TestLongDoubleDoubleAdjacencyListVertexInputFormat.java 7ef8eae152abf885ada059fac61e3dbc8e13b7bc giraph-core/src/test/java/org/apache/giraph/io/TestTextDoubleDoubleAdjacencyListVertexInputFormat.java d1e267e988b1ff3f90e56cd07b0020fe4a769b57 giraph-core/src/test/java/org/apache/giraph/master/TestMasterObserver.java f67a6e0ac15e00528e95df43e54c2e1e107e4b6e giraph-core/src/test/java/org/apache/giraph/partition/TestGiraphTransferRegulator.java 2671708bc024d5029fe04265ef4cff51e661a209 giraph-core/src/test/java/org/apache/giraph/partition/TestPartitionStores.java b4cddf6c6f2d858b1a2ab85433dc5f4b93ebe82c giraph-core/src/test/java/org/apache/giraph/utils/ComparisonUtilsTest.java 789c9eeb3b73198e31d5ac23c3d5e5603d92e479 giraph-core/src/test/java/org/apache/giraph/utils/MockUtils.java 04c7a3c028f91029d47448a1341256924d15830c giraph-core/src/test/java/org/apache/giraph/vertex/TestIntIntNullIntVertex.java 37e87683c63562ccd76ac5b6edb5680104d63e81 giraph-core/src/test/java/org/apache/giraph/vertex/TestMultiGraphVertex.java 173c453ddfe5118f02ce393642e3f89901e78f2c giraph-core/src/test/java/org/apache/giraph/vertex/TestMutableVertex.java 2b347c6804fd9c488406b1ebba3e91675f4626d8 giraph-examples/pom.xml a6255113387bbf74d33bbc2c00f0a622edbc0787 giraph-examples/src/main/java/org/apache/giraph/examples/AggregatorsTestVertex.java c00fda0cc5f6b9e113ed08c59492f7dc169c350e giraph-examples/src/main/java/org/apache/giraph/examples/ConnectedComponentsVertex.java b5c90e5b233ace68cd90ecd0ae222c5e90aeda92 giraph-examples/src/main/java/org/apache/giraph/examples/IdentityVertex.java 70000356121581d3c2ba65235401801f6dcc3a6e giraph-examples/src/main/java/org/apache/giraph/examples/LongDoubleDoubleDoubleTextInputFormat.java PRE-CREATION giraph-examples/src/main/java/org/apache/giraph/examples/LongDoubleFloatDoubleTextInputFormat.java b1305cc74ce90fadfe740b80547aff69447fba94 giraph-examples/src/main/java/org/apache/giraph/examples/NormalizingLongDoubleDoubleDoubleTextInputFormat.java PRE-CREATION giraph-examples/src/main/java/org/apache/giraph/examples/NormalizingLongDoubleFloatDoubleTextInputFormat.java 1d41a943dab833db46b31aee09151bb471a08b59 giraph-examples/src/main/java/org/apache/giraph/examples/PartitionContextTestVertex.java f86c32397a6854ec2c2c4046adbc4f03be7b9562 giraph-examples/src/main/java/org/apache/giraph/examples/RandomWalkVertex.java 5669cf27cec180599aa9da1266926a20e559d82f giraph-examples/src/main/java/org/apache/giraph/examples/SimpleCheckpointVertex.java 09c7f5616931fa078fecb6816c387b806a4bc85b giraph-examples/src/main/java/org/apache/giraph/examples/SimpleCombinerVertex.java be0f16cb4a1780e213238cd9510340cdbd812cdf giraph-examples/src/main/java/org/apache/giraph/examples/SimpleFailVertex.java 521ed97121d1f57b519f6f0fa67556e14b4b23d2 giraph-examples/src/main/java/org/apache/giraph/examples/SimpleInDegreeCountVertex.java e05da3ecaced37b228cf18741e399b1f4bca4e59 giraph-examples/src/main/java/org/apache/giraph/examples/SimpleMasterComputeVertex.java e481ff7570d8e08006190bc560a24ee8bc7156bc giraph-examples/src/main/java/org/apache/giraph/examples/SimpleMsgVertex.java 8016490a60fc99dc89d19b2f5280dc9670554ba8 giraph-examples/src/main/java/org/apache/giraph/examples/SimpleMutateGraphVertex.java 6032e88d52ed979c356a68c2367ad0019a48477a giraph-examples/src/main/java/org/apache/giraph/examples/SimpleOutDegreeCountVertex.java 1e010a101babc872369061d7fdce5c0971e399ae giraph-examples/src/main/java/org/apache/giraph/examples/SimplePageRankVertex.java f36f1acb3c49fa95188020ce75f1e2131f9e4040 giraph-examples/src/main/java/org/apache/giraph/examples/SimpleShortestPathsVertex.java 1bec7ebad125bec73469a7fe0489b5b63c5ee128 giraph-examples/src/main/java/org/apache/giraph/examples/SimpleSuperstepVertex.java 2afe15dde832249c2af6a19e1a8fe4fdc6664af8 giraph-examples/src/main/java/org/apache/giraph/examples/SimpleTextVertexOutputFormat.java a57c6d24297ee52157fd0651dba9c74202e8e42c giraph-examples/src/main/java/org/apache/giraph/examples/SimpleTriangleClosingVertex.java 469de85254e1dfd10c392f7fa615619632c1827a giraph-examples/src/main/java/org/apache/giraph/examples/SimpleVertexWithWorkerContext.java f6488d5d0857758bd624576fbcc0ce72b0b62a8c giraph-examples/src/main/java/org/apache/giraph/examples/VerifyMessage.java 994b59dc5174b3ff657805f896a41c4229ea243a giraph-examples/src/main/java/org/apache/giraph/examples/VertexWithDoubleValueDoubleEdgeTextOutputFormat.java PRE-CREATION giraph-examples/src/main/java/org/apache/giraph/examples/VertexWithDoubleValueFloatEdgeTextOutputFormat.java ef58bb8367e09434179d268f2a51ca748855f510 giraph-examples/src/test/java/org/apache/giraph/TestBspBasic.java 0d6d1d0126744c3bec4c78b613f87cd669fabbf8 giraph-examples/src/test/java/org/apache/giraph/examples/ConnectedComponentsVertexTest.java 49a2f33ac26e37133fe9a518fdb7abd1adac06db giraph-examples/src/test/java/org/apache/giraph/examples/RandomWalkWithRestartVertexTest.java 4052fe1b8b5e575a79f4a07f0f95ea6e30a1f3a5 giraph-examples/src/test/java/org/apache/giraph/examples/SimpleShortestPathsVertexTest.java a372a2ddc4f5fde1e73b935d1c0aebab36326a95 giraph-examples/src/test/java/org/apache/giraph/examples/SimpleTriangleClosingVertexTest.java 969c1f41e5f4a3d6f0d7085abe2d95492f92da1d giraph-examples/src/test/java/org/apache/giraph/examples/TryMultiIpcBindingPortsTest.java 2f9704d01d81a978e8c6c32b256260c97288141b giraph-examples/src/test/java/org/apache/giraph/vertex/TestVertexTypes.java bcfbd39c01825e33300b9e5ce6deff3110e0eaf7 giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java fe5b72e4413cb640f099a6ebb0aa0aa93a499d3e giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeInputFormat.java f45f07ae2340b9a0536e5bd944c8a4ff53ade089 giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeOutputFormat.java a1313570099e9d3075dc12f89be9a6c3091faae5 giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatGiraphRunner.java 1bd0235f997ab93c2029e11c4b71230837a04cff giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogEdgeInputFormat.java d8987da2c7dfbcc47e379e5a61e965bd97c7b1d5 giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexInputFormat.java 9d52b64751dffc63baa4e39331337892d8f668d2 giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexOutputFormat.java 4bab7dd09248c4ed5cfc0be51ee5b7f75e0cb3a6 giraph-hive/src/main/java/org/apache/giraph/hive/HiveGiraphRunner.java cef96b530f65cde8ee5cc8ef30dd8a242aea6f76 giraph-hive/src/main/java/org/apache/giraph/hive/input/edge/HiveEdgeReader.java 34dc4df1f654ef8cc1888802124041cbf9378ab2 giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveToVertex.java 31f0e64b2b15d45be8e6630a4e8a383784564420 giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveVertexReader.java c5974de8a0e457b54b273086cd3ab05b5b27042b giraph-hive/src/main/java/org/apache/giraph/hive/output/HiveVertexWriter.java ea24fc526de052ef8a1d53680a1c9fadda32a0a0 giraph-hive/src/main/java/org/apache/giraph/hive/output/VertexToHive.java a72cf0b8ec6a136326870049759b92c5b064d6f7 pom.xml 901e31fcc0bc868b8742401cd20e01b06fc60bcd Diff: https://reviews.apache.org/r/9732/diff/ Testing ------- 1) mvn verify 2) benchmarks (planned) 3) check results on real dataset (planned) Thanks, Alessandro Presta
