You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/05/21 21:51:58 UTC

incubator-tinkerpop git commit: HadoopGraph has been final'd.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master b26a1d277 -> f0f6d0fa5


HadoopGraph has been final'd.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/f0f6d0fa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/f0f6d0fa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/f0f6d0fa

Branch: refs/heads/master
Commit: f0f6d0fa5b7aced43bb0cc52db2f0e3f186b6ab4
Parents: b26a1d2
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Thu May 21 13:52:09 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Thu May 21 13:52:09 2015 -0600

----------------------------------------------------------------------
 .../tinkerpop/gremlin/hadoop/Constants.java     |  2 +-
 .../groovy/plugin/HadoopGremlinPlugin.java      |  2 +-
 .../groovy/plugin/HadoopRemoteAcceptor.java     |  2 +-
 .../hadoop/process/computer/HadoopCombine.java  |  2 +-
 .../hadoop/process/computer/HadoopMap.java      |  2 +-
 .../hadoop/process/computer/HadoopReduce.java   |  2 +-
 .../computer/example/TraversalSupplier1.java    | 35 -----------
 .../computer/example/TraversalSupplier2.java    | 38 ------------
 .../computer/example/TraversalSupplier3.java    | 38 ------------
 .../process/computer/giraph/EmptyOutEdges.java  |  2 +-
 .../computer/giraph/GiraphGraphComputer.java    |  2 +-
 .../process/computer/giraph/GiraphMemory.java   |  2 +-
 .../computer/giraph/GiraphMessageCombiner.java  |  2 +-
 .../computer/giraph/GiraphMessenger.java        |  2 +-
 .../computer/giraph/MemoryAggregator.java       |  2 +-
 .../giraph/io/GiraphVertexInputFormat.java      |  2 +-
 .../giraph/io/GiraphVertexOutputFormat.java     |  2 +-
 .../computer/giraph/io/GiraphVertexReader.java  |  2 +-
 .../computer/giraph/io/GiraphVertexWriter.java  |  2 +-
 .../mapreduce/MapReduceGraphComputer.java       |  2 +-
 .../computer/spark/payload/MessagePayload.java  |  2 +-
 .../spark/payload/ViewIncomingPayload.java      |  2 +-
 .../spark/payload/ViewOutgoingPayload.java      |  2 +-
 .../computer/spark/payload/ViewPayload.java     |  2 +-
 .../hadoop/structure/HadoopConfiguration.java   |  2 +-
 .../gremlin/hadoop/structure/HadoopEdge.java    |  2 +-
 .../gremlin/hadoop/structure/HadoopGraph.java   |  2 +-
 .../hadoop/structure/HadoopGraphVariables.java  | 62 --------------------
 .../hadoop/structure/HadoopProperty.java        |  2 +-
 .../gremlin/hadoop/structure/HadoopVertex.java  |  2 +-
 .../hadoop/structure/HadoopVertexProperty.java  |  2 +-
 .../hadoop/structure/hdfs/HDFSTools.java        |  4 +-
 .../structure/hdfs/HadoopEdgeIterator.java      |  2 +-
 .../structure/hdfs/HadoopVertexIterator.java    |  2 +-
 .../hadoop/structure/hdfs/HiddenFileFilter.java |  2 +-
 .../hadoop/structure/hdfs/TextIterator.java     |  2 +-
 .../gremlin/hadoop/structure/io/IOClasses.java  | 52 ----------------
 .../hadoop/structure/io/InputOutputHelper.java  |  2 +-
 .../structure/io/ObjectWritableComparator.java  | 12 +---
 .../structure/io/ObjectWritableIterator.java    |  2 +-
 .../structure/io/VertexWritableIterator.java    |  2 +-
 .../io/graphson/GraphSONInputFormat.java        |  2 +-
 .../io/graphson/GraphSONOutputFormat.java       |  2 +-
 .../io/graphson/GraphSONRecordReader.java       |  2 +-
 .../io/graphson/GraphSONRecordWriter.java       |  2 +-
 .../structure/io/gryo/GryoInputFormat.java      |  2 +-
 .../structure/io/gryo/GryoOutputFormat.java     |  2 +-
 .../structure/io/gryo/GryoRecordReader.java     | 17 ++++--
 .../structure/io/gryo/GryoRecordWriter.java     | 11 +++-
 .../structure/io/script/ScriptInputFormat.java  |  2 +-
 .../structure/io/script/ScriptOutputFormat.java |  2 +-
 .../structure/io/script/ScriptRecordReader.java |  2 +-
 .../structure/io/script/ScriptRecordWriter.java |  2 +-
 .../gremlin/hadoop/structure/util/ConfUtil.java |  5 +-
 .../gremlin/hadoop/HadoopGraphProvider.java     |  2 -
 55 files changed, 74 insertions(+), 290 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/Constants.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/Constants.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/Constants.java
index 1853717..f9aa16a 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/Constants.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/Constants.java
@@ -24,7 +24,7 @@ import org.apache.tinkerpop.gremlin.structure.Graph;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class Constants {
+public final class Constants {
 
     private Constants() {
     }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopGremlinPlugin.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopGremlinPlugin.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopGremlinPlugin.java
index 4a2e33c..529cd5f 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopGremlinPlugin.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopGremlinPlugin.java
@@ -47,7 +47,7 @@ import java.util.Set;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopGremlinPlugin extends AbstractGremlinPlugin {
+public final class HadoopGremlinPlugin extends AbstractGremlinPlugin {
 
     private static final Set<String> IMPORTS = new HashSet<String>() {{
         add("import org.apache.hadoop.hdfs.*");

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopRemoteAcceptor.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopRemoteAcceptor.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopRemoteAcceptor.java
index 704ef1a..a67721b 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopRemoteAcceptor.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopRemoteAcceptor.java
@@ -41,7 +41,7 @@ import java.util.List;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopRemoteAcceptor implements RemoteAcceptor {
+public final class HadoopRemoteAcceptor implements RemoteAcceptor {
 
     private static final String USE_SUGAR = "useSugar";
     private static final String SPACE = " ";

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopCombine.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopCombine.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopCombine.java
index bbcf524..de1e2f9 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopCombine.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopCombine.java
@@ -34,7 +34,7 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopCombine extends Reducer<ObjectWritable, ObjectWritable, ObjectWritable, ObjectWritable> {
+public final class HadoopCombine extends Reducer<ObjectWritable, ObjectWritable, ObjectWritable, ObjectWritable> {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(HadoopCombine.class);
     private MapReduce mapReduce;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopMap.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopMap.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopMap.java
index a0a6c00..9e6fac3 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopMap.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopMap.java
@@ -37,7 +37,7 @@ import java.util.Optional;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopMap extends Mapper<NullWritable, VertexWritable, ObjectWritable, ObjectWritable> {
+public final class HadoopMap extends Mapper<NullWritable, VertexWritable, ObjectWritable, ObjectWritable> {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(HadoopMap.class);
     private MapReduce mapReduce;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopReduce.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopReduce.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopReduce.java
index ba88339..06dfba1 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopReduce.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/HadoopReduce.java
@@ -34,7 +34,7 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopReduce extends Reducer<ObjectWritable, ObjectWritable, ObjectWritable, ObjectWritable> {
+public final class HadoopReduce extends Reducer<ObjectWritable, ObjectWritable, ObjectWritable, ObjectWritable> {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(HadoopReduce.class);
     private MapReduce mapReduce;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier1.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier1.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier1.java
deleted file mode 100644
index 1631ca8..0000000
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier1.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.hadoop.process.computer.example;
-
-import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-
-import java.util.function.Function;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public class TraversalSupplier1 implements Function<Graph, Traversal<Vertex, String>> {
-    @Override
-    public Traversal<Vertex, String> apply(final Graph graph) {
-        return graph.traversal().V().out().out().values("name");
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier2.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier2.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier2.java
deleted file mode 100644
index 66cc883..0000000
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier2.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.hadoop.process.computer.example;
-
-import org.apache.tinkerpop.gremlin.hadoop.structure.HadoopGraph;
-import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-
-import java.util.Map;
-import java.util.function.Function;
-import java.util.function.Supplier;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public class TraversalSupplier2 implements Function<Graph, Traversal<Vertex, Map<Integer,Long>>> {
-    @Override
-    public Traversal<Vertex,Map<Integer,Long>> apply(final Graph graph) {
-        return (Traversal) graph.traversal().V().<String>values("name").map(s -> s.get().length()).groupCount().<Integer>by(i -> i + 100);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier3.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier3.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier3.java
deleted file mode 100644
index 4b41791..0000000
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/example/TraversalSupplier3.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.hadoop.process.computer.example;
-
-import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public class TraversalSupplier3 implements Function<Graph, Traversal<Vertex, Map<String, List<Vertex>>>> {
-    @Override
-    public Traversal<Vertex, Map<String, List<Vertex>>> apply(final Graph graph) {
-        return (Traversal) graph.traversal().V().<String>values("name").group().<String>by(s -> s.substring(1, 2)).by(v -> v).<Collection>by(Collection::size);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/EmptyOutEdges.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/EmptyOutEdges.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/EmptyOutEdges.java
index 6484b03..607f085 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/EmptyOutEdges.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/EmptyOutEdges.java
@@ -33,7 +33,7 @@ import java.util.Iterator;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class EmptyOutEdges implements OutEdges<ObjectWritable, NullWritable> {
+public final class EmptyOutEdges implements OutEdges<ObjectWritable, NullWritable> {
 
     private static final EmptyOutEdges INSTANCE = new EmptyOutEdges();
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphGraphComputer.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphGraphComputer.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphGraphComputer.java
index e108ca0..e2f8e4d 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphGraphComputer.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphGraphComputer.java
@@ -63,7 +63,7 @@ import java.util.stream.Stream;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GiraphGraphComputer extends AbstractHadoopGraphComputer implements GraphComputer, Tool {
+public final class GiraphGraphComputer extends AbstractHadoopGraphComputer implements GraphComputer, Tool {
 
     protected GiraphConfiguration giraphConfiguration = new GiraphConfiguration();
     private MapMemory memory = new MapMemory();

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMemory.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMemory.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMemory.java
index ba5be5e..306bf6f 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMemory.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMemory.java
@@ -38,7 +38,7 @@ import java.util.Set;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GiraphMemory extends MasterCompute implements Memory {
+public final class GiraphMemory extends MasterCompute implements Memory {
 
     private VertexProgram<?> vertexProgram;
     private GiraphWorkerContext worker;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMessageCombiner.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMessageCombiner.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMessageCombiner.java
index 7390c61..1494d51 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMessageCombiner.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMessageCombiner.java
@@ -31,7 +31,7 @@ import org.apache.tinkerpop.gremlin.process.computer.VertexProgram;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GiraphMessageCombiner extends Combiner<ObjectWritable, ObjectWritable> implements ImmutableClassesGiraphConfigurable {
+public final class GiraphMessageCombiner extends Combiner<ObjectWritable, ObjectWritable> implements ImmutableClassesGiraphConfigurable {
 
     private MessageCombiner messageCombiner;
     private ImmutableClassesGiraphConfiguration configuration;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMessenger.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMessenger.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMessenger.java
index 0041005..83b2943 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMessenger.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/GiraphMessenger.java
@@ -35,7 +35,7 @@ import java.util.Iterator;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GiraphMessenger<M> implements Messenger<M> {
+public final class GiraphMessenger<M> implements Messenger<M> {
 
     private GiraphComputeVertex giraphComputeVertex;
     private Iterator<ObjectWritable<M>> messages;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/MemoryAggregator.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/MemoryAggregator.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/MemoryAggregator.java
index c5cf3f0..1ba0f4e 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/MemoryAggregator.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/MemoryAggregator.java
@@ -23,7 +23,7 @@ import org.apache.giraph.aggregators.Aggregator;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class MemoryAggregator implements Aggregator<RuleWritable> {
+public final class MemoryAggregator implements Aggregator<RuleWritable> {
 
     private Object value;
     private RuleWritable.Rule lastRule = null;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexInputFormat.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexInputFormat.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexInputFormat.java
index 63cb953..7dcaae7 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexInputFormat.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexInputFormat.java
@@ -36,7 +36,7 @@ import java.util.List;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GiraphVertexInputFormat extends VertexInputFormat {
+public final class GiraphVertexInputFormat extends VertexInputFormat {
 
     private InputFormat<NullWritable, VertexWritable> hadoopGraphInputFormat;
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexOutputFormat.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexOutputFormat.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexOutputFormat.java
index ebc40ad..b2ad139 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexOutputFormat.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexOutputFormat.java
@@ -35,7 +35,7 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GiraphVertexOutputFormat extends VertexOutputFormat {
+public final class GiraphVertexOutputFormat extends VertexOutputFormat {
 
     private OutputFormat<NullWritable, VertexWritable> hadoopGraphOutputFormat;
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexReader.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexReader.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexReader.java
index d240dad..c78c7c8 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexReader.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexReader.java
@@ -32,7 +32,7 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GiraphVertexReader extends VertexReader {
+public final class GiraphVertexReader extends VertexReader {
 
     private RecordReader<NullWritable, VertexWritable> recordReader;
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexWriter.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexWriter.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexWriter.java
index 4b64b0c..c66c801 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexWriter.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/giraph/io/GiraphVertexWriter.java
@@ -32,7 +32,7 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GiraphVertexWriter extends VertexWriter {
+public final class GiraphVertexWriter extends VertexWriter {
     private final OutputFormat<NullWritable, VertexWritable> outputFormat;
     private RecordWriter<NullWritable, VertexWritable> recordWriter;
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/mapreduce/MapReduceGraphComputer.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/mapreduce/MapReduceGraphComputer.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/mapreduce/MapReduceGraphComputer.java
index d2a8048..5f94e8e 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/mapreduce/MapReduceGraphComputer.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/mapreduce/MapReduceGraphComputer.java
@@ -21,6 +21,6 @@ package org.apache.tinkerpop.gremlin.hadoop.process.computer.mapreduce;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class MapReduceGraphComputer {
+public final class MapReduceGraphComputer {
     // TODO: A MapReduce implementation of GraphComputer
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/MessagePayload.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/MessagePayload.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/MessagePayload.java
index 1dde098..df58667 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/MessagePayload.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/MessagePayload.java
@@ -24,7 +24,7 @@ package org.apache.tinkerpop.gremlin.hadoop.process.computer.spark.payload;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class MessagePayload<M> implements Payload {
+public final class MessagePayload<M> implements Payload {
 
     private final M message;
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewIncomingPayload.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewIncomingPayload.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewIncomingPayload.java
index f0c5bca..fa7286a 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewIncomingPayload.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewIncomingPayload.java
@@ -31,7 +31,7 @@ import java.util.List;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class ViewIncomingPayload<M> implements Payload {
+public final class ViewIncomingPayload<M> implements Payload {
 
     private List<DetachedVertexProperty<Object>> view = null;
     private final List<M> incomingMessages;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewOutgoingPayload.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewOutgoingPayload.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewOutgoingPayload.java
index 993f029..5515ed0 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewOutgoingPayload.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewOutgoingPayload.java
@@ -29,7 +29,7 @@ import java.util.List;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class ViewOutgoingPayload<M> implements Payload {
+public final class ViewOutgoingPayload<M> implements Payload {
 
     private final List<DetachedVertexProperty<Object>> view;
     private final List<Tuple2<Object,M>> outgoingMessages;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewPayload.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewPayload.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewPayload.java
index 977d926..2236fcd 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewPayload.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/spark/payload/ViewPayload.java
@@ -28,7 +28,7 @@ import java.util.List;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class ViewPayload implements Payload {
+public final class ViewPayload implements Payload {
 
     private final List<DetachedVertexProperty<Object>> view;
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopConfiguration.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopConfiguration.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopConfiguration.java
index 462ea3d..25b01ff 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopConfiguration.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopConfiguration.java
@@ -36,7 +36,7 @@ import java.util.Map;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopConfiguration extends AbstractConfiguration implements Serializable, Iterable {
+public final class HadoopConfiguration extends AbstractConfiguration implements Serializable, Iterable {
 
     private final Map<String, Object> properties = new HashMap<>();
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopEdge.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopEdge.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopEdge.java
index e3b2ea9..9e33cbb 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopEdge.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopEdge.java
@@ -30,7 +30,7 @@ import java.util.Iterator;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopEdge extends HadoopElement implements Edge, WrappedEdge<Edge> {
+public final class HadoopEdge extends HadoopElement implements Edge, WrappedEdge<Edge> {
 
     protected HadoopEdge() {
     }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraph.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraph.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraph.java
index ed964b6..8c2a286 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraph.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraph.java
@@ -122,7 +122,7 @@ import java.util.stream.Stream;
         test = "org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroovyProfileTest$Traversals",
         method = "g_V_out_out_profile_grateful",
         reason = "Hadoop-Gremlin is OLAP-oriented and for OLTP operations, linear-scan joins are required. This particular tests takes many minutes to execute.")
-public class HadoopGraph implements Graph {
+public final class HadoopGraph implements Graph {
 
     public static final Logger LOGGER = LoggerFactory.getLogger(HadoopGraph.class);
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraphVariables.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraphVariables.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraphVariables.java
deleted file mode 100644
index f82603f..0000000
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopGraphVariables.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tinkerpop.gremlin.hadoop.structure;
-
-import org.apache.tinkerpop.gremlin.structure.Graph;
-import org.apache.tinkerpop.gremlin.structure.util.GraphVariableHelper;
-import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public class HadoopGraphVariables implements Graph.Variables {
-
-    private final Map<String, Object> variables = new HashMap<>();
-
-    @Override
-    public Set<String> keys() {
-        return this.variables.keySet();
-    }
-
-    @Override
-    public <R> Optional<R> get(final String key) {
-        return Optional.ofNullable((R) this.variables.get(key));
-    }
-
-    @Override
-    public void remove(final String key) {
-        this.variables.remove(key);
-    }
-
-    @Override
-    public void set(final String key, final Object value) {
-        GraphVariableHelper.validateVariable(key, value);
-        this.variables.put(key, value);
-    }
-
-    @Override
-    public String toString() {
-        return StringFactory.graphVariablesString(this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopProperty.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopProperty.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopProperty.java
index a04433d..6dad9a4 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopProperty.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopProperty.java
@@ -25,7 +25,7 @@ import org.apache.tinkerpop.gremlin.structure.util.wrapped.WrappedProperty;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopProperty<V> implements Property<V>, WrappedProperty<Property<V>> {
+public final class HadoopProperty<V> implements Property<V>, WrappedProperty<Property<V>> {
 
     private final Property<V> baseProperty;
     private final Element hadoopElement;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopVertex.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopVertex.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopVertex.java
index bfd4d6a..fd3973e 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopVertex.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopVertex.java
@@ -31,7 +31,7 @@ import java.util.Iterator;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopVertex extends HadoopElement implements Vertex, WrappedVertex<Vertex> {
+public final class HadoopVertex extends HadoopElement implements Vertex, WrappedVertex<Vertex> {
 
     protected HadoopVertex() {
     }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopVertexProperty.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopVertexProperty.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopVertexProperty.java
index abb10dd..a8fc9ce 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopVertexProperty.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/HadoopVertexProperty.java
@@ -31,7 +31,7 @@ import java.util.Iterator;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopVertexProperty<V> implements VertexProperty<V>, WrappedVertexProperty<VertexProperty<V>> {
+public final class HadoopVertexProperty<V> implements VertexProperty<V>, WrappedVertexProperty<VertexProperty<V>> {
 
     private final VertexProperty<V> baseVertexProperty;
     private final HadoopVertex hadoopVertex;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HDFSTools.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HDFSTools.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HDFSTools.java
index ec14601..e4da530 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HDFSTools.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HDFSTools.java
@@ -37,12 +37,12 @@ import java.util.List;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HDFSTools {
+public final class HDFSTools {
 
     private static final String FORWARD_SLASH = "/";
     private static final String FORWARD_ASTERISK = "/*";
 
-    protected HDFSTools() {
+    private HDFSTools() {
     }
 
     public static long getFileSize(final FileSystem fs, final Path path, final PathFilter filter) throws IOException {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HadoopEdgeIterator.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HadoopEdgeIterator.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HadoopEdgeIterator.java
index dc45660..acdc0a4 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HadoopEdgeIterator.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HadoopEdgeIterator.java
@@ -35,7 +35,7 @@ import java.util.Iterator;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopEdgeIterator extends HadoopElementIterator<Edge> {
+public final class HadoopEdgeIterator extends HadoopElementIterator<Edge> {
 
     private Iterator<Edge> edgeIterator = Collections.emptyIterator();
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HadoopVertexIterator.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HadoopVertexIterator.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HadoopVertexIterator.java
index 07a6e8a..8977692 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HadoopVertexIterator.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HadoopVertexIterator.java
@@ -32,7 +32,7 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HadoopVertexIterator extends HadoopElementIterator<Vertex> {
+public final class HadoopVertexIterator extends HadoopElementIterator<Vertex> {
 
     private HadoopVertex nextVertex = null;
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HiddenFileFilter.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HiddenFileFilter.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HiddenFileFilter.java
index b045328..4ea0958 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HiddenFileFilter.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/HiddenFileFilter.java
@@ -24,7 +24,7 @@ import org.apache.hadoop.fs.PathFilter;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class HiddenFileFilter implements PathFilter {
+public final class HiddenFileFilter implements PathFilter {
 
     private static final HiddenFileFilter INSTANCE = new HiddenFileFilter();
 

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/TextIterator.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/TextIterator.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/TextIterator.java
index b635c3d..c8424f6 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/TextIterator.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/hdfs/TextIterator.java
@@ -34,7 +34,7 @@ import java.util.Queue;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class TextIterator implements Iterator<String> {
+public final class TextIterator implements Iterator<String> {
 
     private String line;
     private boolean available = false;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/IOClasses.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/IOClasses.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/IOClasses.java
deleted file mode 100644
index 504e25d..0000000
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/IOClasses.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- *
- *  * Licensed to the Apache Software Foundation (ASF) under one
- *  * or more contributor license agreements.  See the NOTICE file
- *  * distributed with this work for additional information
- *  * regarding copyright ownership.  The ASF licenses this file
- *  * to you under the Apache License, Version 2.0 (the
- *  * "License"); you may not use this file except in compliance
- *  * with the License.  You may obtain a copy of the License at
- *  *
- *  * http://www.apache.org/licenses/LICENSE-2.0
- *  *
- *  * Unless required by applicable law or agreed to in writing,
- *  * software distributed under the License is distributed on an
- *  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  * KIND, either express or implied.  See the License for the
- *  * specific language governing permissions and limitations
- *  * under the License.
- *
- */
-
-package org.apache.tinkerpop.gremlin.hadoop.structure.io;
-
-import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoMapper;
-import org.apache.tinkerpop.gremlin.structure.util.star.StarGraph;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Marko A. Rodriguez (http://markorodriguez.com)
- */
-public final class IOClasses {
-
-    public static List<Class> getGryoClasses(final GryoMapper mapper) {
-        return mapper.getRegisteredClasses();
-    }
-
-    public static List<Class> getSharedHadoopClasses() {
-        final List<Class> hadoopClasses = new ArrayList<>();
-        hadoopClasses.add(VertexWritable.class);
-        hadoopClasses.add(ObjectWritable.class);
-        hadoopClasses.add(StarGraph.class);
-        hadoopClasses.add(StarGraph.StarVertex.class);
-        hadoopClasses.add(StarGraph.StarVertexProperty.class);
-        hadoopClasses.add(StarGraph.StarProperty.class);
-        hadoopClasses.add(StarGraph.StarOutEdge.class);
-        hadoopClasses.add(StarGraph.StarInEdge.class);
-        hadoopClasses.add(StarGraph.StarAdjacentVertex.class);
-        return hadoopClasses;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/InputOutputHelper.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/InputOutputHelper.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/InputOutputHelper.java
index f4f5d29..8a80053 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/InputOutputHelper.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/InputOutputHelper.java
@@ -34,7 +34,7 @@ import java.util.concurrent.ConcurrentHashMap;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class InputOutputHelper {
+public final class InputOutputHelper {
 
     private static Map<Class<? extends InputFormat<NullWritable, VertexWritable>>, Class<? extends OutputFormat<NullWritable, VertexWritable>>> INPUT_TO_OUTPUT_CACHE = new ConcurrentHashMap<>();
     private static Map<Class<? extends OutputFormat<NullWritable, VertexWritable>>, Class<? extends InputFormat<NullWritable, VertexWritable>>> OUTPUT_TO_INPUT_CACHE = new ConcurrentHashMap<>();

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/ObjectWritableComparator.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/ObjectWritableComparator.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/ObjectWritableComparator.java
index c810768..976518f 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/ObjectWritableComparator.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/ObjectWritableComparator.java
@@ -34,11 +34,10 @@ import java.util.Comparator;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public abstract class ObjectWritableComparator implements RawComparator<ObjectWritable>, Configurable {
+public abstract class ObjectWritableComparator implements RawComparator<ObjectWritable>, HadoopPoolsConfigurable {
 
     public static final Logger LOGGER = LoggerFactory.getLogger(ObjectWritableComparator.class);
 
-    protected Configuration configuration;
     protected Comparator comparator;
     private final ObjectWritable objectWritable1 = new ObjectWritable();
     private final ObjectWritable objectWritable2 = new ObjectWritable();
@@ -61,15 +60,10 @@ public abstract class ObjectWritableComparator implements RawComparator<ObjectWr
         }
     }
 
-    @Override
-    public Configuration getConf() {
-        return this.configuration;
-    }
-
     public static class ObjectWritableMapComparator extends ObjectWritableComparator {
         @Override
         public void setConf(final Configuration configuration) {
-            this.configuration = configuration;
+            super.setConf(configuration);
             final org.apache.commons.configuration.Configuration apacheConfiguration = ConfUtil.makeApacheConfiguration(configuration);
             this.comparator = MapReduce.<MapReduce<?,?,?,?,?>>createMapReduce(HadoopGraph.open(apacheConfiguration),apacheConfiguration).getMapKeySort().get();
         }
@@ -78,7 +72,7 @@ public abstract class ObjectWritableComparator implements RawComparator<ObjectWr
     public static class ObjectWritableReduceComparator extends ObjectWritableComparator {
         @Override
         public void setConf(final Configuration configuration) {
-            this.configuration = configuration;
+            super.setConf(configuration);
             final org.apache.commons.configuration.Configuration apacheConfiguration = ConfUtil.makeApacheConfiguration(configuration);
             this.comparator = MapReduce.<MapReduce<?,?,?,?,?>>createMapReduce(HadoopGraph.open(apacheConfiguration),apacheConfiguration).getReduceKeySort().get();
         }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/ObjectWritableIterator.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/ObjectWritableIterator.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/ObjectWritableIterator.java
index f2be349..8708033 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/ObjectWritableIterator.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/ObjectWritableIterator.java
@@ -35,7 +35,7 @@ import java.util.Queue;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class ObjectWritableIterator implements Iterator<KeyValue> {
+public final class ObjectWritableIterator implements Iterator<KeyValue> {
 
     private final ObjectWritable key = new ObjectWritable();
     private final ObjectWritable value = new ObjectWritable();

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/VertexWritableIterator.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/VertexWritableIterator.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/VertexWritableIterator.java
index 16d81f4..ad22775 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/VertexWritableIterator.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/VertexWritableIterator.java
@@ -38,7 +38,7 @@ import java.util.Queue;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class VertexWritableIterator implements Iterator<Vertex> {
+public final class VertexWritableIterator implements Iterator<Vertex> {
 
     private final VertexWritable value = new VertexWritable();
     private boolean available = false;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONInputFormat.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONInputFormat.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONInputFormat.java
index 937ccda..014ec74 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONInputFormat.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONInputFormat.java
@@ -34,7 +34,7 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GraphSONInputFormat extends FileInputFormat<NullWritable, VertexWritable> implements HadoopPoolsConfigurable {
+public final class GraphSONInputFormat extends FileInputFormat<NullWritable, VertexWritable> implements HadoopPoolsConfigurable {
 
     @Override
     public RecordReader<NullWritable, VertexWritable> createRecordReader(final InputSplit split, final TaskAttemptContext context) throws IOException, InterruptedException {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONOutputFormat.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONOutputFormat.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONOutputFormat.java
index 0904c12..30a8cfa 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONOutputFormat.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONOutputFormat.java
@@ -30,7 +30,7 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GraphSONOutputFormat extends CommonFileOutputFormat implements HadoopPoolsConfigurable {
+public final class GraphSONOutputFormat extends CommonFileOutputFormat implements HadoopPoolsConfigurable {
 
     @Override
     public RecordWriter<NullWritable, VertexWritable> getRecordWriter(final TaskAttemptContext job) throws IOException, InterruptedException {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONRecordReader.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONRecordReader.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONRecordReader.java
index d0460f3..a990a2b 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONRecordReader.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONRecordReader.java
@@ -36,7 +36,7 @@ import java.io.InputStream;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GraphSONRecordReader extends RecordReader<NullWritable, VertexWritable> {
+public final class GraphSONRecordReader extends RecordReader<NullWritable, VertexWritable> {
 
     private final GraphSONReader graphsonReader = GraphSONReader.build().create();
     private final VertexWritable vertexWritable = new VertexWritable();

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONRecordWriter.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONRecordWriter.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONRecordWriter.java
index 8b3237f..0e03b9a 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONRecordWriter.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/graphson/GraphSONRecordWriter.java
@@ -34,7 +34,7 @@ import java.io.UnsupportedEncodingException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GraphSONRecordWriter extends RecordWriter<NullWritable, VertexWritable> {
+public final class GraphSONRecordWriter extends RecordWriter<NullWritable, VertexWritable> {
     private static final String UTF8 = "UTF-8";
     private static final byte[] NEWLINE;
     private final DataOutputStream outputStream;

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoInputFormat.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoInputFormat.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoInputFormat.java
index 4553995..7a53a39 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoInputFormat.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoInputFormat.java
@@ -31,7 +31,7 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GryoInputFormat extends FileInputFormat<NullWritable, VertexWritable> implements HadoopPoolsConfigurable {
+public final class GryoInputFormat extends FileInputFormat<NullWritable, VertexWritable> implements HadoopPoolsConfigurable {
 
     @Override
     public RecordReader<NullWritable, VertexWritable> createRecordReader(final InputSplit split, final TaskAttemptContext context) throws IOException, InterruptedException {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoOutputFormat.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoOutputFormat.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoOutputFormat.java
index 2aae90e..69d56ce 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoOutputFormat.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoOutputFormat.java
@@ -30,7 +30,7 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GryoOutputFormat extends CommonFileOutputFormat implements HadoopPoolsConfigurable {
+public final class GryoOutputFormat extends CommonFileOutputFormat implements HadoopPoolsConfigurable {
 
     @Override
     public RecordWriter<NullWritable, VertexWritable> getRecordWriter(final TaskAttemptContext job) throws IOException, InterruptedException {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoRecordReader.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoRecordReader.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoRecordReader.java
index 3a12087..8f3886d 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoRecordReader.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoRecordReader.java
@@ -27,6 +27,7 @@ import org.apache.hadoop.mapreduce.InputSplit;
 import org.apache.hadoop.mapreduce.RecordReader;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.hadoop.mapreduce.lib.input.FileSplit;
+import org.apache.tinkerpop.gremlin.hadoop.structure.io.HadoopPools;
 import org.apache.tinkerpop.gremlin.hadoop.structure.io.VertexWritable;
 import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoMapper;
 import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoReader;
@@ -41,14 +42,14 @@ import java.io.InputStream;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GryoRecordReader extends RecordReader<NullWritable, VertexWritable> {
+public final class GryoRecordReader extends RecordReader<NullWritable, VertexWritable> {
 
     private FSDataInputStream inputStream;
 
     private static final byte[] PATTERN = GryoMapper.HEADER;
     private static final byte[] TERMINATOR = VertexTerminator.instance().terminal;
 
-    private final GryoReader gryoReader = GryoReader.build().create();
+    private GryoReader gryoReader;
     private final VertexWritable vertexWritable = new VertexWritable();
 
     private long currentLength = 0;
@@ -60,14 +61,16 @@ public class GryoRecordReader extends RecordReader<NullWritable, VertexWritable>
     @Override
     public void initialize(final InputSplit genericSplit, final TaskAttemptContext context) throws IOException {
         final FileSplit split = (FileSplit) genericSplit;
-        final Configuration job = context.getConfiguration();
+        final Configuration configuration = context.getConfiguration();
+        HadoopPools.initialize(configuration);
+        this.gryoReader = HadoopPools.getGryoPool().takeReader();
         long start = split.getStart();
         final Path file = split.getPath();
-        if (null != new CompressionCodecFactory(job).getCodec(file)) {
+        if (null != new CompressionCodecFactory(configuration).getCodec(file)) {
             throw new IllegalStateException("Compression is not supported for the (binary) Gryo format");
         }
         // open the file and seek to the start of the split
-        this.inputStream = file.getFileSystem(job).open(split.getPath());
+        this.inputStream = file.getFileSystem(configuration).open(split.getPath());
         this.splitLength = split.getLength() - (seekToHeader(this.inputStream, start) - start);
     }
 
@@ -145,5 +148,9 @@ public class GryoRecordReader extends RecordReader<NullWritable, VertexWritable>
     @Override
     public synchronized void close() throws IOException {
         this.inputStream.close();
+        if (null != this.gryoReader) {
+            HadoopPools.getGryoPool().offerReader(this.gryoReader);
+            this.gryoReader = null;
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoRecordWriter.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoRecordWriter.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoRecordWriter.java
index 18501d3..5ffccdf 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoRecordWriter.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/gryo/GryoRecordWriter.java
@@ -23,6 +23,7 @@ import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.mapreduce.RecordWriter;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.tinkerpop.gremlin.hadoop.Constants;
+import org.apache.tinkerpop.gremlin.hadoop.structure.io.HadoopPools;
 import org.apache.tinkerpop.gremlin.hadoop.structure.io.VertexWritable;
 import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.io.gryo.GryoWriter;
@@ -33,15 +34,17 @@ import java.io.IOException;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class GryoRecordWriter extends RecordWriter<NullWritable, VertexWritable> {
+public final class GryoRecordWriter extends RecordWriter<NullWritable, VertexWritable> {
 
     private final DataOutputStream outputStream;
     private final boolean hasEdges;
-    private final GryoWriter gryoWriter = GryoWriter.build().create(); // TODO: configurable build
+    private GryoWriter gryoWriter;
 
     public GryoRecordWriter(final DataOutputStream outputStream, final Configuration configuration) {
         this.outputStream = outputStream;
         this.hasEdges = configuration.getBoolean(Constants.GREMLIN_HADOOP_GRAPH_OUTPUT_FORMAT_HAS_EDGES, true);
+        HadoopPools.initialize(configuration);
+        this.gryoWriter = HadoopPools.getGryoPool().takeWriter();
     }
 
     @Override
@@ -57,5 +60,9 @@ public class GryoRecordWriter extends RecordWriter<NullWritable, VertexWritable>
     @Override
     public synchronized void close(final TaskAttemptContext context) throws IOException {
         this.outputStream.close();
+        if (null != this.gryoWriter) {
+            HadoopPools.getGryoPool().offerWriter(this.gryoWriter);
+            this.gryoWriter = null;
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptInputFormat.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptInputFormat.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptInputFormat.java
index a155879..f6d6c4c 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptInputFormat.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptInputFormat.java
@@ -35,7 +35,7 @@ import java.io.IOException;
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  * @author Daniel Kuppitz (http://gremlin.guru)
  */
-public class ScriptInputFormat extends FileInputFormat<NullWritable, VertexWritable> implements HadoopPoolsConfigurable {
+public final class ScriptInputFormat extends FileInputFormat<NullWritable, VertexWritable> implements HadoopPoolsConfigurable {
 
     @Override
     public RecordReader<NullWritable, VertexWritable> createRecordReader(final InputSplit split, final TaskAttemptContext context)

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptOutputFormat.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptOutputFormat.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptOutputFormat.java
index e16bc36..b57e43e 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptOutputFormat.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptOutputFormat.java
@@ -31,7 +31,7 @@ import java.io.IOException;
 /**
  * @author Daniel Kuppitz (http://gremlin.guru)
  */
-public class ScriptOutputFormat extends CommonFileOutputFormat implements HadoopPoolsConfigurable {
+public final class ScriptOutputFormat extends CommonFileOutputFormat implements HadoopPoolsConfigurable {
 
     @Override
     public RecordWriter<NullWritable, VertexWritable> getRecordWriter(final TaskAttemptContext job) throws IOException, InterruptedException {

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordReader.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordReader.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordReader.java
index 8e31abe..191c249 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordReader.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordReader.java
@@ -45,7 +45,7 @@ import java.util.Iterator;
  * @author Daniel Kuppitz (http://gremlin.guru)
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class ScriptRecordReader extends RecordReader<NullWritable, VertexWritable> {
+public final class ScriptRecordReader extends RecordReader<NullWritable, VertexWritable> {
 
     protected final static String SCRIPT_FILE = "gremlin.hadoop.scriptInputFormat.script";
     //protected final static String SCRIPT_ENGINE = "gremlin.hadoop.scriptInputFormat.scriptEngine";

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordWriter.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordWriter.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordWriter.java
index 16e532c..e0a9ece 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordWriter.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/io/script/ScriptRecordWriter.java
@@ -39,7 +39,7 @@ import java.io.UnsupportedEncodingException;
 /**
  * @author Daniel Kuppitz (http://gremlin.guru)
  */
-public class ScriptRecordWriter extends RecordWriter<NullWritable, VertexWritable> {
+public final class ScriptRecordWriter extends RecordWriter<NullWritable, VertexWritable> {
 
     protected final static String SCRIPT_FILE = "gremlin.hadoop.scriptOutputFormat.script";
     protected final static String SCRIPT_ENGINE = "gremlin.hadoop.scriptOutputFormat.scriptEngine";

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/util/ConfUtil.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/util/ConfUtil.java b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/util/ConfUtil.java
index efb17f5..1144964 100644
--- a/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/util/ConfUtil.java
+++ b/hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/structure/util/ConfUtil.java
@@ -24,7 +24,10 @@ import org.apache.hadoop.conf.Configuration;
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
  */
-public class ConfUtil {
+public final class ConfUtil {
+
+    private ConfUtil() {
+    }
 
     public static org.apache.commons.configuration.Configuration makeApacheConfiguration(final Configuration hadoopConfiguration) {
         final BaseConfiguration apacheConfiguration = new BaseConfiguration();

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/f0f6d0fa/hadoop-gremlin/src/test/java/org/apache/tinkerpop/gremlin/hadoop/HadoopGraphProvider.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/test/java/org/apache/tinkerpop/gremlin/hadoop/HadoopGraphProvider.java b/hadoop-gremlin/src/test/java/org/apache/tinkerpop/gremlin/hadoop/HadoopGraphProvider.java
index 220c0b4..b593c8a 100644
--- a/hadoop-gremlin/src/test/java/org/apache/tinkerpop/gremlin/hadoop/HadoopGraphProvider.java
+++ b/hadoop-gremlin/src/test/java/org/apache/tinkerpop/gremlin/hadoop/HadoopGraphProvider.java
@@ -27,7 +27,6 @@ import org.apache.tinkerpop.gremlin.TestHelper;
 import org.apache.tinkerpop.gremlin.hadoop.structure.HadoopEdge;
 import org.apache.tinkerpop.gremlin.hadoop.structure.HadoopElement;
 import org.apache.tinkerpop.gremlin.hadoop.structure.HadoopGraph;
-import org.apache.tinkerpop.gremlin.hadoop.structure.HadoopGraphVariables;
 import org.apache.tinkerpop.gremlin.hadoop.structure.HadoopProperty;
 import org.apache.tinkerpop.gremlin.hadoop.structure.HadoopVertex;
 import org.apache.tinkerpop.gremlin.hadoop.structure.HadoopVertexProperty;
@@ -63,7 +62,6 @@ public class HadoopGraphProvider extends AbstractGraphProvider {
         add(HadoopEdge.class);
         add(HadoopElement.class);
         add(HadoopGraph.class);
-        add(HadoopGraphVariables.class);
         add(HadoopProperty.class);
         add(HadoopVertex.class);
         add(HadoopVertexProperty.class);