You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@giraph.apache.org by ap...@apache.org on 2013/03/07 06:37:42 UTC

[1/8] GIRAPH-528: Decouple vertex implementation from edge storage (apresta)

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-examples/src/test/java/org/apache/giraph/examples/RandomWalkWithRestartVertexTest.java
----------------------------------------------------------------------
diff --git a/giraph-examples/src/test/java/org/apache/giraph/examples/RandomWalkWithRestartVertexTest.java b/giraph-examples/src/test/java/org/apache/giraph/examples/RandomWalkWithRestartVertexTest.java
index 4052fe1..489b35a 100644
--- a/giraph-examples/src/test/java/org/apache/giraph/examples/RandomWalkWithRestartVertexTest.java
+++ b/giraph-examples/src/test/java/org/apache/giraph/examples/RandomWalkWithRestartVertexTest.java
@@ -21,8 +21,8 @@ package org.apache.giraph.examples;
 import org.apache.giraph.conf.GiraphClasses;
 import org.apache.giraph.examples.RandomWalkVertex.RandomWalkVertexMasterCompute;
 import org.apache.giraph.utils.InternalVertexRunner;
+import org.apache.giraph.edge.ByteArrayEdges;
 import org.apache.hadoop.io.DoubleWritable;
-import org.apache.hadoop.io.FloatWritable;
 import org.apache.hadoop.io.LongWritable;
 import org.junit.Test;
 
@@ -54,13 +54,15 @@ public class RandomWalkWithRestartVertexTest {
     params.put(RandomWalkWithRestartVertex.MAX_SUPERSTEPS, "30");
     params.put(RandomWalkWithRestartVertex.TELEPORTATION_PROBABILITY, "0.25");
 
-    GiraphClasses<LongWritable, DoubleWritable, FloatWritable, DoubleWritable>
-        classes = new GiraphClasses();
+    GiraphClasses<LongWritable, DoubleWritable, DoubleWritable, DoubleWritable>
+        classes = new GiraphClasses<LongWritable, DoubleWritable,
+        DoubleWritable, DoubleWritable>();
     classes.setVertexClass(RandomWalkWithRestartVertex.class);
+    classes.setVertexEdgesClass(ByteArrayEdges.class);
     classes.setVertexInputFormatClass(
-        LongDoubleFloatDoubleTextInputFormat.class);
+        LongDoubleDoubleDoubleTextInputFormat.class);
     classes.setVertexOutputFormatClass(
-        VertexWithDoubleValueFloatEdgeTextOutputFormat.class);
+        VertexWithDoubleValueDoubleEdgeTextOutputFormat.class);
     classes.setWorkerContextClass(RandomWalkWorkerContext.class);
     classes.setMasterComputeClass(RandomWalkVertexMasterCompute.class);
     // Run internally
@@ -91,12 +93,15 @@ public class RandomWalkWithRestartVertexTest {
     params.put(RandomWalkWithRestartVertex.MAX_SUPERSTEPS, "30");
     params.put(RandomWalkWithRestartVertex.TELEPORTATION_PROBABILITY, "0.15");
 
-    GiraphClasses classes = new GiraphClasses();
+    GiraphClasses<LongWritable, DoubleWritable, DoubleWritable,
+        DoubleWritable> classes = new GiraphClasses<LongWritable,
+        DoubleWritable, DoubleWritable, DoubleWritable>();
     classes.setVertexClass(RandomWalkWithRestartVertex.class);
+    classes.setVertexEdgesClass(ByteArrayEdges.class);
     classes.setVertexInputFormatClass(
-        NormalizingLongDoubleFloatDoubleTextInputFormat.class);
+        NormalizingLongDoubleDoubleDoubleTextInputFormat.class);
     classes.setVertexOutputFormatClass(
-        VertexWithDoubleValueFloatEdgeTextOutputFormat.class);
+        VertexWithDoubleValueDoubleEdgeTextOutputFormat.class);
     classes.setWorkerContextClass(RandomWalkWorkerContext.class);
     classes.setMasterComputeClass(RandomWalkVertexMasterCompute.class);
     // Run internally

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-examples/src/test/java/org/apache/giraph/examples/SimpleShortestPathsVertexTest.java
----------------------------------------------------------------------
diff --git a/giraph-examples/src/test/java/org/apache/giraph/examples/SimpleShortestPathsVertexTest.java b/giraph-examples/src/test/java/org/apache/giraph/examples/SimpleShortestPathsVertexTest.java
index a372a2d..e51b611 100644
--- a/giraph-examples/src/test/java/org/apache/giraph/examples/SimpleShortestPathsVertexTest.java
+++ b/giraph-examples/src/test/java/org/apache/giraph/examples/SimpleShortestPathsVertexTest.java
@@ -18,12 +18,16 @@
 
 package org.apache.giraph.examples;
 
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 import org.apache.giraph.conf.GiraphClasses;
-import org.apache.giraph.graph.EdgeFactory;
 import org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat;
 import org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexOutputFormat;
 import org.apache.giraph.utils.InternalVertexRunner;
 import org.apache.giraph.utils.MockUtils;
+import org.apache.giraph.edge.ByteArrayEdges;
+import org.apache.giraph.edge.EdgeFactory;
 import org.apache.hadoop.io.DoubleWritable;
 import org.apache.hadoop.io.FloatWritable;
 import org.apache.hadoop.io.LongWritable;
@@ -32,10 +36,6 @@ import org.json.JSONException;
 import org.junit.Test;
 import org.mockito.Mockito;
 
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
 import java.util.Map;
 
 import static org.junit.Assert.assertEquals;
@@ -52,23 +52,21 @@ public class SimpleShortestPathsVertexTest {
    */
   @Test
   public void testOnShorterPathFound() throws Exception {
-
     SimpleShortestPathsVertex vertex = new SimpleShortestPathsVertex();
-    vertex.initialize(null, null);
-    vertex.addEdge(EdgeFactory.create(
-        new LongWritable(10L), new FloatWritable(2.5f)));
-    vertex.addEdge(EdgeFactory.create(
-        new LongWritable(20L), new FloatWritable(0.5f)));
 
     MockUtils.MockedEnvironment<LongWritable, DoubleWritable, FloatWritable,
     DoubleWritable> env = MockUtils.prepareVertex(vertex, 1L,
-        new LongWritable(7L), new DoubleWritable(Double.MAX_VALUE),
-        false);
+        new LongWritable(7L), new DoubleWritable(Double.MAX_VALUE), false);
 
     Mockito.when(env.getConfiguration().getLong(
         SimpleShortestPathsVertex.SOURCE_ID,
         SimpleShortestPathsVertex.SOURCE_ID_DEFAULT)).thenReturn(2L);
 
+    vertex.addEdge(EdgeFactory.create(
+        new LongWritable(10L), new FloatWritable(2.5f)));
+    vertex.addEdge(EdgeFactory.create(
+        new LongWritable(20L), new FloatWritable(0.5f)));
+
     vertex.compute(Lists.newArrayList(new DoubleWritable(2),
         new DoubleWritable(1.5)));
 
@@ -87,11 +85,6 @@ public class SimpleShortestPathsVertexTest {
   public void testOnNoShorterPathFound() throws Exception {
 
     SimpleShortestPathsVertex vertex = new SimpleShortestPathsVertex();
-    vertex.initialize(new LongWritable(0), new DoubleWritable(0.0));
-    vertex.addEdge(EdgeFactory.create(new LongWritable(10L),
-        new FloatWritable(2.5f)));
-    vertex.addEdge(EdgeFactory.create(
-        new LongWritable(20L), new FloatWritable(0.5f)));
 
     MockUtils.MockedEnvironment<LongWritable, DoubleWritable, FloatWritable,
     DoubleWritable> env = MockUtils.prepareVertex(vertex, 1L,
@@ -101,6 +94,11 @@ public class SimpleShortestPathsVertexTest {
         SimpleShortestPathsVertex.SOURCE_ID,
         SimpleShortestPathsVertex.SOURCE_ID_DEFAULT)).thenReturn(2L);
 
+    vertex.addEdge(EdgeFactory.create(new LongWritable(10L),
+        new FloatWritable(2.5f)));
+    vertex.addEdge(EdgeFactory.create(
+        new LongWritable(20L), new FloatWritable(0.5f)));
+
     vertex.compute(Lists.newArrayList(new DoubleWritable(2),
         new DoubleWritable(1.5)));
 
@@ -131,6 +129,7 @@ public class SimpleShortestPathsVertexTest {
     GiraphClasses<LongWritable, DoubleWritable, FloatWritable, DoubleWritable>
         classes = new GiraphClasses();
     classes.setVertexClass(SimpleShortestPathsVertex.class);
+    classes.setVertexEdgesClass(ByteArrayEdges.class);
     classes.setVertexInputFormatClass(
         JsonLongDoubleFloatDoubleVertexInputFormat.class);
     classes.setVertexOutputFormatClass(

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-examples/src/test/java/org/apache/giraph/examples/SimpleTriangleClosingVertexTest.java
----------------------------------------------------------------------
diff --git a/giraph-examples/src/test/java/org/apache/giraph/examples/SimpleTriangleClosingVertexTest.java b/giraph-examples/src/test/java/org/apache/giraph/examples/SimpleTriangleClosingVertexTest.java
index 969c1f4..bfe8002 100644
--- a/giraph-examples/src/test/java/org/apache/giraph/examples/SimpleTriangleClosingVertexTest.java
+++ b/giraph-examples/src/test/java/org/apache/giraph/examples/SimpleTriangleClosingVertexTest.java
@@ -18,14 +18,13 @@
 
 package org.apache.giraph.examples;
 
-import org.apache.giraph.graph.EdgeFactory;
+import com.google.common.collect.Lists;
 import org.apache.giraph.utils.MockUtils;
+import org.apache.giraph.edge.EdgeFactory;
 import org.apache.hadoop.io.IntWritable;
 import org.apache.hadoop.io.NullWritable;
 import org.junit.Test;
 
-import com.google.common.collect.Lists;
-
 import static org.junit.Assert.assertEquals;
 
 /**
@@ -41,12 +40,10 @@ public class SimpleTriangleClosingVertexTest {
   public void testSuperstepZero() throws Exception {
     // this guy should end up with an array value of 4
     SimpleTriangleClosingVertex vertex =
-      new SimpleTriangleClosingVertex();
+        new SimpleTriangleClosingVertex();
+
     SimpleTriangleClosingVertex.IntArrayListWritable alw =
       new SimpleTriangleClosingVertex.IntArrayListWritable();
-    vertex.initialize(null, null);
-    vertex.addEdge(EdgeFactory.create(new IntWritable(5)));
-    vertex.addEdge(EdgeFactory.create(new IntWritable(7)));
 
     MockUtils.MockedEnvironment<IntWritable,
       SimpleTriangleClosingVertex.IntArrayListWritable,
@@ -54,6 +51,9 @@ public class SimpleTriangleClosingVertexTest {
       MockUtils.prepareVertex(vertex, 0L,
         new IntWritable(1), alw, false);
 
+    vertex.addEdge(EdgeFactory.create(new IntWritable(5)));
+    vertex.addEdge(EdgeFactory.create(new IntWritable(7)));
+
     vertex.compute(Lists.<IntWritable>newArrayList(
       new IntWritable(83), new IntWritable(42)));
 
@@ -70,7 +70,7 @@ public class SimpleTriangleClosingVertexTest {
     // messages properly to verify the algorithm
     SimpleTriangleClosingVertex vertex =
       new SimpleTriangleClosingVertex();
-    vertex.initialize(null, null);
+
     MockUtils.MockedEnvironment<IntWritable,
       SimpleTriangleClosingVertex.IntArrayListWritable,
       NullWritable, IntWritable>

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-examples/src/test/java/org/apache/giraph/examples/TryMultiIpcBindingPortsTest.java
----------------------------------------------------------------------
diff --git a/giraph-examples/src/test/java/org/apache/giraph/examples/TryMultiIpcBindingPortsTest.java b/giraph-examples/src/test/java/org/apache/giraph/examples/TryMultiIpcBindingPortsTest.java
index 2f9704d..c5d3a55 100644
--- a/giraph-examples/src/test/java/org/apache/giraph/examples/TryMultiIpcBindingPortsTest.java
+++ b/giraph-examples/src/test/java/org/apache/giraph/examples/TryMultiIpcBindingPortsTest.java
@@ -24,6 +24,7 @@ import org.apache.giraph.conf.GiraphConstants;
 import org.apache.giraph.io.formats.IdWithValueTextOutputFormat;
 import org.apache.giraph.io.formats.IntIntNullIntTextInputFormat;
 import org.apache.giraph.utils.InternalVertexRunner;
+import org.apache.giraph.edge.ByteArrayEdges;
 import org.junit.Test;
 
 import com.google.common.base.Splitter;
@@ -74,6 +75,7 @@ public class TryMultiIpcBindingPortsTest {
 
         GiraphClasses classes = new GiraphClasses();
         classes.setVertexClass(ConnectedComponentsVertex.class);
+        classes.setVertexEdgesClass(ByteArrayEdges.class);
         classes.setCombinerClass(MinimumIntCombiner.class);
         classes.setVertexInputFormatClass(IntIntNullIntTextInputFormat.class);
         classes.setVertexOutputFormatClass(IdWithValueTextOutputFormat.class);

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-examples/src/test/java/org/apache/giraph/vertex/TestVertexTypes.java
----------------------------------------------------------------------
diff --git a/giraph-examples/src/test/java/org/apache/giraph/vertex/TestVertexTypes.java b/giraph-examples/src/test/java/org/apache/giraph/vertex/TestVertexTypes.java
index bcfbd39..c47c291 100644
--- a/giraph-examples/src/test/java/org/apache/giraph/vertex/TestVertexTypes.java
+++ b/giraph-examples/src/test/java/org/apache/giraph/vertex/TestVertexTypes.java
@@ -19,8 +19,12 @@
 package org.apache.giraph.vertex;
 
 import org.apache.giraph.conf.GiraphConstants;
+import org.apache.giraph.conf.ImmutableClassesGiraphConfiguration;
+import org.apache.giraph.edge.ByteArrayEdges;
+import org.apache.giraph.edge.VertexEdges;
 import org.apache.giraph.examples.SimpleSuperstepVertex.SimpleSuperstepVertexInputFormat;
 import org.apache.giraph.combiner.Combiner;
+import org.apache.giraph.graph.Vertex;
 import org.apache.giraph.job.GiraphConfigurationValidator;
 import org.apache.giraph.io.VertexInputFormat;
 import org.apache.giraph.io.VertexOutputFormat;
@@ -42,9 +46,8 @@ public class TestVertexTypes {
     /**
      * Matches the {@link GeneratedVertexInputFormat}
      */
-    private static class GeneratedVertexMatch extends
-            EdgeListVertex<LongWritable, IntWritable, FloatWritable,
-            FloatWritable> {
+    private static class GeneratedVertexMatch extends Vertex<LongWritable,
+        IntWritable, FloatWritable, FloatWritable> {
         @Override
         public void compute(Iterable<FloatWritable> messages)
             throws IOException {
@@ -60,9 +63,8 @@ public class TestVertexTypes {
     /**
      * Mismatches the {@link GeneratedVertexInputFormat}
      */
-    private static class GeneratedVertexMismatch extends
-            EdgeListVertex<LongWritable, FloatWritable, FloatWritable,
-            FloatWritable> {
+    private static class GeneratedVertexMismatch extends Vertex<LongWritable,
+        FloatWritable, FloatWritable, FloatWritable> {
         @Override
         public void compute(Iterable<FloatWritable> messages)
                 throws IOException {
@@ -123,6 +125,9 @@ public class TestVertexTypes {
         conf.setClass(GiraphConstants.VERTEX_CLASS,
                       GeneratedVertexMatch.class,
                       Vertex.class);
+        conf.setClass(GiraphConstants.VERTEX_EDGES_CLASS,
+                      ByteArrayEdges.class,
+                      VertexEdges.class);
         conf.setClass(GiraphConstants.VERTEX_INPUT_FORMAT_CLASS,
                       SimpleSuperstepVertexInputFormat.class,
                       VertexInputFormat.class);
@@ -132,6 +137,11 @@ public class TestVertexTypes {
       @SuppressWarnings("rawtypes")
       GiraphConfigurationValidator<?, ?, ?, ?> validator =
         new GiraphConfigurationValidator(conf);
+
+      ImmutableClassesGiraphConfiguration gc = new
+          ImmutableClassesGiraphConfiguration(conf);
+
+
       validator.validateConfiguration();
     }
 
@@ -142,6 +152,9 @@ public class TestVertexTypes {
         conf.setClass(GiraphConstants.VERTEX_CLASS,
                       DerivedVertexMatch.class,
                       Vertex.class);
+        conf.setClass(GiraphConstants.VERTEX_EDGES_CLASS,
+                      ByteArrayEdges.class,
+                      VertexEdges.class);
         conf.setClass(GiraphConstants.VERTEX_INPUT_FORMAT_CLASS,
                       SimpleSuperstepVertexInputFormat.class,
                       VertexInputFormat.class);
@@ -158,6 +171,9 @@ public class TestVertexTypes {
         conf.setClass(GiraphConstants.VERTEX_CLASS,
                       DerivedVertexMatch.class,
                       Vertex.class);
+        conf.setClass(GiraphConstants.VERTEX_EDGES_CLASS,
+                      ByteArrayEdges.class,
+                      VertexEdges.class);
         conf.setClass(GiraphConstants.VERTEX_INPUT_FORMAT_CLASS,
                       SimpleSuperstepVertexInputFormat.class,
                       VertexInputFormat.class);
@@ -174,6 +190,9 @@ public class TestVertexTypes {
       conf.setClass(GiraphConstants.VERTEX_CLASS,
         GeneratedVertexMismatch.class,
         Vertex.class);
+      conf.setClass(GiraphConstants.VERTEX_EDGES_CLASS,
+          ByteArrayEdges.class,
+          VertexEdges.class);
         conf.setClass(GiraphConstants.VERTEX_INPUT_FORMAT_CLASS,
           SimpleSuperstepVertexInputFormat.class,
           VertexInputFormat.class);
@@ -189,6 +208,9 @@ public class TestVertexTypes {
       Configuration conf = getDefaultTestConf() ;
       conf.setClass(GiraphConstants.VERTEX_CLASS,
         GeneratedVertexMatch.class, Vertex.class);
+      conf.setClass(GiraphConstants.VERTEX_EDGES_CLASS,
+          ByteArrayEdges.class,
+          VertexEdges.class);
       conf.setClass(GiraphConstants.VERTEX_INPUT_FORMAT_CLASS,
         SimpleSuperstepVertexInputFormat.class,
         VertexInputFormat.class);
@@ -208,6 +230,9 @@ public class TestVertexTypes {
         conf.setClass(GiraphConstants.VERTEX_CLASS,
                       GeneratedVertexMatch.class,
                       Vertex.class);
+        conf.setClass(GiraphConstants.VERTEX_EDGES_CLASS,
+                      ByteArrayEdges.class,
+                      VertexEdges.class);
         conf.setClass(GiraphConstants.VERTEX_INPUT_FORMAT_CLASS,
                       JsonBase64VertexInputFormat.class,
                       VertexInputFormat.class);

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java
----------------------------------------------------------------------
diff --git a/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java b/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java
index fe5b72e..4d9588a 100644
--- a/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java
+++ b/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/TestHBaseRootMarkerVertextFormat.java
@@ -21,10 +21,10 @@ package org.apache.giraph.io.hbase;
 
 import org.apache.giraph.BspCase;
 import org.apache.giraph.conf.GiraphConfiguration;
-import org.apache.giraph.vertex.EdgeListVertex;
-import org.apache.giraph.job.GiraphJob;
 import org.apache.giraph.io.hbase.edgemarker.TableEdgeInputFormat;
 import org.apache.giraph.io.hbase.edgemarker.TableEdgeOutputFormat;
+import org.apache.giraph.job.GiraphJob;
+import org.apache.giraph.graph.Vertex;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.FileSystem;
@@ -52,7 +52,6 @@ import org.junit.Test;
 import java.io.File;
 import java.io.IOException;
 
-import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -184,7 +183,7 @@ public class TestHBaseRootMarkerVertextFormat extends BspCase {
     The test set only has a 1-1 parent-to-child ratio for this unit test.
      */
     public static class EdgeNotification
-            extends EdgeListVertex<Text, Text, Text, Text> {
+            extends Vertex<Text, Text, Text, Text> {
         @Override
         public void compute(Iterable<Text> messages) throws IOException {
           for (Text message : messages) {

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeInputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeInputFormat.java b/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeInputFormat.java
index f45f07a..8e209af 100644
--- a/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeInputFormat.java
+++ b/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeInputFormat.java
@@ -17,11 +17,12 @@
  */
 package org.apache.giraph.io.hbase.edgemarker;
 
-import org.apache.giraph.graph.Edge;
-import org.apache.giraph.graph.EdgeFactory;
+import com.google.common.collect.Lists;
 import org.apache.giraph.io.VertexReader;
 import org.apache.giraph.io.hbase.HBaseVertexInputFormat;
-import org.apache.giraph.vertex.Vertex;
+import org.apache.giraph.edge.Edge;
+import org.apache.giraph.edge.EdgeFactory;
+import org.apache.giraph.graph.Vertex;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.io.Text;
@@ -29,8 +30,6 @@ import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.log4j.Logger;
 
-import com.google.common.collect.Lists;
-
 import java.io.IOException;
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeOutputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeOutputFormat.java b/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeOutputFormat.java
index a131357..859f519 100644
--- a/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeOutputFormat.java
+++ b/giraph-hbase/src/test/java/org/apache/giraph/io/hbase/edgemarker/TableEdgeOutputFormat.java
@@ -18,7 +18,7 @@
 package org.apache.giraph.io.hbase.edgemarker;
 
 import org.apache.giraph.io.hbase.HBaseVertexOutputFormat;
-import org.apache.giraph.vertex.Vertex;
+import org.apache.giraph.graph.Vertex;
 import org.apache.giraph.io.VertexWriter;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatGiraphRunner.java
----------------------------------------------------------------------
diff --git a/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatGiraphRunner.java b/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatGiraphRunner.java
index 1bd0235..2182a71 100644
--- a/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatGiraphRunner.java
+++ b/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatGiraphRunner.java
@@ -26,7 +26,7 @@ import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
 import org.apache.giraph.io.EdgeInputFormat;
 import org.apache.giraph.job.GiraphJob;
-import org.apache.giraph.vertex.Vertex;
+import org.apache.giraph.graph.Vertex;
 import org.apache.giraph.io.VertexInputFormat;
 import org.apache.giraph.io.VertexOutputFormat;
 import org.apache.hadoop.conf.Configuration;

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogEdgeInputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogEdgeInputFormat.java b/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogEdgeInputFormat.java
index d8987da..96ec77f 100644
--- a/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogEdgeInputFormat.java
+++ b/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogEdgeInputFormat.java
@@ -18,10 +18,10 @@
 
 package org.apache.giraph.io.hcatalog;
 
-import org.apache.giraph.graph.Edge;
-import org.apache.giraph.graph.EdgeFactory;
 import org.apache.giraph.io.EdgeInputFormat;
 import org.apache.giraph.io.EdgeReader;
+import org.apache.giraph.edge.Edge;
+import org.apache.giraph.edge.EdgeFactory;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.WritableComparable;

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexInputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexInputFormat.java b/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexInputFormat.java
index 9d52b64..fd5fb5c 100644
--- a/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexInputFormat.java
+++ b/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexInputFormat.java
@@ -18,13 +18,14 @@
 
 package org.apache.giraph.io.hcatalog;
 
+import com.google.common.collect.Lists;
 import org.apache.giraph.conf.ImmutableClassesGiraphConfiguration;
-import org.apache.giraph.graph.Edge;
-import org.apache.giraph.graph.EdgeFactory;
 import org.apache.giraph.io.VertexInputFormat;
 import org.apache.giraph.io.VertexReader;
 import org.apache.giraph.utils.TimedLogger;
-import org.apache.giraph.vertex.Vertex;
+import org.apache.giraph.edge.Edge;
+import org.apache.giraph.edge.EdgeFactory;
+import org.apache.giraph.graph.Vertex;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.WritableComparable;
 import org.apache.hadoop.mapreduce.InputSplit;
@@ -34,8 +35,6 @@ import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.hcatalog.data.HCatRecord;
 import org.apache.log4j.Logger;
 
-import com.google.common.collect.Lists;
-
 import java.io.IOException;
 import java.util.List;
 

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexOutputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexOutputFormat.java b/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexOutputFormat.java
index 070644f..4dab6ac 100644
--- a/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexOutputFormat.java
+++ b/giraph-hcatalog/src/main/java/org/apache/giraph/io/hcatalog/HCatalogVertexOutputFormat.java
@@ -18,7 +18,7 @@
 
 package org.apache.giraph.io.hcatalog;
 
-import org.apache.giraph.vertex.Vertex;
+import org.apache.giraph.graph.Vertex;
 import org.apache.giraph.io.VertexOutputFormat;
 import org.apache.giraph.io.VertexWriter;
 import org.apache.hadoop.io.Writable;

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hive/src/main/java/org/apache/giraph/hive/HiveGiraphRunner.java
----------------------------------------------------------------------
diff --git a/giraph-hive/src/main/java/org/apache/giraph/hive/HiveGiraphRunner.java b/giraph-hive/src/main/java/org/apache/giraph/hive/HiveGiraphRunner.java
index cef96b5..d89bad3 100644
--- a/giraph-hive/src/main/java/org/apache/giraph/hive/HiveGiraphRunner.java
+++ b/giraph-hive/src/main/java/org/apache/giraph/hive/HiveGiraphRunner.java
@@ -37,7 +37,7 @@ import org.apache.giraph.hive.output.HiveVertexOutputFormat;
 import org.apache.giraph.hive.output.HiveVertexWriter;
 import org.apache.giraph.hive.output.VertexToHive;
 import org.apache.giraph.job.GiraphJob;
-import org.apache.giraph.vertex.Vertex;
+import org.apache.giraph.graph.Vertex;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.util.Tool;

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hive/src/main/java/org/apache/giraph/hive/input/edge/HiveEdgeReader.java
----------------------------------------------------------------------
diff --git a/giraph-hive/src/main/java/org/apache/giraph/hive/input/edge/HiveEdgeReader.java b/giraph-hive/src/main/java/org/apache/giraph/hive/input/edge/HiveEdgeReader.java
index 34dc4df..0906996 100644
--- a/giraph-hive/src/main/java/org/apache/giraph/hive/input/edge/HiveEdgeReader.java
+++ b/giraph-hive/src/main/java/org/apache/giraph/hive/input/edge/HiveEdgeReader.java
@@ -18,21 +18,20 @@
 
 package org.apache.giraph.hive.input.edge;
 
+import com.facebook.giraph.hive.HiveRecord;
+import com.facebook.giraph.hive.HiveTableSchema;
 import org.apache.giraph.conf.ImmutableClassesGiraphConfiguration;
-import org.apache.giraph.graph.Edge;
-import org.apache.giraph.graph.EdgeFactory;
-import org.apache.giraph.graph.MutableEdge;
 import org.apache.giraph.io.EdgeReader;
 import org.apache.giraph.utils.ReflectionUtils;
+import org.apache.giraph.edge.Edge;
+import org.apache.giraph.edge.EdgeFactory;
+import org.apache.giraph.edge.MutableEdge;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.WritableComparable;
 import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
 
-import com.facebook.giraph.hive.HiveRecord;
-import com.facebook.giraph.hive.HiveTableSchema;
-
 import java.io.IOException;
 
 /**

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveToVertex.java
----------------------------------------------------------------------
diff --git a/giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveToVertex.java b/giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveToVertex.java
index 31f0e64..7c84ff1 100644
--- a/giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveToVertex.java
+++ b/giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveToVertex.java
@@ -18,7 +18,7 @@
 
 package org.apache.giraph.hive.input.vertex;
 
-import org.apache.giraph.vertex.Vertex;
+import org.apache.giraph.graph.Vertex;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.WritableComparable;
 

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveVertexReader.java
----------------------------------------------------------------------
diff --git a/giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveVertexReader.java b/giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveVertexReader.java
index c5974de..b0f348b 100644
--- a/giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveVertexReader.java
+++ b/giraph-hive/src/main/java/org/apache/giraph/hive/input/vertex/HiveVertexReader.java
@@ -21,7 +21,7 @@ package org.apache.giraph.hive.input.vertex;
 import org.apache.giraph.conf.ImmutableClassesGiraphConfiguration;
 import org.apache.giraph.io.VertexReader;
 import org.apache.giraph.utils.ReflectionUtils;
-import org.apache.giraph.vertex.Vertex;
+import org.apache.giraph.graph.Vertex;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.WritableComparable;
 import org.apache.hadoop.mapreduce.InputSplit;

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hive/src/main/java/org/apache/giraph/hive/output/HiveVertexWriter.java
----------------------------------------------------------------------
diff --git a/giraph-hive/src/main/java/org/apache/giraph/hive/output/HiveVertexWriter.java b/giraph-hive/src/main/java/org/apache/giraph/hive/output/HiveVertexWriter.java
index ea24fc5..32bae15 100644
--- a/giraph-hive/src/main/java/org/apache/giraph/hive/output/HiveVertexWriter.java
+++ b/giraph-hive/src/main/java/org/apache/giraph/hive/output/HiveVertexWriter.java
@@ -21,7 +21,7 @@ package org.apache.giraph.hive.output;
 import org.apache.giraph.conf.ImmutableClassesGiraphConfiguration;
 import org.apache.giraph.io.VertexWriter;
 import org.apache.giraph.utils.ReflectionUtils;
-import org.apache.giraph.vertex.Vertex;
+import org.apache.giraph.graph.Vertex;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.WritableComparable;

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/giraph-hive/src/main/java/org/apache/giraph/hive/output/VertexToHive.java
----------------------------------------------------------------------
diff --git a/giraph-hive/src/main/java/org/apache/giraph/hive/output/VertexToHive.java b/giraph-hive/src/main/java/org/apache/giraph/hive/output/VertexToHive.java
index a72cf0b..434d804 100644
--- a/giraph-hive/src/main/java/org/apache/giraph/hive/output/VertexToHive.java
+++ b/giraph-hive/src/main/java/org/apache/giraph/hive/output/VertexToHive.java
@@ -18,7 +18,7 @@
 
 package org.apache.giraph.hive.output;
 
-import org.apache.giraph.vertex.Vertex;
+import org.apache.giraph.graph.Vertex;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.WritableComparable;
 

http://git-wip-us.apache.org/repos/asf/giraph/blob/3f5009ae/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 901e31f..a65208d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -891,6 +891,11 @@ under the License.
         <version>2.3.8</version>
       </dependency>
       <dependency>
+        <groupId>it.unimi.dsi</groupId>
+        <artifactId>fastutil</artifactId>
+        <version>6.5.3</version>
+      </dependency>
+      <dependency>
         <groupId>org.apache.giraph</groupId>
         <artifactId>giraph-core</artifactId>
         <version>${project.version}</version>
@@ -932,11 +937,6 @@ under the License.
         <version>${hive.version}</version>
       </dependency>
       <dependency>
-        <groupId>org.apache.mahout</groupId>
-        <artifactId>mahout-collections</artifactId>
-        <version>1.0</version>
-      </dependency>
-      <dependency>
         <groupId>org.apache.zookeeper</groupId>
         <artifactId>zookeeper</artifactId>
         <version>3.3.3</version>