You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by sa...@apache.org on 2018/05/03 22:24:28 UTC

[5/5] atlas git commit: ATLAS-2521: Remove Titan 0.5.4 support from Atlas

ATLAS-2521: Remove Titan 0.5.4 support from Atlas


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

Branch: refs/heads/master
Commit: effb7537f06883a868734dd4d25ec97410af60be
Parents: 8b65aed
Author: Sarath Subramanian <ss...@hortonworks.com>
Authored: Thu May 3 15:24:14 2018 -0700
Committer: Sarath Subramanian <ss...@hortonworks.com>
Committed: Thu May 3 15:24:14 2018 -0700

----------------------------------------------------------------------
 addons/falcon-bridge-shim/pom.xml               |   4 -
 addons/falcon-bridge/pom.xml                    |   4 -
 .../test/resources/atlas-application.properties |   2 +-
 .../src/test/resources/atlas-log4j.xml          |   2 +-
 .../test/resources/atlas-application.properties |   2 +-
 .../src/test/resources/atlas-log4j.xml          |   2 +-
 .../main/resources/atlas-hive-import-log4j.xml  |   5 -
 .../test/resources/atlas-application.properties |   2 +-
 .../src/test/resources/atlas-log4j.xml          |   2 +-
 .../test/resources/atlas-application.properties |   2 +-
 .../src/test/resources/atlas-log4j.xml          |   2 +-
 .../test/resources/atlas-application.properties |   2 +-
 .../src/test/resources/atlas-log4j.xml          |   2 +-
 .../test/resources/atlas-application.properties |   2 +-
 .../main/resources/checkstyle-suppressions.xml  |   3 -
 .../org/apache/atlas/repository/Constants.java  |   1 -
 common/src/test/resources/atlas-log4j.xml       |   4 +-
 distro/pom.xml                                  |   4 +-
 distro/src/conf/atlas-env.sh                    |   2 +-
 distro/src/conf/atlas-log4j.xml                 |   2 +-
 distro/src/conf/solr/schema.xml                 |   1 -
 distro/src/conf/solr/solrconfig.xml             |   1 -
 .../tinkerpop/query/TinkerpopGraphQuery.java    |   3 +-
 graphdb/janus/readme.txt                        |   3 +-
 .../graphdb/janus/AtlasJanusGraphDatabase.java  |   2 +-
 graphdb/pom.xml                                 |   1 -
 graphdb/readme.txt                              |   7 +-
 graphdb/titan0/pom.xml                          | 317 ------
 .../titan/diskstorage/hbase/AdminMask.java      |  62 --
 .../titan/diskstorage/hbase/ConnectionMask.java |  30 -
 .../titan/diskstorage/hbase/HBaseAdmin0_98.java | 152 ---
 .../titan/diskstorage/hbase/HBaseAdmin1_0.java  | 135 ---
 .../titan/diskstorage/hbase/HBaseCompat.java    |  60 --
 .../diskstorage/hbase/HBaseCompat0_98.java      |  58 --
 .../titan/diskstorage/hbase/HBaseCompat1_0.java |  58 --
 .../titan/diskstorage/hbase/HBaseCompat1_1.java |  58 --
 .../diskstorage/hbase/HBaseCompatLoader.java    |  76 --
 .../hbase/HBaseKeyColumnValueStore.java         | 424 --------
 .../diskstorage/hbase/HBaseStoreManager.java    | 932 ------------------
 .../diskstorage/hbase/HBaseTransaction.java     |  75 --
 .../diskstorage/hbase/HConnection0_98.java      |  49 -
 .../titan/diskstorage/hbase/HConnection1_0.java |  50 -
 .../titan/diskstorage/hbase/HTable0_98.java     |  65 --
 .../titan/diskstorage/hbase/HTable1_0.java      |  65 --
 .../titan/diskstorage/hbase/TableMask.java      |  41 -
 .../diskstorage/locking/LocalLockMediator.java  | 345 -------
 .../titan/diskstorage/solr/Solr5Index.java      | 984 -------------------
 .../database/idassigner/StandardIDPool.java     | 259 -----
 .../query/condition/PredicateCondition.java     | 134 ---
 .../query/graph/GraphCentricQueryBuilder.java   | 480 ---------
 .../graphdb/titan0/GraphDbObjectFactory.java    | 129 ---
 .../repository/graphdb/titan0/Titan0Edge.java   |  62 --
 .../graphdb/titan0/Titan0EdgeLabel.java         |  64 --
 .../graphdb/titan0/Titan0Element.java           | 267 -----
 .../repository/graphdb/titan0/Titan0Graph.java  | 432 --------
 .../graphdb/titan0/Titan0GraphDatabase.java     | 204 ----
 .../graphdb/titan0/Titan0GraphIndex.java        |  96 --
 .../graphdb/titan0/Titan0GraphManagement.java   | 225 -----
 .../graphdb/titan0/Titan0IndexQuery.java        |  97 --
 .../graphdb/titan0/Titan0PropertyKey.java       |  82 --
 .../repository/graphdb/titan0/Titan0Vertex.java | 148 ---
 .../graphdb/titan0/Titan0VertexQuery.java       |  92 --
 .../graphdb/titan0/TitanObjectFactory.java      |  99 --
 .../titan0/query/NativeTitan0GraphQuery.java    | 175 ----
 .../graphdb/titan0/query/Titan0GraphQuery.java  |  57 --
 .../hbase/HBaseKeyColumnValueStoreTest.java     | 139 ---
 .../locking/LocalLockMediatorTest.java          |  60 --
 .../titan0/AbstractGraphDatabaseTest.java       | 188 ----
 .../graphdb/titan0/GraphQueryTest.java          | 451 ---------
 .../graphdb/titan0/Titan0DatabaseTest.java      | 413 --------
 .../titan0/Titan0DatabaseValidationTest.java    |  80 --
 .../test/resources/atlas-application.properties | 100 --
 intg/src/main/resources/atlas-log4j.xml         |   2 +-
 .../test/resources/atlas-application.properties |   2 +-
 pom.xml                                         |  27 +-
 repository/pom.xml                              |  24 -
 .../graph/GraphBackedSearchIndexer.java         |   2 +-
 .../store/graph/v1/DeleteHandlerV1.java         |   4 +-
 tools/atlas-migration-exporter/pom.xml          |  10 -
 .../org/apache/atlas/migration/Exporter.java    |  13 -
 webapp/pom.xml                                  |   4 +-
 .../test/resources/atlas-application.properties |   2 +-
 82 files changed, 31 insertions(+), 8697 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/falcon-bridge-shim/pom.xml
----------------------------------------------------------------------
diff --git a/addons/falcon-bridge-shim/pom.xml b/addons/falcon-bridge-shim/pom.xml
index e2c41b3..3fbee25 100755
--- a/addons/falcon-bridge-shim/pom.xml
+++ b/addons/falcon-bridge-shim/pom.xml
@@ -52,10 +52,6 @@
                     <artifactId>*</artifactId>
                 </exclusion>
                 <exclusion>
-                    <groupId>com.thinkaurelius.titan</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
                     <groupId>javax.servlet</groupId>
                     <artifactId>servlet-api</artifactId>
                 </exclusion>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/falcon-bridge/pom.xml
----------------------------------------------------------------------
diff --git a/addons/falcon-bridge/pom.xml b/addons/falcon-bridge/pom.xml
index 53f6d36..9db65dc 100644
--- a/addons/falcon-bridge/pom.xml
+++ b/addons/falcon-bridge/pom.xml
@@ -67,10 +67,6 @@
                     <artifactId>*</artifactId>
                 </exclusion>
                 <exclusion>
-                    <groupId>com.thinkaurelius.titan</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
                     <groupId>javax.servlet</groupId>
                     <artifactId>servlet-api</artifactId>
                 </exclusion>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/falcon-bridge/src/test/resources/atlas-application.properties
----------------------------------------------------------------------
diff --git a/addons/falcon-bridge/src/test/resources/atlas-application.properties b/addons/falcon-bridge/src/test/resources/atlas-application.properties
index 91fd8b0..898b69c 100644
--- a/addons/falcon-bridge/src/test/resources/atlas-application.properties
+++ b/addons/falcon-bridge/src/test/resources/atlas-application.properties
@@ -39,7 +39,7 @@ atlas.graph.storage.directory=${sys:atlas.data}/berkley
 
 #hbase
 #For standalone mode , specify localhost
-#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
+#for distributed mode, specify zookeeper quorum here
 
 atlas.graph.storage.hostname=${graph.storage.hostname}
 atlas.graph.storage.hbase.regions-per-server=1

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/falcon-bridge/src/test/resources/atlas-log4j.xml
----------------------------------------------------------------------
diff --git a/addons/falcon-bridge/src/test/resources/atlas-log4j.xml b/addons/falcon-bridge/src/test/resources/atlas-log4j.xml
index a0f9629..c183871 100755
--- a/addons/falcon-bridge/src/test/resources/atlas-log4j.xml
+++ b/addons/falcon-bridge/src/test/resources/atlas-log4j.xml
@@ -88,7 +88,7 @@
         <appender-ref ref="FILE"/>
     </logger>
 
-    <logger name="com.thinkaurelius.titan" additivity="false">
+    <logger name="org.janusgraph" additivity="false">
         <level value="warn"/>
         <appender-ref ref="FILE"/>
     </logger>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/hbase-bridge/src/test/resources/atlas-application.properties
----------------------------------------------------------------------
diff --git a/addons/hbase-bridge/src/test/resources/atlas-application.properties b/addons/hbase-bridge/src/test/resources/atlas-application.properties
index 91fd8b0..898b69c 100644
--- a/addons/hbase-bridge/src/test/resources/atlas-application.properties
+++ b/addons/hbase-bridge/src/test/resources/atlas-application.properties
@@ -39,7 +39,7 @@ atlas.graph.storage.directory=${sys:atlas.data}/berkley
 
 #hbase
 #For standalone mode , specify localhost
-#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
+#for distributed mode, specify zookeeper quorum here
 
 atlas.graph.storage.hostname=${graph.storage.hostname}
 atlas.graph.storage.hbase.regions-per-server=1

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/hbase-bridge/src/test/resources/atlas-log4j.xml
----------------------------------------------------------------------
diff --git a/addons/hbase-bridge/src/test/resources/atlas-log4j.xml b/addons/hbase-bridge/src/test/resources/atlas-log4j.xml
index a0f9629..c183871 100755
--- a/addons/hbase-bridge/src/test/resources/atlas-log4j.xml
+++ b/addons/hbase-bridge/src/test/resources/atlas-log4j.xml
@@ -88,7 +88,7 @@
         <appender-ref ref="FILE"/>
     </logger>
 
-    <logger name="com.thinkaurelius.titan" additivity="false">
+    <logger name="org.janusgraph" additivity="false">
         <level value="warn"/>
         <appender-ref ref="FILE"/>
     </logger>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/hive-bridge/src/main/resources/atlas-hive-import-log4j.xml
----------------------------------------------------------------------
diff --git a/addons/hive-bridge/src/main/resources/atlas-hive-import-log4j.xml b/addons/hive-bridge/src/main/resources/atlas-hive-import-log4j.xml
index fe34bb8..22a8cc9 100644
--- a/addons/hive-bridge/src/main/resources/atlas-hive-import-log4j.xml
+++ b/addons/hive-bridge/src/main/resources/atlas-hive-import-log4j.xml
@@ -43,11 +43,6 @@
         <appender-ref ref="FILE"/>
     </logger>
 
-    <logger name="com.thinkaurelius.titan" additivity="false">
-        <level value="warn"/>
-        <appender-ref ref="FILE"/>
-    </logger>
-
     <!-- to avoid logs - The configuration log.flush.interval.messages = 1 was supplied but isn't a known config -->
     <logger name="org.apache.kafka.common.config.AbstractConfig" additivity="false">
         <level value="error"/>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/hive-bridge/src/test/resources/atlas-application.properties
----------------------------------------------------------------------
diff --git a/addons/hive-bridge/src/test/resources/atlas-application.properties b/addons/hive-bridge/src/test/resources/atlas-application.properties
index 91fd8b0..898b69c 100644
--- a/addons/hive-bridge/src/test/resources/atlas-application.properties
+++ b/addons/hive-bridge/src/test/resources/atlas-application.properties
@@ -39,7 +39,7 @@ atlas.graph.storage.directory=${sys:atlas.data}/berkley
 
 #hbase
 #For standalone mode , specify localhost
-#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
+#for distributed mode, specify zookeeper quorum here
 
 atlas.graph.storage.hostname=${graph.storage.hostname}
 atlas.graph.storage.hbase.regions-per-server=1

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/hive-bridge/src/test/resources/atlas-log4j.xml
----------------------------------------------------------------------
diff --git a/addons/hive-bridge/src/test/resources/atlas-log4j.xml b/addons/hive-bridge/src/test/resources/atlas-log4j.xml
index a0f9629..c183871 100755
--- a/addons/hive-bridge/src/test/resources/atlas-log4j.xml
+++ b/addons/hive-bridge/src/test/resources/atlas-log4j.xml
@@ -88,7 +88,7 @@
         <appender-ref ref="FILE"/>
     </logger>
 
-    <logger name="com.thinkaurelius.titan" additivity="false">
+    <logger name="org.janusgraph" additivity="false">
         <level value="warn"/>
         <appender-ref ref="FILE"/>
     </logger>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/sqoop-bridge/src/test/resources/atlas-application.properties
----------------------------------------------------------------------
diff --git a/addons/sqoop-bridge/src/test/resources/atlas-application.properties b/addons/sqoop-bridge/src/test/resources/atlas-application.properties
index 91fd8b0..898b69c 100644
--- a/addons/sqoop-bridge/src/test/resources/atlas-application.properties
+++ b/addons/sqoop-bridge/src/test/resources/atlas-application.properties
@@ -39,7 +39,7 @@ atlas.graph.storage.directory=${sys:atlas.data}/berkley
 
 #hbase
 #For standalone mode , specify localhost
-#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
+#for distributed mode, specify zookeeper quorum here
 
 atlas.graph.storage.hostname=${graph.storage.hostname}
 atlas.graph.storage.hbase.regions-per-server=1

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/sqoop-bridge/src/test/resources/atlas-log4j.xml
----------------------------------------------------------------------
diff --git a/addons/sqoop-bridge/src/test/resources/atlas-log4j.xml b/addons/sqoop-bridge/src/test/resources/atlas-log4j.xml
index a0f9629..c183871 100755
--- a/addons/sqoop-bridge/src/test/resources/atlas-log4j.xml
+++ b/addons/sqoop-bridge/src/test/resources/atlas-log4j.xml
@@ -88,7 +88,7 @@
         <appender-ref ref="FILE"/>
     </logger>
 
-    <logger name="com.thinkaurelius.titan" additivity="false">
+    <logger name="org.janusgraph" additivity="false">
         <level value="warn"/>
         <appender-ref ref="FILE"/>
     </logger>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/storm-bridge/src/test/resources/atlas-application.properties
----------------------------------------------------------------------
diff --git a/addons/storm-bridge/src/test/resources/atlas-application.properties b/addons/storm-bridge/src/test/resources/atlas-application.properties
index 5e3836b..b822578 100644
--- a/addons/storm-bridge/src/test/resources/atlas-application.properties
+++ b/addons/storm-bridge/src/test/resources/atlas-application.properties
@@ -41,7 +41,7 @@ atlas.graph.storage.directory=${sys:atlas.data}/berkley
 
 #hbase
 #For standalone mode , specify localhost
-#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
+#for distributed mode, specify zookeeper quorum here
 
 atlas.graph.storage.hostname=${graph.storage.hostname}
 atlas.graph.storage.hbase.regions-per-server=1

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/addons/storm-bridge/src/test/resources/atlas-log4j.xml
----------------------------------------------------------------------
diff --git a/addons/storm-bridge/src/test/resources/atlas-log4j.xml b/addons/storm-bridge/src/test/resources/atlas-log4j.xml
index a0f9629..c183871 100755
--- a/addons/storm-bridge/src/test/resources/atlas-log4j.xml
+++ b/addons/storm-bridge/src/test/resources/atlas-log4j.xml
@@ -88,7 +88,7 @@
         <appender-ref ref="FILE"/>
     </logger>
 
-    <logger name="com.thinkaurelius.titan" additivity="false">
+    <logger name="org.janusgraph" additivity="false">
         <level value="warn"/>
         <appender-ref ref="FILE"/>
     </logger>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/authorization/src/test/resources/atlas-application.properties
----------------------------------------------------------------------
diff --git a/authorization/src/test/resources/atlas-application.properties b/authorization/src/test/resources/atlas-application.properties
index 2e02678..4d05ae7 100644
--- a/authorization/src/test/resources/atlas-application.properties
+++ b/authorization/src/test/resources/atlas-application.properties
@@ -57,7 +57,7 @@ atlas.graph.storage.directory=${sys:atlas.data}/berkley
 
 #hbase
 #For standalone mode , specify localhost
-#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
+#for distributed mode, specify zookeeper quorum here
 
 atlas.graph.storage.hostname=${graph.storage.hostname}
 atlas.graph.storage.hbase.regions-per-server=1

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/build-tools/src/main/resources/checkstyle-suppressions.xml
----------------------------------------------------------------------
diff --git a/build-tools/src/main/resources/checkstyle-suppressions.xml b/build-tools/src/main/resources/checkstyle-suppressions.xml
index bf16a9d..0025360 100644
--- a/build-tools/src/main/resources/checkstyle-suppressions.xml
+++ b/build-tools/src/main/resources/checkstyle-suppressions.xml
@@ -23,7 +23,4 @@
 
 <suppressions>
     <suppress checks="JavadocType" files="[/\\]src[/\\]test[/\\]java[/\\]"/>
-    
-    <!-- skip checks on customized titan 0.5.4 files -->
-    <suppress checks="[a-zA-Z0-9]*" files="[/\\]com[/\\]thinkaurelius[/\\]titan[/\\]"/>
 </suppressions>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/common/src/main/java/org/apache/atlas/repository/Constants.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/atlas/repository/Constants.java b/common/src/main/java/org/apache/atlas/repository/Constants.java
index 0cef5f2..c570be2 100644
--- a/common/src/main/java/org/apache/atlas/repository/Constants.java
+++ b/common/src/main/java/org/apache/atlas/repository/Constants.java
@@ -47,7 +47,6 @@ public final class Constants {
     /**
      * Full-text for the entity for enabling full-text search.
      */
-    //weird issue in TitanDB if __ added to this property key. Not adding it for now
     public static final String ENTITY_TEXT_PROPERTY_KEY = "entityText";
 
     /**

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/common/src/test/resources/atlas-log4j.xml
----------------------------------------------------------------------
diff --git a/common/src/test/resources/atlas-log4j.xml b/common/src/test/resources/atlas-log4j.xml
index 8a1de62..4f15518 100644
--- a/common/src/test/resources/atlas-log4j.xml
+++ b/common/src/test/resources/atlas-log4j.xml
@@ -48,9 +48,9 @@
     </logger>
     -->
 
-    <logger name="com.thinkaurelius.titan" additivity="false">
+    <logger name="org.janusgraph" additivity="false">
         <level value="warn"/>
-        <appender-ref ref="console"/>
+        <appender-ref ref="FILE"/>
     </logger>
 
     <logger name="org.springframework" additivity="false">

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/distro/pom.xml
----------------------------------------------------------------------
diff --git a/distro/pom.xml b/distro/pom.xml
index 9f6f2bd..6431fd8 100644
--- a/distro/pom.xml
+++ b/distro/pom.xml
@@ -35,7 +35,7 @@
         <graph.storage.backend>hbase</graph.storage.backend>
         <graph.storage.properties>#Hbase
 #For standalone mode , specify localhost
-#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
+#for distributed mode, specify zookeeper quorum here
 atlas.graph.storage.hostname=
 atlas.graph.storage.hbase.regions-per-server=1
 atlas.graph.storage.lock.wait-time=10000
@@ -173,7 +173,7 @@ atlas.graph.index.search.elasticsearch.create.sleep=2000
             <properties>
                 <graph.storage.properties>#Hbase
 #For standalone mode , specify localhost
-#for distributed mode, specify zookeeper quorum here - For more information refer http://s3.thinkaurelius.com/docs/titan/current/hbase.html#_remote_server_mode_2
+#for distributed mode, specify zookeeper quorum here
 atlas.graph.storage.hostname=localhost
 atlas.graph.storage.hbase.regions-per-server=1
 atlas.graph.storage.lock.wait-time=10000

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/distro/src/conf/atlas-env.sh
----------------------------------------------------------------------
diff --git a/distro/src/conf/atlas-env.sh b/distro/src/conf/atlas-env.sh
index 9213f48..053cbd5 100644
--- a/distro/src/conf/atlas-env.sh
+++ b/distro/src/conf/atlas-env.sh
@@ -49,7 +49,7 @@
 # Where pid files are stored. Defatult is logs directory under the base install location
 #export ATLAS_PID_DIR=
 
-# where the atlas titan db data is stored. Defatult is logs/data directory under the base install location
+# where the atlas janusgraph db data is stored. Defatult is logs/data directory under the base install location
 #export ATLAS_DATA_DIR=
 
 # Where do you want to expand the war file. By Default it is in /server/webapp dir under the base install dir.

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/distro/src/conf/atlas-log4j.xml
----------------------------------------------------------------------
diff --git a/distro/src/conf/atlas-log4j.xml b/distro/src/conf/atlas-log4j.xml
index a0f9629..c183871 100755
--- a/distro/src/conf/atlas-log4j.xml
+++ b/distro/src/conf/atlas-log4j.xml
@@ -88,7 +88,7 @@
         <appender-ref ref="FILE"/>
     </logger>
 
-    <logger name="com.thinkaurelius.titan" additivity="false">
+    <logger name="org.janusgraph" additivity="false">
         <level value="warn"/>
         <appender-ref ref="FILE"/>
     </logger>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/distro/src/conf/solr/schema.xml
----------------------------------------------------------------------
diff --git a/distro/src/conf/solr/schema.xml b/distro/src/conf/solr/schema.xml
index 1d445b1..bb90e63 100644
--- a/distro/src/conf/solr/schema.xml
+++ b/distro/src/conf/solr/schema.xml
@@ -519,7 +519,6 @@
    -->
     <fieldType name="currency" class="solr.CurrencyField" precisionStep="8" defaultCurrency="USD" currencyConfig="currency.xml" />
 
-    <!--Titan specific-->
     <fieldType name="uuid"
                class="solr.UUIDField"
                indexed="true" />

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/distro/src/conf/solr/solrconfig.xml
----------------------------------------------------------------------
diff --git a/distro/src/conf/solr/solrconfig.xml b/distro/src/conf/solr/solrconfig.xml
index 1d414f7..7664fd6 100644
--- a/distro/src/conf/solr/solrconfig.xml
+++ b/distro/src/conf/solr/solrconfig.xml
@@ -606,7 +606,6 @@
   </admin>
 
 
-    <!--Titan specific-->
     <updateRequestProcessorChain default="true">
         <processor class="solr.TimestampUpdateProcessorFactory">
             <str name="fieldName">timestamp</str>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/tinkerpop/query/TinkerpopGraphQuery.java
----------------------------------------------------------------------
diff --git a/graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/tinkerpop/query/TinkerpopGraphQuery.java b/graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/tinkerpop/query/TinkerpopGraphQuery.java
index d680654..5101039 100644
--- a/graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/tinkerpop/query/TinkerpopGraphQuery.java
+++ b/graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/tinkerpop/query/TinkerpopGraphQuery.java
@@ -38,8 +38,7 @@ import java.util.Set;
 
 /**
  *
- * Abstract implementation of AtlasGraphQuery that is used by Titan 0.5.4,
- * Titan 1.0.0 and JanusGraph
+ * Abstract implementation of AtlasGraphQuery that is used by JanusGraph
  * <p>
  * Represents a graph query as an OrConditions which consists of
  * 1 or more AndConditions.  The query is executed by converting

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/janus/readme.txt
----------------------------------------------------------------------
diff --git a/graphdb/janus/readme.txt b/graphdb/janus/readme.txt
index fb935be..a3aaab9 100644
--- a/graphdb/janus/readme.txt
+++ b/graphdb/janus/readme.txt
@@ -35,8 +35,7 @@ mvn install [-P dist] -DGRAPH-PROVIDER=janus
 Some tests in the repository and webapp projects are skipped when running with the janus provider, due to hard
 dependencies on Gremlin2. These components need to be updated. Please refer to "known issues" section below.
 
-This will build Atlas and run all of the tests against Janus.  Such a build MUST be used with JanusGraph and
-CANNOT be used with any other graph provider, e.g. Titan 0.5.4 or Titan 1.0.0.
+This will build Atlas and run all of the tests against Janus.
 
 2) Configure the Atlas runtime to use JanusGraph by setting the atlas.graphdb.backend property in
 ATLAS_HOME/conf/atlas-application.properties, as follows:

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java
----------------------------------------------------------------------
diff --git a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java
index 86cd299..3636ca6 100644
--- a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java
+++ b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java
@@ -50,7 +50,7 @@ import java.util.ArrayList;
 import java.util.Map;
 
 /**
- * Default implementation for Graph Provider that doles out Titan Graph.
+ * Default implementation for Graph Provider that doles out JanusGraph.
  */
 public class AtlasJanusGraphDatabase implements GraphDatabase<AtlasJanusVertex, AtlasJanusEdge> {
     private static final Logger LOG      = LoggerFactory.getLogger(AtlasJanusGraphDatabase.class);

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/pom.xml
----------------------------------------------------------------------
diff --git a/graphdb/pom.xml b/graphdb/pom.xml
index cef77c9..825dc20 100644
--- a/graphdb/pom.xml
+++ b/graphdb/pom.xml
@@ -36,7 +36,6 @@
         <module>api</module>
         <module>common</module>
         <module>graphdb-impls</module>
-        <module>titan0</module>
         <module>janus</module>
     </modules>
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/readme.txt
----------------------------------------------------------------------
diff --git a/graphdb/readme.txt b/graphdb/readme.txt
index 92edd00..960cc38 100644
--- a/graphdb/readme.txt
+++ b/graphdb/readme.txt
@@ -9,17 +9,12 @@ If GRAPH-PROVIDER is not set, the default graph backend is adopted. This is curr
 
 In order to build with a specific (non-default) graph backend set the GRAPH-PROVDER system variable.
 
-If GRAPH-PROVIDER is set to titan0, the build will contain Titan 0.5.4
 If GRAPH-PROVIDER is set to janus, the build will contain JanusGraph 0.2.0 (i.e. the default above)
 
 For example, to build Atlas with the janus graph-provider:
 mvn install [-P dist] -DGRAPH-PROVIDER=janus
 
-
-Titan 0.5.4 supports Gremlin2 only, whereas JanusGraph support Gremlin3 only (and NOT Gremlin2).
-Gremlin2 and Gremlin3 are not compatible. The gremlin used by Atlas is translated into either Gremlin2 or
-Gremlin3 depending on which graph backend is used in the build. This is implemented in GremlinExpressionFactory.
-
+JanusGraph support Gremlin3 only (and NOT Gremlin2).
 
 REQUIREMENTS
 ------------

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/pom.xml
----------------------------------------------------------------------
diff --git a/graphdb/titan0/pom.xml b/graphdb/titan0/pom.xml
deleted file mode 100644
index dc84058..0000000
--- a/graphdb/titan0/pom.xml
+++ /dev/null
@@ -1,317 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-~ 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.
--->
-
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xmlns="http://maven.apache.org/POM/4.0.0"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <artifactId>atlas-graphdb</artifactId>
-        <groupId>org.apache.atlas</groupId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>atlas-graphdb-titan0</artifactId>
-    <description>Apache Atlas Titan 0.5.4 Graph DB Impl</description>
-    <name>Apache Atlas Titan 0.5.4 Graph DB Impl</name>
-    <packaging>jar</packaging>
-
-    <properties>
-        <tinkerpop.version>2.6.0</tinkerpop.version>
-        <titan.version>0.5.4</titan.version>
-        <checkstyle.failOnViolation>false</checkstyle.failOnViolation>
-        <guava.version>14.0</guava.version>
-    </properties>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-graphdb-api</artifactId>
-            <version>${project.version}</version>
-            <scope>provided</scope>
-        </dependency>
-
-       <dependency>
-            <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-graphdb-common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>${guava.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-core</artifactId>
-            <version>${titan.version}</version>
-            <exclusions>
-                <!-- rexster does not work with servlet-api -->
-                <exclusion>
-                    <groupId>com.tinkerpop.rexster</groupId>
-                    <artifactId>rexster-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.tinkerpop.rexster</groupId>
-                    <artifactId>rexster-server</artifactId>
-                </exclusion>
-                <!-- asm 4.0 does not work with jersey asm 3.1 -->
-                <exclusion>
-                    <groupId>com.tinkerpop</groupId>
-                    <artifactId>frames</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.esotericsoftware.reflectasm</groupId>
-                    <artifactId>reflectasm</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.ow2.asm</groupId>
-                    <artifactId>asm</artifactId>
-                </exclusion>
-                <exclusion> <!-- GPL license imported from ganglia -->
-                    <groupId>org.acplt</groupId>
-                    <artifactId>oncrpc</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>com.tinkerpop.blueprints</groupId>
-            <artifactId>blueprints-core</artifactId>
-            <version>${tinkerpop.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.tinkerpop.gremlin</groupId>
-            <artifactId>gremlin-java</artifactId>
-            <version>${tinkerpop.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-hbase-client-shaded</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-es</artifactId>
-            <version>${titan.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-berkeleyje</artifactId>
-            <version>${titan.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-lucene</artifactId>
-            <version>${titan.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-hbase</artifactId>
-            <version>${titan.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.thinkaurelius.titan</groupId>
-            <artifactId>titan-solr</artifactId>
-            <version>${titan.version}</version>
-            <!-- this conflicts with the servlet api version that Atlas needs -->
-            <exclusions>
-                <exclusion>
-                    <groupId>javax.servlet</groupId>
-                    <artifactId>servlet-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.solr</groupId>
-                    <artifactId>solr-core</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.testng</groupId>
-            <artifactId>testng</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.atlas</groupId>
-            <artifactId>atlas-graphdb-common</artifactId>
-            <version>${project.version}</version>
-            <classifier>tests</classifier>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.solr</groupId>
-            <artifactId>solr-solrj</artifactId>
-            <version>${solr.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.solr</groupId>
-            <artifactId>solr-core</artifactId>
-            <version>${solr.version}</version>
-            <exclusions>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.eclipse.jetty</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.eclipse.jetty.orbit</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.restlet.jee</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.ow2.asm</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.apache.lucene</groupId>
-                </exclusion>
-                <exclusion>
-                    <artifactId>*</artifactId>
-                    <groupId>org.apache.hadoop</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <plugins>
-            <!--
-                 Create 'uber' jar that contains all of the dependencies (except those whose scope is provided)
-                 Only Titan 0.5.4 and its dependencies are included.  The other dependencies are bundled in the war file.
-            -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <version>2.4.3</version>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <shadedArtifactAttached>false</shadedArtifactAttached>
-                            <artifactSet>
-                                <excludes>
-                                    <!-- these are bundled with Atlas -->
-                                    <exclude>org.slf4j:*</exclude>
-                                    <exclude>com.fasterxml.jackson.core:*</exclude>
-                                    <exclude>com.fasterxml.jackson.dataformat:*</exclude>
-                                    <exclude>com.fasterxml.jackson.databind:*</exclude>
-                                    <exclude>com.fasterxml.jackson.datatype:*</exclude>
-                                </excludes>
-                            </artifactSet>
-                            <filters>
-                                <filter>
-                                    <artifact>com.thinkaurelius.titan:titan-core</artifact>
-                                    <!-- force use of our custom titan class implementations -->
-                                    <excludes>
-                                        <exclude>com/thinkaurelius/titan/diskstorage/locking/LocalLockMediator.class</exclude>
-                                        <exclude>com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.class</exclude>
-                                    </excludes>
-                                </filter>
-                                <filter>
-                                    <artifact>*:*</artifact>
-                                    <excludes>
-                                        <exclude>META-INF/*.SF</exclude>
-                                        <exclude>META-INF/*.DSA</exclude>
-                                        <exclude>META-INF/*.RSA</exclude>
-                                        <exclude>org/codehaus/jackson/**</exclude>
-                                        <exclude>com/fasterxml/jackson/**</exclude>
-                                    </excludes>
-                                </filter>
-                            </filters>
-                            <relocations>
-                                <!-- guava has incompatibilities across its versions. Titan requires different version of guava than the version that atlas needs.
-                                 So, shading the guava reference in titan -->
-                                <relocation>
-                                    <pattern>com.google</pattern>
-                                    <shadedPattern>atlas.shaded.titan.guava</shadedPattern>
-                                </relocation>
-                            </relocations>
-                            <transformers>
-                                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
-                            </transformers>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>2.4</version>
-                <configuration>
-                    <excludes>
-                        <exclude>**/log4j.xml</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>net.alchim31.maven</groupId>
-                <artifactId>scala-maven-plugin</artifactId>
-                <version>3.2.0</version>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>${surefire.version}</version>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
-            </plugin>
-
-        </plugins>
-    </build>
-
-</project>

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java
----------------------------------------------------------------------
diff --git a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java
deleted file mode 100644
index e255f1b..0000000
--- a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2012-2013 Aurelius LLC
- * Licensed 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 com.thinkaurelius.titan.diskstorage.hbase;
-
-import java.io.Closeable;
-import java.io.IOException;
-
-import org.apache.hadoop.hbase.ClusterStatus;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.TableNotFoundException;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
-
-/**
- * This interface hides ABI/API breaking changes that HBase has made to its Admin/HBaseAdmin over the course
- * of development from 0.94 to 1.0 and beyond.
- */
-public interface AdminMask extends Closeable
-{
-
-    void clearTable(String tableName, long timestamp) throws IOException;
-
-    HTableDescriptor getTableDescriptor(String tableName) throws TableNotFoundException, IOException;
-
-    boolean tableExists(String tableName) throws IOException;
-
-    void createTable(HTableDescriptor desc) throws IOException;
-
-    void createTable(HTableDescriptor desc, byte[] startKey, byte[] endKey, int numRegions) throws IOException;
-
-    /**
-     * Estimate the number of regionservers in the HBase cluster.
-     *
-     * This is usually implemented by calling
-     * {@link HBaseAdmin#getClusterStatus()} and then
-     * {@link ClusterStatus#getServers()} and finally {@code size()} on the
-     * returned server list.
-     *
-     * @return the number of servers in the cluster or -1 if it could not be determined
-     */
-    int getEstimatedRegionServerCount();
-
-    void disableTable(String tableName) throws IOException;
-
-    void enableTable(String tableName) throws IOException;
-
-    boolean isTableDisabled(String tableName) throws IOException;
-
-    void addColumn(String tableName, HColumnDescriptor columnDescriptor) throws IOException;
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java
----------------------------------------------------------------------
diff --git a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java
deleted file mode 100644
index feb578b..0000000
--- a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2012-2013 Aurelius LLC
- * Licensed 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 com.thinkaurelius.titan.diskstorage.hbase;
-
-import java.io.Closeable;
-import java.io.IOException;
-
-/**
- * This interface hides ABI/API breaking changes that HBase has made to its (H)Connection class over the course
- * of development from 0.94 to 1.0 and beyond.
- */
-public interface ConnectionMask extends Closeable
-{
-
-    TableMask getTable(String name) throws IOException;
-
-    AdminMask getAdmin() throws IOException;
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java
----------------------------------------------------------------------
diff --git a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java
deleted file mode 100644
index 0cd4795..0000000
--- a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright 2012-2013 Aurelius LLC
- * Licensed 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 com.thinkaurelius.titan.diskstorage.hbase;
-
-import java.io.IOException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.thinkaurelius.titan.util.system.IOUtils;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.TableNotFoundException;
-import org.apache.hadoop.hbase.client.Delete;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
-import org.apache.hadoop.hbase.client.HTable;
-import org.apache.hadoop.hbase.client.Result;
-import org.apache.hadoop.hbase.client.ResultScanner;
-import org.apache.hadoop.hbase.client.Scan;
-
-public class HBaseAdmin0_98 implements AdminMask
-{
-
-    private static final Logger log = LoggerFactory.getLogger(HBaseAdmin0_98.class);
-
-    private final HBaseAdmin adm;
-
-    public HBaseAdmin0_98(HBaseAdmin adm)
-    {
-        this.adm = adm;
-    }
-
-    @Override
-    public void clearTable(String tableName, long timestamp) throws IOException
-    {
-        if (!adm.tableExists(tableName)) {
-            log.debug("clearStorage() called before table {} was created, skipping.", tableName);
-            return;
-        }
-
-        // Unfortunately, linear scanning and deleting tables is faster in HBase < 1 when running integration tests than
-        // disabling and deleting tables.
-        HTable table = null;
-
-        try {
-            table = new HTable(adm.getConfiguration(), tableName);
-
-            Scan scan = new Scan();
-            scan.setBatch(100);
-            scan.setCacheBlocks(false);
-            scan.setCaching(2000);
-            scan.setTimeRange(0, Long.MAX_VALUE);
-            scan.setMaxVersions(1);
-
-            ResultScanner scanner = null;
-
-            try {
-                scanner = table.getScanner(scan);
-
-                for (Result res : scanner) {
-                    Delete d = new Delete(res.getRow());
-
-                    d.setTimestamp(timestamp);
-                    table.delete(d);
-                }
-            } finally {
-                IOUtils.closeQuietly(scanner);
-            }
-        } finally {
-            IOUtils.closeQuietly(table);
-        }
-    }
-
-    @Override
-    public HTableDescriptor getTableDescriptor(String tableName) throws TableNotFoundException, IOException
-    {
-        return adm.getTableDescriptor(tableName.getBytes());
-    }
-
-    @Override
-    public boolean tableExists(String tableName) throws IOException
-    {
-        return adm.tableExists(tableName);
-    }
-
-    @Override
-    public void createTable(HTableDescriptor desc) throws IOException
-    {
-        adm.createTable(desc);
-    }
-
-    @Override
-    public void createTable(HTableDescriptor desc, byte[] startKey, byte[] endKey, int numRegions) throws IOException
-    {
-        adm.createTable(desc, startKey, endKey, numRegions);
-    }
-
-    @Override
-    public int getEstimatedRegionServerCount()
-    {
-        int serverCount = -1;
-        try {
-            serverCount = adm.getClusterStatus().getServers().size();
-            log.debug("Read {} servers from HBase ClusterStatus", serverCount);
-        } catch (IOException e) {
-            log.debug("Unable to retrieve HBase cluster status", e);
-        }
-        return serverCount;
-    }
-
-    @Override
-    public void disableTable(String tableName) throws IOException
-    {
-        adm.disableTable(tableName);
-    }
-
-    @Override
-    public void enableTable(String tableName) throws IOException
-    {
-        adm.enableTable(tableName);
-    }
-
-    @Override
-    public boolean isTableDisabled(String tableName) throws IOException
-    {
-        return adm.isTableDisabled(tableName);
-    }
-
-    @Override
-    public void addColumn(String tableName, HColumnDescriptor columnDescriptor) throws IOException
-    {
-        adm.addColumn(tableName, columnDescriptor);
-    }
-
-    @Override
-    public void close() throws IOException
-    {
-        adm.close();
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java
----------------------------------------------------------------------
diff --git a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java
deleted file mode 100644
index 7e8f72d..0000000
--- a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright 2012-2013 Aurelius LLC
- * Licensed 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 com.thinkaurelius.titan.diskstorage.hbase;
-
-import java.io.IOException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.TableNotDisabledException;
-import org.apache.hadoop.hbase.TableNotFoundException;
-import org.apache.hadoop.hbase.client.Admin;
-import org.apache.hadoop.hbase.client.HBaseAdmin;
-
-public class HBaseAdmin1_0 implements AdminMask
-{
-
-    private static final Logger log = LoggerFactory.getLogger(HBaseAdmin1_0.class);
-
-    private final Admin adm;
-
-    public HBaseAdmin1_0(HBaseAdmin adm)
-    {
-        this.adm = adm;
-    }
-    @Override
-    public void clearTable(String tableString, long timestamp) throws IOException
-    {
-        TableName tableName = TableName.valueOf(tableString);
-
-        if (!adm.tableExists(tableName)) {
-            log.debug("Attempted to clear table {} before it exists (noop)", tableString);
-            return;
-        }
-
-        if (!adm.isTableDisabled(tableName))
-            adm.disableTable(tableName);
-
-        if (!adm.isTableDisabled(tableName))
-            throw new RuntimeException("Unable to disable table " + tableName);
-
-        // This API call appears to both truncate and reenable the table.
-        log.info("Truncating table {}", tableName);
-        adm.truncateTable(tableName, true /* preserve splits */);
-
-        try {
-            adm.enableTable(tableName);
-        } catch (TableNotDisabledException e) {
-            // This triggers seemingly every time in testing with 1.0.2.
-            log.debug("Table automatically reenabled by truncation: {}", tableName, e);
-        }
-    }
-
-    @Override
-    public HTableDescriptor getTableDescriptor(String tableString) throws TableNotFoundException, IOException
-    {
-        return adm.getTableDescriptor(TableName.valueOf(tableString));
-    }
-
-    @Override
-    public boolean tableExists(String tableString) throws IOException
-    {
-        return adm.tableExists(TableName.valueOf(tableString));
-    }
-
-    @Override
-    public void createTable(HTableDescriptor desc) throws IOException
-    {
-        adm.createTable(desc);
-    }
-
-    @Override
-    public void createTable(HTableDescriptor desc, byte[] startKey, byte[] endKey, int numRegions) throws IOException
-    {
-        adm.createTable(desc, startKey, endKey, numRegions);
-    }
-
-    @Override
-    public int getEstimatedRegionServerCount()
-    {
-        int serverCount = -1;
-        try {
-            serverCount = adm.getClusterStatus().getServers().size();
-            log.debug("Read {} servers from HBase ClusterStatus", serverCount);
-        } catch (IOException e) {
-            log.debug("Unable to retrieve HBase cluster status", e);
-        }
-        return serverCount;
-    }
-
-    @Override
-    public void disableTable(String tableString) throws IOException
-    {
-        adm.disableTable(TableName.valueOf(tableString));
-    }
-
-    @Override
-    public void enableTable(String tableString) throws IOException
-    {
-        adm.enableTable(TableName.valueOf(tableString));
-    }
-
-    @Override
-    public boolean isTableDisabled(String tableString) throws IOException
-    {
-        return adm.isTableDisabled(TableName.valueOf(tableString));
-    }
-
-    @Override
-    public void addColumn(String tableString, HColumnDescriptor columnDescriptor) throws IOException
-    {
-        adm.addColumn(TableName.valueOf(tableString), columnDescriptor);
-    }
-
-    @Override
-    public void close() throws IOException
-    {
-        adm.close();
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java
----------------------------------------------------------------------
diff --git a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java
deleted file mode 100644
index c1af7b6..0000000
--- a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2012-2013 Aurelius LLC
- * Licensed 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 com.thinkaurelius.titan.diskstorage.hbase;
-
-import java.io.IOException;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.client.Delete;
-
-public interface HBaseCompat {
-
-    /**
-     * Configure the compression scheme {@code algo} on a column family
-     * descriptor {@code cd}. The {@code algo} parameter is a string value
-     * corresponding to one of the values of HBase's Compression enum. The
-     * Compression enum has moved between packages as HBase has evolved, which
-     * is why this method has a String argument in the signature instead of the
-     * enum itself.
-     *
-     * @param cd
-     *            column family to configure
-     * @param algo
-     *            compression type to use
-     */
-    void setCompression(HColumnDescriptor cd, String algo);
-
-    /**
-     * Create and return a HTableDescriptor instance with the given name. The
-     * constructors on this method have remained stable over HBase development
-     * so far, but the old HTableDescriptor(String) constructor & byte[] friends
-     * are now marked deprecated and may eventually be removed in favor of the
-     * HTableDescriptor(TableName) constructor. That constructor (and the
-     * TableName type) only exists in newer HBase versions. Hence this method.
-     *
-     * @param tableName
-     *            HBase table name
-     * @return a new table descriptor instance
-     */
-    HTableDescriptor newTableDescriptor(String tableName);
-
-    ConnectionMask createConnection(Configuration conf) throws IOException;
-
-    void addColumnFamilyToTableDescriptor(HTableDescriptor tdesc, HColumnDescriptor cdesc);
-
-    void setTimestamp(Delete d, long timestamp);
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java
----------------------------------------------------------------------
diff --git a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java
deleted file mode 100644
index 2c0f3b4..0000000
--- a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012-2013 Aurelius LLC
- * Licensed 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 com.thinkaurelius.titan.diskstorage.hbase;
-
-import java.io.IOException;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.client.Delete;
-import org.apache.hadoop.hbase.client.HConnectionManager;
-import org.apache.hadoop.hbase.io.compress.Compression;
-
-public class HBaseCompat0_98 implements HBaseCompat {
-
-    @Override
-    public void setCompression(HColumnDescriptor cd, String algo) {
-        cd.setCompressionType(Compression.Algorithm.valueOf(algo));
-    }
-
-    @Override
-    public HTableDescriptor newTableDescriptor(String tableName) {
-        TableName tn = TableName.valueOf(tableName);
-        return new HTableDescriptor(tn);
-    }
-
-    @Override
-    public ConnectionMask createConnection(Configuration conf) throws IOException
-    {
-        return new HConnection0_98(HConnectionManager.createConnection(conf));
-    }
-
-    @Override
-    public void addColumnFamilyToTableDescriptor(HTableDescriptor tdesc, HColumnDescriptor cdesc)
-    {
-        tdesc.addFamily(cdesc);
-    }
-
-    @Override
-    public void setTimestamp(Delete d, long timestamp)
-    {
-        d.setTimestamp(timestamp);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java
----------------------------------------------------------------------
diff --git a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java
deleted file mode 100644
index bb3fb3b..0000000
--- a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012-2013 Aurelius LLC
- * Licensed 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 com.thinkaurelius.titan.diskstorage.hbase;
-
-import java.io.IOException;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.client.ConnectionFactory;
-import org.apache.hadoop.hbase.client.Delete;
-import org.apache.hadoop.hbase.io.compress.Compression;
-
-public class HBaseCompat1_0 implements HBaseCompat {
-
-    @Override
-    public void setCompression(HColumnDescriptor cd, String algo) {
-        cd.setCompressionType(Compression.Algorithm.valueOf(algo));
-    }
-
-    @Override
-    public HTableDescriptor newTableDescriptor(String tableName) {
-        TableName tn = TableName.valueOf(tableName);
-        return new HTableDescriptor(tn);
-    }
-
-    @Override
-    public ConnectionMask createConnection(Configuration conf) throws IOException
-    {
-        return new HConnection1_0(ConnectionFactory.createConnection(conf));
-    }
-
-    @Override
-    public void addColumnFamilyToTableDescriptor(HTableDescriptor tdesc, HColumnDescriptor cdesc)
-    {
-        tdesc.addFamily(cdesc);
-    }
-
-    @Override
-    public void setTimestamp(Delete d, long timestamp)
-    {
-        d.setTimestamp(timestamp);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java
----------------------------------------------------------------------
diff --git a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java
deleted file mode 100644
index e5c3d31..0000000
--- a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012-2013 Aurelius LLC
- * Licensed 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 com.thinkaurelius.titan.diskstorage.hbase;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HColumnDescriptor;
-import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.TableName;
-import org.apache.hadoop.hbase.client.ConnectionFactory;
-import org.apache.hadoop.hbase.client.Delete;
-import org.apache.hadoop.hbase.io.compress.Compression;
-
-import java.io.IOException;
-
-public class HBaseCompat1_1 implements HBaseCompat {
-
-    @Override
-    public void setCompression(HColumnDescriptor cd, String algo) {
-        cd.setCompressionType(Compression.Algorithm.valueOf(algo));
-    }
-
-    @Override
-    public HTableDescriptor newTableDescriptor(String tableName) {
-        TableName tn = TableName.valueOf(tableName);
-        return new HTableDescriptor(tn);
-    }
-
-    @Override
-    public ConnectionMask createConnection(Configuration conf) throws IOException
-    {
-        return new HConnection1_0(ConnectionFactory.createConnection(conf));
-    }
-
-    @Override
-    public void addColumnFamilyToTableDescriptor(HTableDescriptor tdesc, HColumnDescriptor cdesc)
-    {
-        tdesc.addFamily(cdesc);
-    }
-
-    @Override
-    public void setTimestamp(Delete d, long timestamp)
-    {
-        d.setTimestamp(timestamp);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java
----------------------------------------------------------------------
diff --git a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java
deleted file mode 100644
index 4d61b60..0000000
--- a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2012-2013 Aurelius LLC
- * Licensed 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 com.thinkaurelius.titan.diskstorage.hbase;
-
-import java.util.Arrays;
-
-import org.apache.hadoop.hbase.util.VersionInfo;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class HBaseCompatLoader {
-
-    private static final Logger log = LoggerFactory.getLogger(HBaseCompatLoader.class);
-
-    private static final String DEFAULT_HBASE_COMPAT_VERSION = "1.1";
-
-    private static final String DEFAULT_HBASE_CLASS_NAME = "com.thinkaurelius.titan.diskstorage.hbase.HBaseCompat1_1";
-
-    private static HBaseCompat cachedCompat;
-
-    public synchronized static HBaseCompat getCompat(String classOverride) {
-
-        if (null != cachedCompat) {
-            log.debug("Returning cached HBase compatibility layer: {}", cachedCompat);
-            return cachedCompat;
-        }
-
-        HBaseCompat compat;
-        String className = null;
-        String classNameSource = null;
-
-        if (null != classOverride) {
-            className = classOverride;
-            classNameSource = "from explicit configuration";
-        } else {
-            String hbaseVersion = VersionInfo.getVersion();
-            for (String supportedVersion : Arrays.asList("0.94", "0.96", "0.98", "1.0", "1.1")) {
-                if (hbaseVersion.startsWith(supportedVersion + ".")) {
-                    className = "com.thinkaurelius.titan.diskstorage.hbase.HBaseCompat" + supportedVersion.replaceAll("\\.", "_");
-                    classNameSource = "supporting runtime HBase version " + hbaseVersion;
-                    break;
-                }
-            }
-            if (null == className) {
-                log.info("The HBase version {} is not explicitly supported by Titan.  " +
-                         "Loading Titan's compatibility layer for its most recent supported HBase version ({})",
-                        hbaseVersion, DEFAULT_HBASE_COMPAT_VERSION);
-                className = DEFAULT_HBASE_CLASS_NAME;
-                classNameSource = " by default";
-            }
-        }
-
-        final String errTemplate = " when instantiating HBase compatibility class " + className;
-
-        try {
-            compat = (HBaseCompat)Class.forName(className).newInstance();
-            log.info("Instantiated HBase compatibility layer {}: {}", classNameSource, compat.getClass().getCanonicalName());
-        } catch (IllegalAccessException | ClassNotFoundException | InstantiationException e) {
-            throw new RuntimeException(e.getClass().getSimpleName() + errTemplate, e);
-        }
-
-        return cachedCompat = compat;
-    }
-}

http://git-wip-us.apache.org/repos/asf/atlas/blob/effb7537/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java
----------------------------------------------------------------------
diff --git a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java
deleted file mode 100644
index d454f37..0000000
--- a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * Copyright 2012-2013 Aurelius LLC
- * Licensed 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 com.thinkaurelius.titan.diskstorage.hbase;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Iterators;
-import com.thinkaurelius.titan.core.attribute.Duration;
-import com.thinkaurelius.titan.diskstorage.*;
-import com.thinkaurelius.titan.diskstorage.configuration.Configuration;
-import com.thinkaurelius.titan.diskstorage.keycolumnvalue.*;
-import com.thinkaurelius.titan.diskstorage.locking.LocalLockMediator;
-import com.thinkaurelius.titan.diskstorage.locking.PermanentLockingException;
-import com.thinkaurelius.titan.diskstorage.util.KeyColumn;
-import com.thinkaurelius.titan.diskstorage.util.RecordIterator;
-import com.thinkaurelius.titan.diskstorage.util.StaticArrayBuffer;
-import com.thinkaurelius.titan.diskstorage.util.StaticArrayEntry;
-import com.thinkaurelius.titan.diskstorage.util.StaticArrayEntryList;
-import com.thinkaurelius.titan.diskstorage.util.time.Timepoint;
-import com.thinkaurelius.titan.diskstorage.util.time.Timestamps;
-import com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration;
-import com.thinkaurelius.titan.util.system.IOUtils;
-
-import org.apache.hadoop.hbase.client.*;
-import org.apache.hadoop.hbase.filter.ColumnPaginationFilter;
-import org.apache.hadoop.hbase.filter.ColumnRangeFilter;
-import org.apache.hadoop.hbase.filter.Filter;
-import org.apache.hadoop.hbase.filter.FilterList;
-import org.apache.hadoop.hbase.util.Bytes;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.annotation.Nullable;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-
-/**
- * Here are some areas that might need work:
- * <p/>
- * - batching? (consider HTable#batch, HTable#setAutoFlush(false)
- * - tuning HTable#setWriteBufferSize (?)
- * - writing a server-side filter to replace ColumnCountGetFilter, which drops
- * all columns on the row where it reaches its limit.  This requires getSlice,
- * currently, to impose its limit on the client side.  That obviously won't
- * scale.
- * - RowMutations for combining Puts+Deletes (need a newer HBase than 0.92 for this)
- * - (maybe) fiddle with HTable#setRegionCachePrefetch and/or #prewarmRegionCache
- * <p/>
- * There may be other problem areas.  These are just the ones of which I'm aware.
- */
-public class HBaseKeyColumnValueStore implements KeyColumnValueStore {
-
-    private static final Logger logger = LoggerFactory.getLogger(HBaseKeyColumnValueStore.class);
-
-    private final String tableName;
-    private final HBaseStoreManager storeManager;
-
-    // When using shortened CF names, columnFamily is the shortname and storeName is the longname
-    // When not using shortened CF names, they are the same
-    //private final String columnFamily;
-    private final String storeName;
-    // This is columnFamily.getBytes()
-    private final byte[] columnFamilyBytes;
-    private final HBaseGetter entryGetter;
-
-    private final ConnectionMask cnx;
-
-    private LocalLockMediator<StoreTransaction> localLockMediator;
-
-    private final Duration lockExpiryTimeMs;
-    private final Duration lockMaxWaitTimeMs;
-    private final Integer lockMaxRetries;
-
-    HBaseKeyColumnValueStore(HBaseStoreManager storeManager, ConnectionMask cnx, String tableName, String columnFamily, String storeName, LocalLockMediator<StoreTransaction> llm) {
-        this.storeManager = storeManager;
-        this.cnx = cnx;
-        this.tableName = tableName;
-        //this.columnFamily = columnFamily;
-        this.storeName = storeName;
-        this.columnFamilyBytes = columnFamily.getBytes();
-        this.entryGetter = new HBaseGetter(storeManager.getMetaDataSchema(storeName));
-        this.localLockMediator = llm;
-        Configuration storageConfig = storeManager.getStorageConfig();
-        this.lockExpiryTimeMs = storageConfig.get(GraphDatabaseConfiguration.LOCK_EXPIRE);
-        this.lockMaxWaitTimeMs = storageConfig.get(GraphDatabaseConfiguration.LOCK_WAIT);
-        this.lockMaxRetries = storageConfig.get(GraphDatabaseConfiguration.LOCK_RETRY);
-    }
-
-    @Override
-    public void close() throws BackendException {
-    }
-
-    @Override
-    public EntryList getSlice(KeySliceQuery query, StoreTransaction txh) throws BackendException {
-        Map<StaticBuffer, EntryList> result = getHelper(Arrays.asList(query.getKey()), getFilter(query));
-        return Iterables.getOnlyElement(result.values(), EntryList.EMPTY_LIST);
-    }
-
-    @Override
-    public Map<StaticBuffer,EntryList> getSlice(List<StaticBuffer> keys, SliceQuery query, StoreTransaction txh) throws BackendException {
-        return getHelper(keys, getFilter(query));
-    }
-
-    @Override
-    public void mutate(StaticBuffer key, List<Entry> additions, List<StaticBuffer> deletions, StoreTransaction txh) throws BackendException {
-        Map<StaticBuffer, KCVMutation> mutations = ImmutableMap.of(key, new KCVMutation(additions, deletions));
-        mutateMany(mutations, txh);
-    }
-
-    @Override
-    public void acquireLock(StaticBuffer key,
-                            StaticBuffer column,
-                            StaticBuffer expectedValue,
-                            StoreTransaction txh) throws BackendException {
-
-        KeyColumn lockID = new KeyColumn(key, column);
-        logger.debug("Attempting to acquireLock on {} ", lockID);
-        int trialCount = 0;
-        boolean locked;
-        while (trialCount < lockMaxRetries) {
-            final Timepoint lockStartTime = Timestamps.MILLI.getTime(System.currentTimeMillis(), TimeUnit.MILLISECONDS);
-            locked = localLockMediator.lock(lockID, txh, lockStartTime.add(lockExpiryTimeMs));
-            trialCount++;
-            if (!locked) {
-                handleLockFailure(txh, lockID, trialCount);
-            } else {
-                logger.debug("Acquired lock on {}, {}", lockID, txh);
-                break;
-            }
-        }
-        ((HBaseTransaction) txh).updateLocks(lockID, expectedValue);
-    }
-
-    void handleLockFailure(StoreTransaction txh, KeyColumn lockID, int trialCount) throws PermanentLockingException {
-        if (trialCount < lockMaxRetries) {
-            try {
-                Thread.sleep(lockMaxWaitTimeMs.getLength(TimeUnit.MILLISECONDS));
-            } catch (InterruptedException e) {
-                throw new PermanentLockingException(
-                        "Interrupted while waiting for acquiring lock for transaction "
-                        + txh + " lockID " + lockID + " on retry " + trialCount, e);
-            }
-        } else {
-            throw new PermanentLockingException("Could not lock the keyColumn " +
-                    lockID + " on CF {} " + Bytes.toString(columnFamilyBytes));
-        }
-    }
-
-    @Override
-    public KeyIterator getKeys(KeyRangeQuery query, StoreTransaction txh) throws BackendException {
-        return executeKeySliceQuery(query.getKeyStart().as(StaticBuffer.ARRAY_FACTORY),
-                query.getKeyEnd().as(StaticBuffer.ARRAY_FACTORY),
-                new FilterList(FilterList.Operator.MUST_PASS_ALL),
-                query);
-    }
-
-    @Override
-    public String getName() {
-        return storeName;
-    }
-
-    @Override
-    public KeyIterator getKeys(SliceQuery query, StoreTransaction txh) throws BackendException {
-        return executeKeySliceQuery(new FilterList(FilterList.Operator.MUST_PASS_ALL), query);
-    }
-
-    public static Filter getFilter(SliceQuery query) {
-        byte[] colStartBytes = query.getSliceEnd().length() > 0 ? query.getSliceStart().as(StaticBuffer.ARRAY_FACTORY) : null;
-        byte[] colEndBytes = query.getSliceEnd().length() > 0 ? query.getSliceEnd().as(StaticBuffer.ARRAY_FACTORY) : null;
-
-        Filter filter = new ColumnRangeFilter(colStartBytes, true, colEndBytes, false);
-
-        if (query.hasLimit()) {
-            filter = new FilterList(FilterList.Operator.MUST_PASS_ALL,
-                    filter,
-                    new ColumnPaginationFilter(query.getLimit(), 0));
-        }
-
-        logger.debug("Generated HBase Filter {}", filter);
-
-        return filter;
-    }
-
-    private Map<StaticBuffer,EntryList> getHelper(List<StaticBuffer> keys, Filter getFilter) throws BackendException {
-        List<Get> requests = new ArrayList<>(keys.size());
-        {
-            for (StaticBuffer key : keys) {
-                Get g = new Get(key.as(StaticBuffer.ARRAY_FACTORY)).addFamily(columnFamilyBytes).setFilter(getFilter);
-                try {
-                    g.setTimeRange(0, Long.MAX_VALUE);
-                } catch (IOException e) {
-                    throw new PermanentBackendException(e);
-                }
-                requests.add(g);
-            }
-        }
-
-        Map<StaticBuffer,EntryList> resultMap = new HashMap<>(keys.size());
-
-        try {
-            TableMask table = null;
-            Result[] results = null;
-
-            try {
-                table = cnx.getTable(tableName);
-                logger.debug("Get requests {} {} ", Bytes.toString(columnFamilyBytes), requests.size());
-                results = table.get(requests);
-                logger.debug("Get requests finished {} {} ", Bytes.toString(columnFamilyBytes), requests.size());
-            } finally {
-                IOUtils.closeQuietly(table);
-            }
-
-            if (results == null)
-                return KCVSUtil.emptyResults(keys);
-
-            assert results.length==keys.size();
-
-            for (int i = 0; i < results.length; i++) {
-                Result result = results[i];
-                NavigableMap<byte[], NavigableMap<byte[], NavigableMap<Long, byte[]>>> f = result.getMap();
-
-                if (f == null) { // no result for this key
-                    resultMap.put(keys.get(i), EntryList.EMPTY_LIST);
-                    continue;
-                }
-
-                // actual key with <timestamp, value>
-                NavigableMap<byte[], NavigableMap<Long, byte[]>> r = f.get(columnFamilyBytes);
-                resultMap.put(keys.get(i), (r == null)
-                                            ? EntryList.EMPTY_LIST
-                                            : StaticArrayEntryList.ofBytes(r.entrySet(), entryGetter));
-            }
-
-            return resultMap;
-        } catch (IOException e) {
-            throw new TemporaryBackendException(e);
-        }
-    }
-
-    private void mutateMany(Map<StaticBuffer, KCVMutation> mutations, StoreTransaction txh) throws BackendException {
-        storeManager.mutateMany(ImmutableMap.of(storeName, mutations), txh);
-    }
-
-    private KeyIterator executeKeySliceQuery(FilterList filters, @Nullable SliceQuery columnSlice) throws BackendException {
-        return executeKeySliceQuery(null, null, filters, columnSlice);
-    }
-
-    private KeyIterator executeKeySliceQuery(@Nullable byte[] startKey,
-                                            @Nullable byte[] endKey,
-                                            FilterList filters,
-                                            @Nullable SliceQuery columnSlice) throws BackendException {
-        Scan scan = new Scan().addFamily(columnFamilyBytes);
-
-        try {
-            scan.setTimeRange(0, Long.MAX_VALUE);
-        } catch (IOException e) {
-            throw new PermanentBackendException(e);
-        }
-
-        if (startKey != null)
-            scan.setStartRow(startKey);
-
-        if (endKey != null)
-            scan.setStopRow(endKey);
-
-        if (columnSlice != null) {
-            filters.addFilter(getFilter(columnSlice));
-        }
-
-        TableMask table = null;
-
-        logger.debug("Scan for row keys {} {} ", Bytes.toString(startKey), Bytes.toString(endKey));
-        try {
-            table = cnx.getTable(tableName);
-            return new RowIterator(table, table.getScanner(scan.setFilter(filters)), columnFamilyBytes);
-        } catch (IOException e) {
-            IOUtils.closeQuietly(table);
-            throw new PermanentBackendException(e);
-        }
-    }
-
-    private class RowIterator implements KeyIterator {
-        private final Closeable table;
-        private final Iterator<Result> rows;
-        private final byte[] columnFamilyBytes;
-
-        private Result currentRow;
-        private boolean isClosed;
-
-        public RowIterator(Closeable table, ResultScanner rows, byte[] columnFamilyBytes) {
-            this.table = table;
-            this.columnFamilyBytes = Arrays.copyOf(columnFamilyBytes, columnFamilyBytes.length);
-            this.rows = Iterators.filter(rows.iterator(), new Predicate<Result>() {
-                @Override
-                public boolean apply(@Nullable Result result) {
-                    if (result == null)
-                        return false;
-
-                    try {
-                        StaticBuffer id = StaticArrayBuffer.of(result.getRow());
-                        id.getLong(0);
-                    } catch (NumberFormatException e) {
-                        return false;
-                    }
-
-                    return true;
-                }
-            });
-        }
-
-        @Override
-        public RecordIterator<Entry> getEntries() {
-            ensureOpen();
-
-            return new RecordIterator<Entry>() {
-                private final NavigableMap<byte[], NavigableMap<byte[], NavigableMap<Long, byte[]>>> currentMap = currentRow.getMap();
-                private final Iterator<Map.Entry<byte[], NavigableMap<Long, byte[]>>> kv = currentMap == null ? null : currentMap.get(columnFamilyBytes).entrySet().iterator();
-
-                @Override
-                public boolean hasNext() {
-                    ensureOpen();
-                    return kv != null && kv.hasNext();
-                }
-
-                @Override
-                public Entry next() {
-                    ensureOpen();
-                    return kv == null ? null : StaticArrayEntry.ofBytes(kv.next(), entryGetter);
-                }
-
-                @Override
-                public void close() {
-                    isClosed = true;
-                }
-
-                @Override
-                public void remove() {
-                    throw new UnsupportedOperationException();
-                }
-            };
-        }
-
-        @Override
-        public boolean hasNext() {
-            ensureOpen();
-            return rows.hasNext();
-        }
-
-        @Override
-        public StaticBuffer next() {
-            ensureOpen();
-
-            currentRow = rows.next();
-            return StaticArrayBuffer.of(currentRow.getRow());
-        }
-
-        @Override
-        public void close() {
-            IOUtils.closeQuietly(table);
-            isClosed = true;
-            logger.debug("RowIterator closed table {}", table);
-        }
-
-        @Override
-        public void remove() {
-            throw new UnsupportedOperationException();
-        }
-
-        private void ensureOpen() {
-            if (isClosed)
-                throw new IllegalStateException("Iterator has been closed.");
-        }
-    }
-
-    private static class HBaseGetter implements StaticArrayEntry.GetColVal<Map.Entry<byte[], NavigableMap<Long, byte[]>>, byte[]> {
-
-        private final EntryMetaData[] schema;
-
-        private HBaseGetter(EntryMetaData[] schema) {
-            this.schema = schema;
-        }
-
-        @Override
-        public byte[] getColumn(Map.Entry<byte[], NavigableMap<Long, byte[]>> element) {
-            return element.getKey();
-        }
-
-        @Override
-        public byte[] getValue(Map.Entry<byte[], NavigableMap<Long, byte[]>> element) {
-            return element.getValue().lastEntry().getValue();
-        }
-
-        @Override
-        public EntryMetaData[] getMetaSchema(Map.Entry<byte[], NavigableMap<Long, byte[]>> element) {
-            return schema;
-        }
-
-        @Override
-        public Object getMetaData(Map.Entry<byte[], NavigableMap<Long, byte[]>> element, EntryMetaData meta) {
-            switch(meta) {
-                case TIMESTAMP:
-                    return element.getValue().lastEntry().getKey();
-                default:
-                    throw new UnsupportedOperationException("Unsupported meta data: " + meta);
-            }
-        }
-    }
-}