You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by Jeff Hagelberg <jn...@us.ibm.com> on 2016/06/06 19:20:08 UTC

Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

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

(Updated June 6, 2016, 7:19 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

Rebase, apply latest changes to graph database abstraction layer.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now a required Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph)
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new required configuration property
   - search indexer enhanced to wait for all indices to be enabled
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
   - RepositoryMetaModule - GraphBackedSearchIndexer changed to an eager singleton to force index creation to happen before we execute any gremlin queries (which happens during the type system restoration triggered by the DefaultMetadataService constructor)
   - atlas_config.py - minor change to allow Atlas to use a non-default JVM.  It now supports having the java home in ATLAS_JAVA_HOME.  If that is not set, we fall back to the previous behavior looking for JAVA_HOME and then checking the path.
   
Note - the diff here is cumulative and includes the changes from ATLAS-693.  I could not figure out how to remove those.

Last rebase: 5/27/2016


Diffs (updated)
-----

  addons/falcon-bridge/pom.xml 14c60901a6f194497ca0fb7929a032d2261f85fa 
  addons/hdfs-model/pom.xml f4033bce0fe3ea5a33cfd32ebccd47c01207dc35 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 47e72e814a421f03b00a9b7c6a13163e1b67ca14 
  addons/sqoop-bridge/pom.xml 343bb4eeae93031ab24cd48ed7b535769150d6c7 
  addons/storm-bridge/pom.xml b1a7a9b1a88442d9e65db4a01b8388c8d3522bfe 
  authorization/pom.xml 74c433bf740a346d1d907a868605e9ab457151bb 
  catalog/pom.xml 8a49d3d673a5936613d45e53479aa99a5a14517d 
  catalog/src/main/java/org/apache/atlas/catalog/DefaultTypeSystem.java a28a32b692e61377479cdd432f39ba3c60bd5238 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java ba8e0e712769afad72f7f8254ec626a1d17136e8 
  catalog/src/test/java/org/apache/atlas/catalog/query/AtlasEntityQueryTest.java 149134c8a79c802fe625d64c5e04af0d88174cfa 
  distro/src/bin/atlas_config.py fab4046345e05e0b7749ca75834c8bdcb0d01752 
  distro/src/conf/atlas-application.properties 1cdd424d8e126a6bdbf99db8bf4e5d4329e806bb 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java 71b577b5c2e8aee8fec816b9224672ebc2cad5b3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdgeDirection.java e7da1c9a5075004973ba68b8a36a2c95756e0e62 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 3c41693e531eb523f04a5c5781f1f123ab38ef07 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java f312117af9cb6ae8de21d565bfcf3b10d9bdfcc6 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java 2776b2242c4469dcae344616ccfe100633a79432 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java f0dca9a28eebd8996d55d71dcc3254cce9cd4098 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 7ee6b2831a7610e7d5b1d36ae69282a9315dc06b 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasSchemaViolationException.java fda83b807f3640c04a660001941376f41be6d9be 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java e027b6962cf27a8c2dfbbf6fcc9683fa19e00ae5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java fd20a6524c4795b4212599c2f4ced69c2bbf14c0 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java a608eb27921d4be44e639f773ace818115f39ff2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java e817cba200c6d3c4c593b242cb2317e141bab570 
  graphdb/pom.xml 666fe5a01e55d7b761d391e3ef6172f769488254 
  graphdb/titan0/pom.xml PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Edge.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphIndex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0VertexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/EdgeToAtlasEdgeFunction.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/VertexToAtlasVertexFunction.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java PRE-CREATION 
  graphdb/titan0/src/test/resources/atlas-application.properties PRE-CREATION 
  pom.xml eac95c8526011a3a86de8dd154545abec0f7bcf5 
  repository/pom.xml 533e48b8dbf8f1d80903b804ddc7da9818fe6702 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java b9689f4eb408819e91e8184d40534e983bf5d048 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java 15201dd45913539b9b3bd430b46ce6cf30c327ac 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java 39dde2af0aa86d7c9a3dc5f006c8e1660cd29d5c 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java 90718edfd261c9f30ecc6b8f2424c232fbc9a66b 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java f97b83d1b302dedc12c566a8bb4729d4cd68de75 
  repository/src/main/java/org/apache/atlas/repository/Constants.java 893f1b64fa5d38c8025e6faf86335864f77d1439 
  repository/src/main/java/org/apache/atlas/repository/MetadataRepository.java 43e9f85163e8bb453601ca502d9e7a32c757b037 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasEdgeLabel.java d905c012a58ae4f53012f217253bf2495550da33 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 91f9bd008a6939dfe78656f5c1845637a30ee9eb 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java 37cacb05e65d6b1f537bd208208c8c4b9b501645 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 0d82d900bd750b1ca91c24623384fb2547790efe 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java c385df35c0ed37490033601487bf59eaf7dc677f 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 4f6d0118072380342f5ea302d0aaf7902784849a 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java e240fb68ed9547ef6ef4cb773a12b2594dcffa09 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 2cc1a50e2ea139c3a462c918b94945fff602cf17 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 4c1f5591f4adead41c3336e64b0bc956836f7edb 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java 5ed9e02eb85ec25b63540cab40d148914d410786 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java c1af0f691e9d26a3102fece20acc904bb85702d6 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/Expressions.scala 240575087468632c52512aea94759f8ace3943a0 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 34d101a2704e28a46426fdf6b67e7c36fde0507a 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 7de03c32edf16c1676db94179266e02928e01f35 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 73981c04d410a7292de357d9f63b6f3b3d241ffa 
  repository/src/main/scala/org/apache/atlas/query/QueryParser.scala 60b57d9a4d0181cd1e3c45a4e6a928d15ed499db 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/main/scala/org/apache/atlas/query/TypeUtils.scala 5a64c53bdb94174bf5699d9e034960f42450f696 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java d1f9430124ab4071971950bf4acd2f09dd000da0 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java 345e874942cf047ae8b6467f2981c7cf2317707c 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 5e7de88559dbbf2460c819ba7470a2cc287ca8dc 
  repository/src/test/java/org/apache/atlas/repository/audit/AuditRepositoryTestBase.java f6994048b7f92ba086a1b0949030897d1cacff41 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 677eb392c4aa7674e27c48f86a44e953c80144c7 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 449e066a167ba4546b118a77c8e3de5fd99f077b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 2d1c33a9bef5dc9179225fa7ce7228eebc5fdf2b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java cc6026461bcd38b83dde0bcec2e835f5824e894f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java 90bb635126a02cd38c045bd5332499c4481d3751 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java 94dd29862cd37fd784a699fb45640e36992cff88 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3d9d45a1f6695a0ee1af8c42fb24dcfa41dfba79 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 2f02ae28b2947ce7f7955c00bf9ca88ab3ca607a 
  repository/src/test/java/org/apache/atlas/repository/graph/TitanGraphProviderTest.java 6fc700823800eaa943a34afecb2c2e6fba50637a 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 961442bbcaff86b472a876e6c348aa9e65c1efca 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e6dd23081715458471d50f44f45ccd8374cbffda 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala b23c0f60ace59fa15886c94f35e35d3113872783 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 67ce12bf31dd6decf1a1323924303a066f90a4c1 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala 0e0ac8633a256dc7c8966c2b8d52eb942b52e1c6 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  repository/src/test/titan0-resources/atlas-application.properties PRE-CREATION 
  repository/src/test/titan1-resources/atlas-application.properties PRE-CREATION 
  src/build/checkstyle-suppressions.xml 0025360552a32ffa0a5aa5696f27921a4752513f 
  titan/pom.xml 09006d9dd5e21aa24f53524aa42a3fcd6f3d9fe6 
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseStoreManager.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseTransaction.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/TableMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediator.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java  
  titan/src/test/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediatorTest.java  
  typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java 6fb2087a7cbeb6eefb0dd15b9a3c0c049b6b857b 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/AbstractDataType.java dc9cdf2567b45b35b324ecfbb5afcc7921409b8f 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorter.java aaec05c8c3913b6974332668ebe5af31332cd121 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/utils/TypesUtil.java ef8448d9f278c45f0a9c7c6045338cd056d23d08 
  typesystem/src/main/resources/atlas-application.properties 3318ff306a8b8ab5e320129a8450d144215f009f 
  typesystem/src/main/scala/org/apache/atlas/typesystem/json/TypesSerialization.scala 5618938e4bd9f9ef934e89bf2bf3199073294706 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/ClassTest.java daecdd78c952747964885d4cb8cdfb59727ffee5 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorterTest.java 19bdccfc6baf503f3144fce8fe0b85914693d054 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/TypeSystemTest.java 574e0f9811d195cd34e12a9f23b999568d54a1c7 
  typesystem/src/test/scala/org/apache/atlas/typesystem/json/TypesSerializationTest.scala cfd4bdb26482c187c4e80f110b7349df8b524e6e 
  webapp/pom.xml cce6dd6f073b15732d2aa5d26fd4aed090ddf65d 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java 010fa2aa979e12063a1d78c8db4ad7519c3ca973 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java 2a655383d6265213933beff2a884953e51fed889 
  webapp/src/main/java/org/apache/atlas/web/resources/RexsterGraphResource.java 150f913d881138c7afeb87881197ee0f1e7d3194 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 21, 2016, 11:47 p.m., Suma Shivaprasad wrote:
> > repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala, line 279
> > <https://reviews.apache.org/r/47810/diff/12/?file=1507206#file1507206line279>
> >
> >     Instead of having multiple checks its better to abstract out the Gremlin2.0 and Gremlin3.0 specific implementations which are referred to from a base installation?

Yes, I definitely agree.  The DSL translation should be done by translating the DSL into intermedate classes such as GremlinSelectExpression, GremlnHasExpression, etc.  These would have subclasses specific to gremlin 2/3 where appropriate, and the instance would be served up by some factory.  However, doing this would require a substantial rewrite of the DSL translator.  I can do this if you feel it is important, but it was something I was hoping to avoid.  I do think this is where we want to end up, though.  I'll start looking at this.  It will be a non-trivial exercise though.  Could it be moved into a follow-on JIRA?


- Jeff


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


On Sept. 21, 2016, 1:49 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2016, 1:49 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/21/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 21, 2016, 11:47 p.m., Suma Shivaprasad wrote:
> > repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala, line 279
> > <https://reviews.apache.org/r/47810/diff/12/?file=1507206#file1507206line279>
> >
> >     Instead of having multiple checks its better to abstract out the Gremlin2.0 and Gremlin3.0 specific implementations which are referred to from a base installation?
> 
> Jeff Hagelberg wrote:
>     Yes, I definitely agree.  The DSL translation should be done by translating the DSL into intermedate classes such as GremlinSelectExpression, GremlnHasExpression, etc.  These would have subclasses specific to gremlin 2/3 where appropriate, and the instance would be served up by some factory.  However, doing this would require a substantial rewrite of the DSL translator.  I can do this if you feel it is important, but it was something I was hoping to avoid.  I do think this is where we want to end up, though.  I'll start looking at this.  It will be a non-trivial exercise though.  Could it be moved into a follow-on JIRA?
> 
> Apoorv Naik wrote:
>     Can the potential DSL translator be written in Java ? (Just a thought)

I've created JIRA ATLAS-1195 to clean up the DSL translation.  Apoorv, I'll take that into consideration.  It largely depends on what the community thinks.  Most likely, any new classes I implement would be in Java.  I'm hoping to be able to leverage the expression classes that already exist, though (which are in Scala).  It's too early to say anything very concrete, I'm  still experimenting with different options for this.


- Jeff


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


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Apoorv Naik <na...@gmail.com>.

> On Sept. 21, 2016, 11:47 p.m., Suma Shivaprasad wrote:
> > repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala, line 279
> > <https://reviews.apache.org/r/47810/diff/12/?file=1507206#file1507206line279>
> >
> >     Instead of having multiple checks its better to abstract out the Gremlin2.0 and Gremlin3.0 specific implementations which are referred to from a base installation?
> 
> Jeff Hagelberg wrote:
>     Yes, I definitely agree.  The DSL translation should be done by translating the DSL into intermedate classes such as GremlinSelectExpression, GremlnHasExpression, etc.  These would have subclasses specific to gremlin 2/3 where appropriate, and the instance would be served up by some factory.  However, doing this would require a substantial rewrite of the DSL translator.  I can do this if you feel it is important, but it was something I was hoping to avoid.  I do think this is where we want to end up, though.  I'll start looking at this.  It will be a non-trivial exercise though.  Could it be moved into a follow-on JIRA?

Can the potential DSL translator be written in Java ? (Just a thought)


- Apoorv


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


On Sept. 21, 2016, 1:49 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2016, 1:49 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/21/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review149922
-----------------------------------------------------------




repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala (line 263)
<https://reviews.apache.org/r/47810/#comment217693>

    Instead of having multiple checks its better to abstract out the Gremlin2.0 and Gremlin3.0 specific implementations which are referred to from a base installation?


- Suma Shivaprasad


On Sept. 21, 2016, 1:49 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2016, 1:49 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/21/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 22, 2016, 11:12 a.m., Shwetha GS wrote:
> > repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java, line 422
> > <https://reviews.apache.org/r/47810/diff/12/?file=1507191#file1507191line422>
> >
> >     Isn't this also in Titan0Vertex?

Yes, I'll move this logic into a method in AtlasGraph so it can be reused in both places.


- Jeff


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


On Sept. 23, 2016, 3:21 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:21 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/21/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

On Sept. 22, 2016, 11:12 a.m., Jeff Hagelberg wrote:
> > Enable checkstyle on new modules with this property in pom.xml - <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
> > 
> > With patch:
> > Running org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 113.27 sec - in org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > 
> > Without patch:
> > Running org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 89.008 sec - in org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > 
> > With the patch, the test takes longer to run. This implies some performance issue with the patch
> > 
> > Whats the plan on including titan 1.x implementation - will it be a profile at compile time such that only one implementation(titan 0.x or titan 1.x) will be part of the package. Or are both implementations part of the package and the implementation is chosen from the runtime configuration in application properties? If its compile time binding, then we shouldn't expose the conf atlas.graphdb.backend?
> 
> Jeff Hagelberg wrote:
>     The plan is for all of the Atlas code to just depend on the abstraction layer.  There will be profiles in incubator-atlas\pom.xml for each graph backend.  The ones we have in our fork look like this:
>     
>             <profile>
>                 <id>titan1</id>
>                 <properties>
>                     <plugin.class>org.apache.atlas.repository.graphdb.titan1.Titan1Database</plugin.class>
>                 </properties>
>                 <dependencyManagement>
>                     <dependencies>
>                         <dependency>
>                             <groupId>org.apache.atlas</groupId>
>                             <artifactId>atlas-graphdb-impls</artifactId>
>                             <version>${project.version}</version>
>                             <type>pom</type>
>                             <exclusions>
>                                 <exclusion>
>                                     <groupId>org.apache.atlas</groupId>
>                                     <artifactId>atlas-graphdb-titan0</artifactId>
>                                 </exclusion>
>                                 <exclusion>
>                                     <groupId>com.ibm.analytics</groupId>
>                                     <artifactId>atlas-graphdb-ibm-graph</artifactId>
>                                 </exclusion>
>                             </exclusions>
>                         </dependency>
>                     </dependencies>
>                 </dependencyManagement>
>             </profile>
>     
>             <profile>
>                 <id>ibm-graph</id>
>                 <properties>
>                     <plugin.class>com.ibm.analytics.atlas.ibmgraph.IBMGraphDatabase</plugin.class>
>                     <atlas.TypeCache.impl>org.apache.atlas.repository.typestore.StoreBackedTenantTypeCache</atlas.TypeCache.impl>
>                     <ibm.graph.graph.id>4000</ibm.graph.graph.id>
>                 </properties>
>                 <dependencyManagement>
>                     <dependencies>
>                         <dependency>
>                             <groupId>org.apache.atlas</groupId>
>                             <artifactId>atlas-graphdb-impls</artifactId>
>                             <version>${project.version}</version>
>                             <type>pom</type>
>                             <exclusions>
>                                 <exclusion>
>                                     <groupId>org.apache.atlas</groupId>
>                                     <artifactId>atlas-graphdb-titan0</artifactId>
>                                 </exclusion>
>                                 <exclusion>
>                                     <groupId>org.apache.atlas</groupId>
>                                     <artifactId>atlas-graphdb-titan1</artifactId>
>                                 </exclusion>
>                             </exclusions>
>                         </dependency>
>                     </dependencies>
>                 </dependencyManagement>
>             </profile>
>         </profiles>
>     
>     These configure the atlas-graphdb-impls project to just pull in the jar from the implementation that is being used.  Right now, webapp has a dependency on this project, and will bundle the graph database implementation uber jar file corresponding to the profile that was selected.  Unfortunately, it is not possible for the titan0 and titan1 implementations to co-exist in the war without the use of a custom classloader.  titan0 and titan1 define many classes with the same name.  In addition, the two require different contents in META-INF/services/javax.script.ScriptEngineFactory.  Our plan has been to have the implementations available in the filesystem and have the correct loaded on startup, most likely using a custom classloader.  We have not really investigated that very much. It's possible that the plugin-classloader that was recently added might be able to help with this.  Right now, there is no way to switch between implementations without modifying that atlas war file.  Th
 is is probably ok for now, since we have not contributed the titan1 implementation yet, but it is definitely something we will need to look at.  I am pretty sure that we created a JIRA for that.
>     
>     I will do profiling of GraphRepoMapperScaleTest with and without the changes to see if I can identify and fix the performance regression in GraphRepoMapperScaleTest.

I've identified and fixed the performance regression.  The main culprit was the logic for looking up whether a property is a multi-property.  That checked has been optimized.  Now, we maintain a list of multi-properties that have been added in Titan0Graph and check that rather than using TitanManagement to do the lookup.  The list is populated at Atlas startup (when the single instanceof Titan0Graph is created) and updated when commit is called in Titan0GraphManagement.  These performance changes are included in the latest diff that was uploaded and the patch that is now attached to ATLAS-694.

Suma/Shweta - Can you please retest this with the latest patch?


- Jeff


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


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 22, 2016, 11:12 a.m., Shwetha GS wrote:
> > catalog/pom.xml, line 67
> > <https://reviews.apache.org/r/47810/diff/12/?file=1507166#file1507166line67>
> >
> >     for now, catalog can only be used with Titan 0.5.4 - why?
> 
> Jeff Hagelberg wrote:
>     A good portion of the catalog project, especially the ones in the query package, make direct use of TP2-specific classes such as GremlinPipeline.  TP3 uses a different set of packages.  It would take a good deal of work to refactor the catalog project to generate gremlin that is compatible with both TP2 and TP3.  To reduce the scope, I did not tackle that in this initial implementation.  The query generation logic here will be need to use some abstraction that is independent of the TP version.  If done right, this could also be used to help clean up the DSL translation logic as well (See my response to Suma's comment about that).  At this point, I would really like to focus on getting the general framework in place, which these changes covers.  I think things making catalog work with TP3 should be treated as a separate JIRA.

I've created JIRA ATLAS-1194 to add TP3 support to Catalog.


- Jeff


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


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.

On Sept. 22, 2016, 11:12 a.m., Jeff Hagelberg wrote:
> > Enable checkstyle on new modules with this property in pom.xml - <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
> > 
> > With patch:
> > Running org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 113.27 sec - in org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > 
> > Without patch:
> > Running org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 89.008 sec - in org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > 
> > With the patch, the test takes longer to run. This implies some performance issue with the patch
> > 
> > Whats the plan on including titan 1.x implementation - will it be a profile at compile time such that only one implementation(titan 0.x or titan 1.x) will be part of the package. Or are both implementations part of the package and the implementation is chosen from the runtime configuration in application properties? If its compile time binding, then we shouldn't expose the conf atlas.graphdb.backend?
> 
> Jeff Hagelberg wrote:
>     The plan is for all of the Atlas code to just depend on the abstraction layer.  There will be profiles in incubator-atlas\pom.xml for each graph backend.  The ones we have in our fork look like this:
>     
>             <profile>
>                 <id>titan1</id>
>                 <properties>
>                     <plugin.class>org.apache.atlas.repository.graphdb.titan1.Titan1Database</plugin.class>
>                 </properties>
>                 <dependencyManagement>
>                     <dependencies>
>                         <dependency>
>                             <groupId>org.apache.atlas</groupId>
>                             <artifactId>atlas-graphdb-impls</artifactId>
>                             <version>${project.version}</version>
>                             <type>pom</type>
>                             <exclusions>
>                                 <exclusion>
>                                     <groupId>org.apache.atlas</groupId>
>                                     <artifactId>atlas-graphdb-titan0</artifactId>
>                                 </exclusion>
>                                 <exclusion>
>                                     <groupId>com.ibm.analytics</groupId>
>                                     <artifactId>atlas-graphdb-ibm-graph</artifactId>
>                                 </exclusion>
>                             </exclusions>
>                         </dependency>
>                     </dependencies>
>                 </dependencyManagement>
>             </profile>
>     
>             <profile>
>                 <id>ibm-graph</id>
>                 <properties>
>                     <plugin.class>com.ibm.analytics.atlas.ibmgraph.IBMGraphDatabase</plugin.class>
>                     <atlas.TypeCache.impl>org.apache.atlas.repository.typestore.StoreBackedTenantTypeCache</atlas.TypeCache.impl>
>                     <ibm.graph.graph.id>4000</ibm.graph.graph.id>
>                 </properties>
>                 <dependencyManagement>
>                     <dependencies>
>                         <dependency>
>                             <groupId>org.apache.atlas</groupId>
>                             <artifactId>atlas-graphdb-impls</artifactId>
>                             <version>${project.version}</version>
>                             <type>pom</type>
>                             <exclusions>
>                                 <exclusion>
>                                     <groupId>org.apache.atlas</groupId>
>                                     <artifactId>atlas-graphdb-titan0</artifactId>
>                                 </exclusion>
>                                 <exclusion>
>                                     <groupId>org.apache.atlas</groupId>
>                                     <artifactId>atlas-graphdb-titan1</artifactId>
>                                 </exclusion>
>                             </exclusions>
>                         </dependency>
>                     </dependencies>
>                 </dependencyManagement>
>             </profile>
>         </profiles>
>     
>     These configure the atlas-graphdb-impls project to just pull in the jar from the implementation that is being used.  Right now, webapp has a dependency on this project, and will bundle the graph database implementation uber jar file corresponding to the profile that was selected.  Unfortunately, it is not possible for the titan0 and titan1 implementations to co-exist in the war without the use of a custom classloader.  titan0 and titan1 define many classes with the same name.  In addition, the two require different contents in META-INF/services/javax.script.ScriptEngineFactory.  Our plan has been to have the implementations available in the filesystem and have the correct loaded on startup, most likely using a custom classloader.  We have not really investigated that very much. It's possible that the plugin-classloader that was recently added might be able to help with this.  Right now, there is no way to switch between implementations without modifying that atlas war file.  Th
 is is probably ok for now, since we have not contributed the titan1 implementation yet, but it is definitely something we will need to look at.  I am pretty sure that we created a JIRA for that.
>     
>     I will do profiling of GraphRepoMapperScaleTest with and without the changes to see if I can identify and fix the performance regression in GraphRepoMapperScaleTest.
> 
> Jeff Hagelberg wrote:
>     I've identified and fixed the performance regression.  The main culprit was the logic for looking up whether a property is a multi-property.  That checked has been optimized.  Now, we maintain a list of multi-properties that have been added in Titan0Graph and check that rather than using TitanManagement to do the lookup.  The list is populated at Atlas startup (when the single instanceof Titan0Graph is created) and updated when commit is called in Titan0GraphManagement.  These performance changes are included in the latest diff that was uploaded and the patch that is now attached to ATLAS-694.
>     
>     Suma/Shweta - Can you please retest this with the latest patch?

I see the results are comparable now and the master GraphRepoMapperScaleTest took around 97 secs vs 102 secs with the patch. Will let Shwetha confirm as well.


- Suma


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


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 22, 2016, 11:12 a.m., Shwetha GS wrote:
> > catalog/pom.xml, line 67
> > <https://reviews.apache.org/r/47810/diff/12/?file=1507166#file1507166line67>
> >
> >     for now, catalog can only be used with Titan 0.5.4 - why?

A good portion of the catalog project, especially the ones in the query package, make direct use of TP2-specific classes such as GremlinPipeline.  TP3 uses a different set of packages.  It would take a good deal of work to refactor the catalog project to generate gremlin that is compatible with both TP2 and TP3.  To reduce the scope, I did not tackle that in this initial implementation.  The query generation logic here will be need to use some abstraction that is independent of the TP version.  If done right, this could also be used to help clean up the DSL translation logic as well (See my response to Suma's comment about that).  At this point, I would really like to focus on getting the general framework in place, which these changes covers.  I think things making catalog work with TP3 should be treated as a separate JIRA.


> On Sept. 22, 2016, 11:12 a.m., Shwetha GS wrote:
> > graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java, line 33
> > <https://reviews.apache.org/r/47810/diff/12/?file=1507169#file1507169line33>
> >
> >     There is AtlasPropertyKey.Cardinality and AtlasCardinality. Whats the difference?

There isn't a difference.  I'll consolidate them.


> On Sept. 22, 2016, 11:12 a.m., Shwetha GS wrote:
> > repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java, line 148
> > <https://reviews.apache.org/r/47810/diff/12/?file=1507184#file1507184line148>
> >
> >

Fixed to use GraphHelper.


> On Sept. 22, 2016, 11:12 a.m., Shwetha GS wrote:
> > repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java, line 57
> > <https://reviews.apache.org/r/47810/diff/12/?file=1507186#file1507186line57>
> >
> >     add visible for testing annotation. Will be good if you can move to some test class instead

Annotations have been added.  I found it useful to have the methods in this class because they are used by many different test projects.


> On Sept. 22, 2016, 11:12 a.m., Shwetha GS wrote:
> > pom.xml, line 457
> > <https://reviews.apache.org/r/47810/diff/12/?file=1507179#file1507179line457>
> >
> >     where is this used? git grep returns just this result

I guess that at this point it is not needed. since Titan0Database (now Titan0GraphDatabase) is the default.  Once support for other implementations is merged in, that will be needed to control which implementation class ends up in the test atlas-application.properties file in typesystem.  I did include the changes to those property files though.  I guess I'll go ahead and add them in.


On Sept. 22, 2016, 11:12 a.m., Jeff Hagelberg wrote:
> > Enable checkstyle on new modules with this property in pom.xml - <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
> > 
> > With patch:
> > Running org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 113.27 sec - in org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > 
> > Without patch:
> > Running org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 89.008 sec - in org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
> > 
> > With the patch, the test takes longer to run. This implies some performance issue with the patch
> > 
> > Whats the plan on including titan 1.x implementation - will it be a profile at compile time such that only one implementation(titan 0.x or titan 1.x) will be part of the package. Or are both implementations part of the package and the implementation is chosen from the runtime configuration in application properties? If its compile time binding, then we shouldn't expose the conf atlas.graphdb.backend?

The plan is for all of the Atlas code to just depend on the abstraction layer.  There will be profiles in incubator-atlas\pom.xml for each graph backend.  The ones we have in our fork look like this:

        <profile>
            <id>titan1</id>
            <properties>
                <plugin.class>org.apache.atlas.repository.graphdb.titan1.Titan1Database</plugin.class>
            </properties>
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.atlas</groupId>
                        <artifactId>atlas-graphdb-impls</artifactId>
                        <version>${project.version}</version>
                        <type>pom</type>
                        <exclusions>
                            <exclusion>
                                <groupId>org.apache.atlas</groupId>
                                <artifactId>atlas-graphdb-titan0</artifactId>
                            </exclusion>
                            <exclusion>
                                <groupId>com.ibm.analytics</groupId>
                                <artifactId>atlas-graphdb-ibm-graph</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                </dependencies>
            </dependencyManagement>
        </profile>

        <profile>
            <id>ibm-graph</id>
            <properties>
                <plugin.class>com.ibm.analytics.atlas.ibmgraph.IBMGraphDatabase</plugin.class>
                <atlas.TypeCache.impl>org.apache.atlas.repository.typestore.StoreBackedTenantTypeCache</atlas.TypeCache.impl>
                <ibm.graph.graph.id>4000</ibm.graph.graph.id>
            </properties>
            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.atlas</groupId>
                        <artifactId>atlas-graphdb-impls</artifactId>
                        <version>${project.version}</version>
                        <type>pom</type>
                        <exclusions>
                            <exclusion>
                                <groupId>org.apache.atlas</groupId>
                                <artifactId>atlas-graphdb-titan0</artifactId>
                            </exclusion>
                            <exclusion>
                                <groupId>org.apache.atlas</groupId>
                                <artifactId>atlas-graphdb-titan1</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                </dependencies>
            </dependencyManagement>
        </profile>
    </profiles>

These configure the atlas-graphdb-impls project to just pull in the jar from the implementation that is being used.  Right now, webapp has a dependency on this project, and will bundle the graph database implementation uber jar file corresponding to the profile that was selected.  Unfortunately, it is not possible for the titan0 and titan1 implementations to co-exist in the war without the use of a custom classloader.  titan0 and titan1 define many classes with the same name.  In addition, the two require different contents in META-INF/services/javax.script.ScriptEngineFactory.  Our plan has been to have the implementations available in the filesystem and have the correct loaded on startup, most likely using a custom classloader.  We have not really investigated that very much. It's possible that the plugin-classloader that was recently added might be able to help with this.  Right now, there is no way to switch between implementations without modifying that atlas war file.  This is 
 probably ok for now, since we have not contributed the titan1 implementation yet, but it is definitely something we will need to look at.  I am pretty sure that we created a JIRA for that.

I will do profiling of GraphRepoMapperScaleTest with and without the changes to see if I can identify and fix the performance regression in GraphRepoMapperScaleTest.


- Jeff


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


On Sept. 21, 2016, 1:49 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2016, 1:49 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/21/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Shwetha GS <ss...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review149947
-----------------------------------------------------------




catalog/pom.xml (line 67)
<https://reviews.apache.org/r/47810/#comment217738>

    for now, catalog can only be used with Titan 0.5.4 - why?



graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java (line 33)
<https://reviews.apache.org/r/47810/#comment217740>

    There is AtlasPropertyKey.Cardinality and AtlasCardinality. Whats the difference?



graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java (line 36)
<https://reviews.apache.org/r/47810/#comment217743>

    The javadoc params are out of date



graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java (line 40)
<https://reviews.apache.org/r/47810/#comment217747>

    Rename to Titan0GraphManagement? In general, rename Database to Graph for all new classes?



pom.xml (line 457)
<https://reviews.apache.org/r/47810/#comment217728>

    where is this used? git grep returns just this result



repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java (line 148)
<https://reviews.apache.org/r/47810/#comment217764>

    



repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java (line 45)
<https://reviews.apache.org/r/47810/#comment217777>

    You will need synchronized locking here - http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html



repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java (line 57)
<https://reviews.apache.org/r/47810/#comment217774>

    add visible for testing annotation. Will be good if you can move to some test class instead



repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java (line 82)
<https://reviews.apache.org/r/47810/#comment217778>

    add visiblefortesting annotation



repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java (line 414)
<https://reviews.apache.org/r/47810/#comment217783>

    Isn't this also in Titan0Vertex?


Enable checkstyle on new modules with this property in pom.xml - <checkstyle.failOnViolation>true</checkstyle.failOnViolation>

With patch:
Running org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 113.27 sec - in org.apache.atlas.repository.graph.GraphRepoMapperScaleTest

Without patch:
Running org.apache.atlas.repository.graph.GraphRepoMapperScaleTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 89.008 sec - in org.apache.atlas.repository.graph.GraphRepoMapperScaleTest

With the patch, the test takes longer to run. This implies some performance issue with the patch

Whats the plan on including titan 1.x implementation - will it be a profile at compile time such that only one implementation(titan 0.x or titan 1.x) will be part of the package. Or are both implementations part of the package and the implementation is chosen from the runtime configuration in application properties? If its compile time binding, then we shouldn't expose the conf atlas.graphdb.backend?

- Shwetha GS


On Sept. 21, 2016, 1:49 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2016, 1:49 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/21/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Shwetha GS <ss...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review150691
-----------------------------------------------------------




repository/src/test/resources/hive-instances.json (line 2)
<https://reviews.apache.org/r/47810/#comment218730>

    Modifying this json because of changes in model, serialisation/deserialisation is tough. Can we just generate the entities from test code?


- Shwetha GS


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review150218
-----------------------------------------------------------




graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java (line 50)
<https://reviews.apache.org/r/47810/#comment218107>

    the mixed and composite index interfaces are too specific to Titan. Can we abstract this interface as just two functions indexFullText and indexExactMatch and the rest could be handled by the implemenations for Titan0, Titan1, any other property graph db . the API could be changed to something like indexFullText(indexname, Map<String, Object> params) and the implemenation for Titan0 would have the backing index in alongother required params cardinality etc.


- Suma Shivaprasad


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 23, 2016, 7:58 p.m., Suma Shivaprasad wrote:
> > repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala, line 341
> > <https://reviews.apache.org/r/47810/diff/13/?file=1508950#file1508950line341>
> >
> >     Can you pls raise a jira for this?

I have created ATLAS-1196 for this.


- Jeff


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


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review150229
-----------------------------------------------------------




repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala (line 324)
<https://reviews.apache.org/r/47810/#comment218122>

    Can you pls raise a jira for this?


- Suma Shivaprasad


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 23, 2016, 8:36 p.m., Suma Shivaprasad wrote:
> > graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java, line 188
> > <https://reviews.apache.org/r/47810/diff/13/?file=1508908#file1508908line188>
> >
> >     can rename this to clear instead of removeTestGraph?
> >     Also initializeTestGraph can be removed for now?

I suppose we could remove it.  I was trying to make the interfaces as close as possible to what we have in our fork, and this method is used by the other implementations.  I guess I missed this comment in my last round of testing and rebasing.  Would cleanupTestGraph be ok as a name?  The issue is that the cleanup mechanism is actually specific to the graph database.  Titan clears the graph.  However, in IBM Graph, clearing the graph is not allowed, so we actually remove it, and initializeTestGraph sets things up so that a new graph gets created for each test class.  Let's see what comments my latest changes get.  I'll put this in while addressing those, assuming there are some :-).


- Jeff


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


On Oct. 4, 2016, 1:28 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 4, 2016, 1:28 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.

> On Sept. 23, 2016, 8:36 p.m., Suma Shivaprasad wrote:
> > graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java, line 188
> > <https://reviews.apache.org/r/47810/diff/13/?file=1508908#file1508908line188>
> >
> >     can rename this to clear instead of removeTestGraph?
> >     Also initializeTestGraph can be removed for now?
> 
> Jeff Hagelberg wrote:
>     I suppose we could remove it.  I was trying to make the interfaces as close as possible to what we have in our fork, and this method is used by the other implementations.  I guess I missed this comment in my last round of testing and rebasing.  Would cleanupTestGraph be ok as a name?  The issue is that the cleanup mechanism is actually specific to the graph database.  Titan clears the graph.  However, in IBM Graph, clearing the graph is not allowed, so we actually remove it, and initializeTestGraph sets things up so that a new graph gets created for each test class.  Let's see what comments my latest changes get.  I'll put this in while addressing those, assuming there are some :-).
> 
> Jeff Hagelberg wrote:
>     or maybe just cleanup()

yes am okay with cleanup. Could we have an initiliaze method for all graphs instead that can be used for tests to setup the graph and for non-tests/prod deployments may be empty impl if nothing is required?


- Suma


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


On Oct. 4, 2016, 1:28 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 4, 2016, 1:28 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 23, 2016, 8:36 p.m., Suma Shivaprasad wrote:
> > graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java, line 188
> > <https://reviews.apache.org/r/47810/diff/13/?file=1508908#file1508908line188>
> >
> >     can rename this to clear instead of removeTestGraph?
> >     Also initializeTestGraph can be removed for now?
> 
> Jeff Hagelberg wrote:
>     I suppose we could remove it.  I was trying to make the interfaces as close as possible to what we have in our fork, and this method is used by the other implementations.  I guess I missed this comment in my last round of testing and rebasing.  Would cleanupTestGraph be ok as a name?  The issue is that the cleanup mechanism is actually specific to the graph database.  Titan clears the graph.  However, in IBM Graph, clearing the graph is not allowed, so we actually remove it, and initializeTestGraph sets things up so that a new graph gets created for each test class.  Let's see what comments my latest changes get.  I'll put this in while addressing those, assuming there are some :-).

or maybe just cleanup()


- Jeff


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


On Oct. 4, 2016, 1:28 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 4, 2016, 1:28 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review150231
-----------------------------------------------------------




graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java (line 188)
<https://reviews.apache.org/r/47810/#comment218124>

    can rename this to clear instead of removeTestGraph?
    Also initializeTestGraph can be removed for now?


- Suma Shivaprasad


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 23, 2016, 8:13 p.m., Suma Shivaprasad wrote:
> > repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala, line 575
> > <https://reviews.apache.org/r/47810/diff/13/?file=1508950#file1508950line575>
> >
> >     Is this change, fixing a bug in current code? if so, can you pls explain?

This isn't really a bug fix.  It is part of a performance optimization that was put in for IBM Graph support.  For that implementation, it replaces all vertices in the query result with a structure that contains both the vertex id and the list of outgoing edges for the vertex.  Previous to that, only the id was coming back, and we had to make additional REST api calls to get the other information about the vertices.  For titan0/titan1, getOutputTransformationPredicate() returns an empty String.


- Jeff


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


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review150230
-----------------------------------------------------------




repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala (line 549)
<https://reviews.apache.org/r/47810/#comment218123>

    Is this change, fixing a bug in current code? if so, can you pls explain?


- Suma Shivaprasad


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review150227
-----------------------------------------------------------




repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala (line 489)
<https://reviews.apache.org/r/47810/#comment218118>

    filter in Titan 0.5.4 doesnt use any index. Is it the same for Titan 1.0.0 ? Which types does this apply to - map, etc?


- Suma Shivaprasad


On Sept. 23, 2016, 3:29 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2016, 3:29 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/22/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Shwetha GS <ss...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review151486
-----------------------------------------------------------




graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java (line 65)
<https://reviews.apache.org/r/47810/#comment219901>

    This has to be synchronized


- Shwetha GS


On Oct. 4, 2016, 1:28 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 4, 2016, 1:28 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review152059
-----------------------------------------------------------


Ship it!




Ship It!

- Suma Shivaprasad


On Oct. 7, 2016, 9:28 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 7, 2016, 9:28 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 44dacb8ff8d8b9fbf61a1e1deecd4fe684a3c720 
>   addons/hdfs-model/pom.xml bd1debe8f6f0e8bbc1d0192808a6a0205e650491 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 3b8f576428f08d76b503b9f735fb2d0dddc01955 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml fa5bd8f04f26b386ba36b64efd8f510e16f2eefd 
>   addons/storm-bridge/pom.xml 4b3816f089bb4001b4aea8132dbff8f56617d537 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml c3252c5990271b508f011805782bc5f60378bea3 
>   repository/pom.xml 7a34331ce2876d9d9e916f96f1141d3efa91e959 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated Oct. 7, 2016, 9:28 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

Rebased.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  

Last rebase: 10/3/2016


Diffs (updated)
-----

  .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
  addons/falcon-bridge/pom.xml 44dacb8ff8d8b9fbf61a1e1deecd4fe684a3c720 
  addons/hdfs-model/pom.xml bd1debe8f6f0e8bbc1d0192808a6a0205e650491 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 3b8f576428f08d76b503b9f735fb2d0dddc01955 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
  addons/sqoop-bridge/pom.xml fa5bd8f04f26b386ba36b64efd8f510e16f2eefd 
  addons/storm-bridge/pom.xml 4b3816f089bb4001b4aea8132dbff8f56617d537 
  catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
  distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
  graphdb/graphdb-impls/pom.xml PRE-CREATION 
  graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
  graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
  graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
  pom.xml c3252c5990271b508f011805782bc5f60378bea3 
  repository/pom.xml 7a34331ce2876d9d9e916f96f1141d3efa91e959 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
  repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
  repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
  repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
  webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
  webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated Oct. 7, 2016, 9:23 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

Addressed latest round of code review comments.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  

Last rebase: 10/3/2016


Diffs (updated)
-----

  .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
  addons/falcon-bridge-shim/pom.xml ddb62cec327a1fc73d60edb9b1772ed63c58d99b 
  addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
  addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
  addons/hdfs-model/src/main/java/org/apache/atlas/fs/model/FSDataModelGenerator.java 444c1aa3cf0f484a57e4e2bd8c38c5656093d37f 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/ColumnLineageUtils.java PRE-CREATION 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java a3464a0a5bfdbe295953cea6e8b30a1f8f218dd6 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/model/HiveDataModelGenerator.java 45f0bc940ff495421d6a58e626551f9c6abdcb7c 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/model/HiveDataTypes.java e094cb6adfe3d044d259f58c5386dbcab93dff0d 
  addons/hive-bridge/src/test/java/org/apache/atlas/hive/hook/HiveHookIT.java a5838b4f41af7a5282b97d61ae67cf5af2734392 
  addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
  addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
  catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
  common/src/main/java/org/apache/atlas/AtlasConstants.java 17ffbd744f33e8bfdac5dd81683b3a931cb934d9 
  common/src/main/java/org/apache/atlas/repository/Constants.java d7f9c89c6f8a51f39a9afed1ee19ddc907cf30cf 
  dashboardv2/gruntfile.js 0ca253d93a6619d1528c25c707c1647a4fc9f19f 
  dashboardv2/package.json 91c7756a0d9e0331a5d0c4054a4e08a93d5a5043 
  dashboardv2/public/index.html a8f191a9b5e02682024dca77b98ccf1a58cb057b 
  dashboardv2/public/js/utils/CommonViewFunction.js ceb10d22d178129a7951b20489f08ba0117d4ebc 
  dashboardv2/public/js/utils/Overrides.js b2af8e1f8b9bf1d38565955d9b9d1e9938484d68 
  distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
  distro/src/main/assemblies/standalone-package.xml ff7b784b380ba8f1edd1b481baa0237ade6f5c12 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
  graphdb/graphdb-impls/pom.xml PRE-CREATION 
  graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
  graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
  graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
  intg/pom.xml PRE-CREATION 
  intg/src/main/java/org/apache/atlas/api/AtlasApiEntities.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/api/AtlasApiTypes.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/PList.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/SearchFilter.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/instance/AtlasClassification.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/instance/AtlasEntity.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/instance/AtlasObjectId.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/instance/AtlasStruct.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/typedef/AtlasBaseTypeDef.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/typedef/AtlasClassificationDef.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/typedef/AtlasEntityDef.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/typedef/AtlasEnumDef.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/model/typedef/AtlasStructDef.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/type/AtlasArrayType.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/type/AtlasBuiltInTypes.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/type/AtlasEntityType.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/type/AtlasEnumType.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/type/AtlasMapType.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/type/AtlasStructType.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/type/AtlasType.java PRE-CREATION 
  intg/src/main/java/org/apache/atlas/type/AtlasTypeRegistry.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/model/ModelTestUtil.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/model/instance/TestAtlasClassification.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/model/instance/TestAtlasEntity.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/model/typedef/TestAtlasClassificationDef.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/model/typedef/TestAtlasEntityDef.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/model/typedef/TestAtlasEnumDef.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/model/typedef/TestAtlasStructDef.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasArrayType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasBigDecimalType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasBigIntegerType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasBooleanType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasByteType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasClassificationType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasDateType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasDoubleType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasEntityType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasFloatType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasIntType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasLongType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasMapType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasObjectIdType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasShortType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasStringType.java PRE-CREATION 
  intg/src/test/java/org/apache/atlas/type/TestAtlasStructType.java PRE-CREATION 
  pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
  release-log.txt 88be4b6aa392738e2ce38fe533e639875dee330a 
  repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
  repository/src/main/java/org/apache/atlas/services/AtlasPatchHandler.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/services/AtlasTypeAttributePatch.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/services/AtlasTypePatch.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
  repository/src/main/java/org/apache/atlas/services/ReservedTypesRegistrar.java 41c0155ff9943a2b50918b112f4b37c1ea9902b4 
  repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
  repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
  repository/src/test/java/org/apache/atlas/services/ReservedTypesRegistrarTest.java d602bd8030790c46636341b8cc5125b197a94921 
  repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  src/build/checkstyle.xml b7b771166856d3e23c7904ad2516d0e54063fcfb 
  typesystem/pom.xml 93aec8d5868bf6e6a1b6d1305a52a8fdabd08c61 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/AbstractDataType.java fad091db130555ba669629eae34048ed343d4a95 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/ClassType.java c56987a4992dee7a3c2cb7e17de38ae57822b68b 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/EnumType.java bdd0a131dc65c55f8fedc6797f9017e94ebe9b55 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/EnumTypeDefinition.java 63406153761250d460db6ae0c0ad65d6f75e0e33 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/HierarchicalType.java 722469989a566cca2b03d578e6bb23444504c40c 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/HierarchicalTypeDefinition.java 9a299f077b419b3c919e67a9ce5dffb2a1855377 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/IDataType.java 85ddee7aa251f2a7b2806809e57c3e70eb3efa3f 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/StructType.java 6f40c1d56c3917e959e5f00861b084108951a73d 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/StructTypeDefinition.java f1ce1b706f40835a963147fa6fdcc318759fa4e3 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/TraitType.java f23bf5bacf8243639cae4e2da20df94f1297f4d8 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/TypeSystem.java 70ba89b23b802642cb77cc252f053072eb415d25 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/utils/TypesUtil.java ef8448d9f278c45f0a9c7c6045338cd056d23d08 
  typesystem/src/main/scala/org/apache/atlas/typesystem/json/TypesSerialization.scala 5618938e4bd9f9ef934e89bf2bf3199073294706 
  typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
  webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
  webapp/src/main/java/org/apache/atlas/web/filters/AtlasAuthenticationFilter.java 605fe89504e516784117728ce909cd5e301e8d47 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
  webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java PRE-CREATION 
  webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review151396
-----------------------------------------------------------




graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java (line 78)
<https://reviews.apache.org/r/47810/#comment219713>

    can we change the vararg to a List everywhee to keep it consistent?


- Suma Shivaprasad


On Oct. 4, 2016, 1:28 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 4, 2016, 1:28 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.

> On Oct. 4, 2016, 9 p.m., Suma Shivaprasad wrote:
> > graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java, line 130
> > <https://reviews.apache.org/r/47810/diff/13-14/?file=1508888#file1508888line130>
> >
> >     Does the index here refer to the edgeLabel we are trying to create an idex for? Do we have everything we need in this interface to index an edge label?
> 
> Suma Shivaprasad wrote:
>     I see that the index here refers to the indexName and not the edgeLabel. We need to provide for indexing edge labels as well even though we dont use that currently

Raised https://issues.apache.org/jira/browse/ATLAS-1219 for this


- Suma


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


On Oct. 7, 2016, 9:28 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 7, 2016, 9:28 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 44dacb8ff8d8b9fbf61a1e1deecd4fe684a3c720 
>   addons/hdfs-model/pom.xml bd1debe8f6f0e8bbc1d0192808a6a0205e650491 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 3b8f576428f08d76b503b9f735fb2d0dddc01955 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml fa5bd8f04f26b386ba36b64efd8f510e16f2eefd 
>   addons/storm-bridge/pom.xml 4b3816f089bb4001b4aea8132dbff8f56617d537 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml c3252c5990271b508f011805782bc5f60378bea3 
>   repository/pom.xml 7a34331ce2876d9d9e916f96f1141d3efa91e959 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.

> On Oct. 4, 2016, 9 p.m., Suma Shivaprasad wrote:
> > graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java, line 130
> > <https://reviews.apache.org/r/47810/diff/13-14/?file=1508888#file1508888line130>
> >
> >     Does the index here refer to the edgeLabel we are trying to create an idex for? Do we have everything we need in this interface to index an edge label?

I see that the index here refers to the indexName and not the edgeLabel. We need to provide for indexing edge labels as well even though we dont use that currently


- Suma


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


On Oct. 4, 2016, 1:28 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 4, 2016, 1:28 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review151393
-----------------------------------------------------------




graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java (line 111)
<https://reviews.apache.org/r/47810/#comment219710>

    Does the index here refer to the edgeLabel we are trying to create an idex for? Do we have everything we need in this interface to index an edge label?


- Suma Shivaprasad


On Oct. 4, 2016, 1:28 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 4, 2016, 1:28 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review151399
-----------------------------------------------------------




repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java (line 295)
<https://reviews.apache.org/r/47810/#comment219716>

    why is this needed? We fixed this earlier by allowing keywords which are escaped by quotes ``


- Suma Shivaprasad


On Oct. 4, 2016, 1:28 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 4, 2016, 1:28 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Suma Shivaprasad <su...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review151403
-----------------------------------------------------------




repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java (line 356)
<https://reviews.apache.org/r/47810/#comment219718>

    can remove propertyname and get it from PropertyKey everywhere?


- Suma Shivaprasad


On Oct. 4, 2016, 1:28 a.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Oct. 4, 2016, 1:28 a.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 10/3/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
>   graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
>   graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
>   pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
>   webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated Oct. 4, 2016, 1:28 a.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description (updated)
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  

Last rebase: 10/3/2016


Diffs
-----

  .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
  addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
  addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
  addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
  addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
  catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
  distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
  graphdb/graphdb-impls/pom.xml PRE-CREATION 
  graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
  graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
  graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
  pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
  repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
  repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
  repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
  repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
  webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
  webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated Oct. 4, 2016, 1:22 a.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

Addressed review comments.  Changed hive instance sample to programatically create entities.  Refactored AtlasGraphManagement, GraphBackedSearchIndexer to make methods less titan-centric.  Rebased.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  

Last rebase: 9/22/2016


Diffs (updated)
-----

  .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
  addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
  addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
  addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
  addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
  catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
  distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
  graphdb/graphdb-impls/pom.xml PRE-CREATION 
  graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
  graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
  graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
  pom.xml 5f1285a857b296ce1289822b58326e09370bb3d9 
  repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b7e706f57429c43a13b18560cada6685d1f159e4 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 026e98c1a16b4474d5e6d1c4368e43af0d2ce0f5 
  repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java b27854e774839bc85c99253c44cc3872d4ce4aa4 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e713ba5972647fc0d6433f1234827422cbe16948 
  repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
  repository/src/test/java/org/apache/atlas/utils/HiveModel.java PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
  webapp/pom.xml 8fe4b9bed7efefdcc623df2f8e9cfa6ef84d8514 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
  webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated Sept. 23, 2016, 3:29 a.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description (updated)
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  

Last rebase: 9/22/2016


Diffs
-----

  .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
  addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
  addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
  addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
  addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
  catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
  distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
  graphdb/graphdb-impls/pom.xml PRE-CREATION 
  graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
  graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
  graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
  pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
  repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
  repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
  repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
  webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
  webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated Sept. 23, 2016, 3:21 a.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

Addressed code review comments.  Fixed performance issue in GraphRepoMapperScaleTest.  The main issue there was extra processing done during set vertices.  That has been optimized, now the performance is comparable to what it was before the changes (actually, it was slightly better in my test runs).  Enabled checkstyle in new projects, addressed violations.  Added synchronization check to AtlasGraphProvider.  Added @VisibleForTesting as requested.  Refactored/opimized check for multi-properties, now it is defined as a method in AtlasGraph and called from both places where it was used.  Updated atlas-application.properties in typesystem to make use of the atlas.graphdb.backend property.  Reran all tests, no issues found.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  

Last rebase: 9/21/2016


Diffs (updated)
-----

  .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
  addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
  addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
  addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
  addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
  catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
  distro/src/conf/atlas-application.properties d334600dc5534840409b586157799ef3abf9abf2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java dd4b7e614cdd9bf30f957fb6a839d8c60f3e1701 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 1bc0fc38c0802897f32260520770a16795474d04 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java 995c5457ac7f807172f367cc8e3348b3a98dd6f3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java 41194d34f079842db0d95c73a8b099459f76ff2f 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java 93447495bcf18e9f19df9df68fd1cbe1427fc462 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java e719d306ffe9f68e3ac6f7406baaf60a12390c34 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java fff6fb79247e7d0615ce83c4cbbd93d1bf8cf29c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java 366cfe131512f36c02f59ad7e969ff94dfb0e12c 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 37acda5f6ddb883ee364d08a31251b071e6a89a5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java f328d3cb9d2b695bf0eb9981d7046bb67d0eac7d 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java b79bf7964ae9c830cfa28b9f2f1a1a1059d67223 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java 5c654119a4292136e8ff935c34dd6e39741bffc1 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java f23847a2f75c351ad307680d0642bc1da49fc59f 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java f3996d939a0555128066d1a76a379d9320d884cd 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java 8d7bc15acd08124a7eddf0c52cc35af0ecbfafb7 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java 5a43a6aa7a061d2aa2da1703c03f90ecece4be83 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java 9de46556a06608ff425b4b7cc7c911116f9739ea 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java 61c692f093e66ea60abaef7c6bfb98908e545260 
  graphdb/graphdb-impls/pom.xml PRE-CREATION 
  graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
  graphdb/titan0/src/main/java/com/thinkaurelius/titan/graphdb/query/graph/GraphCentricQueryBuilder.java c1a983b80fedb5ac1a7060f0902bf94eb12dae98 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Database.java 56b16649df99dfb50a7abb45463efe400f91a4cf 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java cacbaf8851c3513f634f0193954d249514ad69f7 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 51531edf21dd3877e9cb3ccadd545983443b8aa4 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java 18f0be507db4fa263c41dde5a4e1413163f1d578 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java cfd9905e6023f80b90c76277aa4398682d9eba2f 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java 6c12ac29a6119be9d9b5249e5f2f5c2c1c22b35b 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.java d02dce946dc547e8e4ce63fdfe84c9cc458c3d01 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java 341c0642c26017a135bd0faa86b5a29fcdb15870 
  graphdb/titan0/src/test/resources/atlas-application.properties 1e8963ede10c73c3f80033ee4eb29f6b832277c6 
  pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
  repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
  repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
  repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/test/resources/atlas-application.properties fb31462ce9e90e16e5fd271de54268fe77e1b39e 
  webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
  webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 21, 2016, 1:54 p.m., David Radley wrote:
> > I have just did git checkout master and applied the latest diff. I get compile errors. I my workspace it errors in the pom files as it is not recognising the new dependancy   
> > 	<dependency>
> >             <groupId>org.apache.atlas</groupId>
> >             <artifactId>atlas-graphdb-impls</artifactId>
> > 	    <type>pom</type>
> >             <scope>test</scope>
> >         </dependency>
> >         
> > Is there another patch I need to apply as well?

Hmm, that project should get built with the rest of Atlas.  I'll investigate.


- Jeff


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


On Sept. 21, 2016, 1:49 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2016, 1:49 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/21/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.

> On Sept. 21, 2016, 1:54 p.m., David Radley wrote:
> > I have just did git checkout master and applied the latest diff. I get compile errors. I my workspace it errors in the pom files as it is not recognising the new dependancy   
> > 	<dependency>
> >             <groupId>org.apache.atlas</groupId>
> >             <artifactId>atlas-graphdb-impls</artifactId>
> > 	    <type>pom</type>
> >             <scope>test</scope>
> >         </dependency>
> >         
> > Is there another patch I need to apply as well?
> 
> Jeff Hagelberg wrote:
>     Hmm, that project should get built with the rest of Atlas.  I'll investigate.

Did you build the entire Atlas source tree?


- Jeff


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


On Sept. 21, 2016, 1:49 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2016, 1:49 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/21/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by David Radley <da...@uk.ibm.com>.

> On Sept. 21, 2016, 1:54 p.m., David Radley wrote:
> > I have just did git checkout master and applied the latest diff. I get compile errors. I my workspace it errors in the pom files as it is not recognising the new dependancy   
> > 	<dependency>
> >             <groupId>org.apache.atlas</groupId>
> >             <artifactId>atlas-graphdb-impls</artifactId>
> > 	    <type>pom</type>
> >             <scope>test</scope>
> >         </dependency>
> >         
> > Is there another patch I need to apply as well?
> 
> Jeff Hagelberg wrote:
>     Hmm, that project should get built with the rest of Atlas.  I'll investigate.
> 
> Jeff Hagelberg wrote:
>     Did you build the entire Atlas source tree?

It was a quirk on my environment - I have managed to build it cleanly now.


- David


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


On Sept. 21, 2016, 1:49 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2016, 1:49 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/21/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by David Radley <da...@uk.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/#review149815
-----------------------------------------------------------



I have just did git checkout master and applied the latest diff. I get compile errors. I my workspace it errors in the pom files as it is not recognising the new dependancy   
	<dependency>
            <groupId>org.apache.atlas</groupId>
            <artifactId>atlas-graphdb-impls</artifactId>
	    <type>pom</type>
            <scope>test</scope>
        </dependency>
        
Is there another patch I need to apply as well?

- David Radley


On Sept. 21, 2016, 1:49 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/47810/
> -----------------------------------------------------------
> 
> (Updated Sept. 21, 2016, 1:49 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-694
>     https://issues.apache.org/jira/browse/ATLAS-694
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.
> 
> Change Summary:
> 
>    - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
>    - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
>    - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
>    - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
>    - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
> 
> Last rebase: 9/21/2016
> 
> 
> Diffs
> -----
> 
>   .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
>   addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
>   addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
>   addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
>   addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
>   addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
>   addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
>   addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
>   catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
>   catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
>   graphdb/graphdb-impls/pom.xml PRE-CREATION 
>   graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
>   pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
>   repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
>   repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
>   repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
>   repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
>   repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
>   repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
>   repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
>   repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
>   repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
>   repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
>   repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
>   repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
>   repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
>   repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
>   repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
>   repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
>   repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
>   repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
>   repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
>   repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
>   repository/src/test/resources/hive-instances.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
>   repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
>   repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
>   typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
>   webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
>   webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
>   webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
>   webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 
> 
> Diff: https://reviews.apache.org/r/47810/diff/
> 
> 
> Testing
> -------
> 
> Built entire Atlas project, ran all unit/integration tests.  No issues found.
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated Sept. 21, 2016, 1:49 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description (updated)
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  

Last rebase: 9/21/2016


Diffs
-----

  .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
  addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
  addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
  addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
  addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
  catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
  graphdb/graphdb-impls/pom.xml PRE-CREATION 
  graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
  pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
  repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
  repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
  repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
  webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated Sept. 21, 2016, 12:28 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

Changes rebased.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
   - RepositoryMetaModule - GraphBackedSearchIndexer changed to an eager singleton to force index creation to happen before we execute any gremlin queries (which happens during the type system restoration triggered by the DefaultMetadataService constructor)
   - atlas_config.py - minor change to allow Atlas to use a non-default JVM.  It now supports having the java home in ATLAS_JAVA_HOME.  If that is not set, we fall back to the previous behavior looking for JAVA_HOME and then checking the path.
   - performance : add index on __state property, fix resulting test failure - see GraphBackedSearchIndexer, GraphHelper.getVertexForProperty
   - performance - consolidate creation of built-in types into single call.  See DefaultMetadataService.
   
   
Note - the diff here is cumulative and includes the changes from ATLAS-693.  I could not figure out how to remove those.  You can, for the most part, ignore the new files under graphdb\titan0.  There are a few minor changes that have been put in since ATLAS-693, but nothing very significant.  Just changes to implement a couple new methods in the abstraction layer.

Last rebase: 6/7/2016


Diffs (updated)
-----

  .gitignore e10adbc4457f6297600f0feb01eb54718b8ec406 
  addons/falcon-bridge/pom.xml 1365bd05a388dc92f7a56c7f7427b5b85f97c7da 
  addons/hdfs-model/pom.xml 492f39cea085c6e69781e17bcbdbc3a231806df3 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 6993bdb938a6095ca24482e290393eeeb3911bcb 
  addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java ad7a4a5d09d8542a841701dfe04981f65f767c14 
  addons/sqoop-bridge/pom.xml 8c9d278d43b5979ea1743d10845905c13249f8a6 
  addons/storm-bridge/pom.xml 12c1208b448d456a923bd7309601174ddb561ba5 
  catalog/pom.xml 2f58a8f0748de65ab78eab35df6abd2fe7c336af 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java e7bb505075983371ca12d9bc1d8c6eb240c3d134 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java c8cd2842ca3090b6bbd384c773b4eb45aff149ce 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java 315ecddb861e1a1be6e0ab9b36fe4c0a52486ae8 
  graphdb/graphdb-impls/pom.xml PRE-CREATION 
  graphdb/pom.xml ad3461741d42ae83b9d3306bfa4f632ecfc06f3b 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java 89de23d225c738bcb7f4f502315525af8fa26188 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java b4234d7321d43c8ff7fc247e895226848b6e256d 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java 1f9f6ef786e38a66528189c47d5b147b13461859 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java b26ff040886c777f1892beb15f09a177f54ea279 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java ab0e798d24a2890e60109193f86944b069ff0046 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 35735e335fd8f8d47d211d813817e19d9f6a9552 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java 6c2ea263a309c6f71c9eb39fdffed39c8e4895a2 
  pom.xml ac5b0425bc7816261e7c35caad99131c79e75872 
  repository/pom.xml 663ac874518f0942c6f647ea9ee982503410492d 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java fff8925ebf3b4a7498565f4b9e33885dbb5bc61a 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java f1ef1404a45b10ee4c1c229417565e711624957f 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java c216469ceb1d89b5f6a578f9bd96f01c09cccd06 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java b17eec7e55f478bf4403a61cef7585cf06a2d9d9 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java 0c029bbb489c048d6ea19b4f4f31555c0d22f924 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 92f98c63081af335e48fc5ff076e277ba6185f60 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java b342e2700d454b0d6fba595b5cc01cd0e06bbdac 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 263ea465fda0b445a952943def9a6f7c49834f25 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java f2e40f9145eb87747430ca98337c53fc7e4864f1 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 1ce87c9d306faa43fb9d3fdc491c4bcbdd7b2bdb 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java 5c7cb2e8fa32b540f80beed40fb4f25a89d39c56 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 7a5e6a9c8e0967ad8af2192158f455dd676d20ed 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 2e0414e2cee7ca3d5958650ac6abc8a290473545 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java a94d1575365656ed5d7e025b2d71635f4623a424 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java 35504923166e619baee526d76de89d505ca61377 
  repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java PRE-CREATION 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala f774d97f878b937d38237989e437b5d826622cbd 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 10d66a94f95df677d3157d9b31e2b75f522645aa 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala d336f1ec6d7637ed6d05cd781c66ed5407632e88 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 500a305d3d1e271cd316fbae4e6790d6e5b066c6 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java bd9df62c81d325f128fe051fd23f5f253661647b 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 40dc861c37a5b1a7d2e3ab4b640e03650c7f22a3 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 550a98e274c80334ad2f1359f80c2557602d9f3f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 25415418d7b81b6c43816adbc95d55ba2f7445ec 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java 79b48b5c45fe0c1dc046dde372623b5acc68d39c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java a0af487df06575e746d13ea4cb46153f6ad5b31b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java f3680ded3834b4e8e1f52815e5e374ca974bb5d6 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3291e72b356a21391663d729c3601b939584fc9c 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperMockTest.java 5ebc2f7cbf0ec3a3bf0eb08c47cc661212b7258d 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java ad34aae6076e980689ea2235cd9fd39dac2b125b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 0a870d8ce7b678c513f1e065e46ab77167f8eadd 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 90e622a0a691c658f9f22a6ae82b9f6acc81079f 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java b7cf7e9d42d457cb2a641e42a3876244813e25b0 
  repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java 058ed4daab37d53f613adc393e774ec206540524 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 6782970958c39ce568e04d34aab6707f74fa28c9 
  repository/src/test/java/org/apache/atlas/service/StoreBackedTypeCacheMetadataServiceTest.java 8fb59c5a196d7a054cd073105c806f5025857c64 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala fa48c0e44a445f97c25182abee0f7c69832e254b 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 2dfb67a2b7c36028954304e284eab9da7326a244 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala c8b635a9f3710a0de7991f67dd919195a8dd4f7a 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  webapp/pom.xml 5ef1a7f3878a4a2c43272a3b8299644fb08a8ac3 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java a1d3187cea0422988500195191de37732c7df56f 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java d43c8cc64a89ded2348b6760eb6e7f52593c7444 
  webapp/src/test/java/org/apache/atlas/notification/NotificationHookConsumerKafkaTest.java 683a028be9b117b950d3f7962134b86ad2a805b6 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated June 8, 2016, 2:17 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description (updated)
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph) - see repository\pom.xml, other pom.xmls
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used.  See GremlinQuery.scala, GraphPersistenceStrategies.scala
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
   - RepositoryMetaModule - GraphBackedSearchIndexer changed to an eager singleton to force index creation to happen before we execute any gremlin queries (which happens during the type system restoration triggered by the DefaultMetadataService constructor)
   - atlas_config.py - minor change to allow Atlas to use a non-default JVM.  It now supports having the java home in ATLAS_JAVA_HOME.  If that is not set, we fall back to the previous behavior looking for JAVA_HOME and then checking the path.
   - performance : add index on __state property, fix resulting test failure - see GraphBackedSearchIndexer, GraphHelper.getVertexForProperty
   - performance - consolidate creation of built-in types into single call.  See DefaultMetadataService.
   
   
Note - the diff here is cumulative and includes the changes from ATLAS-693.  I could not figure out how to remove those.  You can, for the most part, ignore the new files under graphdb\titan0.  There are a few minor changes that have been put in since ATLAS-693, but nothing very significant.  Just changes to implement a couple new methods in the abstraction layer.

Last rebase: 6/7/2016


Diffs
-----

  addons/falcon-bridge/pom.xml 14c60901a6f194497ca0fb7929a032d2261f85fa 
  addons/hdfs-model/pom.xml f4033bce0fe3ea5a33cfd32ebccd47c01207dc35 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 47e72e814a421f03b00a9b7c6a13163e1b67ca14 
  addons/sqoop-bridge/pom.xml 343bb4eeae93031ab24cd48ed7b535769150d6c7 
  addons/storm-bridge/pom.xml b1a7a9b1a88442d9e65db4a01b8388c8d3522bfe 
  authorization/pom.xml 74c433bf740a346d1d907a868605e9ab457151bb 
  catalog/pom.xml 8a49d3d673a5936613d45e53479aa99a5a14517d 
  catalog/src/main/java/org/apache/atlas/catalog/DefaultTypeSystem.java a28a32b692e61377479cdd432f39ba3c60bd5238 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java ba8e0e712769afad72f7f8254ec626a1d17136e8 
  catalog/src/test/java/org/apache/atlas/catalog/query/AtlasEntityQueryTest.java 149134c8a79c802fe625d64c5e04af0d88174cfa 
  distro/src/bin/atlas_config.py fab4046345e05e0b7749ca75834c8bdcb0d01752 
  distro/src/conf/atlas-application.properties 1cdd424d8e126a6bdbf99db8bf4e5d4329e806bb 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java 71b577b5c2e8aee8fec816b9224672ebc2cad5b3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdgeDirection.java e7da1c9a5075004973ba68b8a36a2c95756e0e62 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 3c41693e531eb523f04a5c5781f1f123ab38ef07 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java f312117af9cb6ae8de21d565bfcf3b10d9bdfcc6 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java 2776b2242c4469dcae344616ccfe100633a79432 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java f0dca9a28eebd8996d55d71dcc3254cce9cd4098 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 7ee6b2831a7610e7d5b1d36ae69282a9315dc06b 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasSchemaViolationException.java fda83b807f3640c04a660001941376f41be6d9be 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java e027b6962cf27a8c2dfbbf6fcc9683fa19e00ae5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java fd20a6524c4795b4212599c2f4ced69c2bbf14c0 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java a608eb27921d4be44e639f773ace818115f39ff2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java e817cba200c6d3c4c593b242cb2317e141bab570 
  graphdb/pom.xml 666fe5a01e55d7b761d391e3ef6172f769488254 
  graphdb/titan0/pom.xml PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Edge.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphIndex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0VertexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/EdgeToAtlasEdgeFunction.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/VertexToAtlasVertexFunction.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java PRE-CREATION 
  graphdb/titan0/src/test/resources/atlas-application.properties PRE-CREATION 
  pom.xml eac95c8526011a3a86de8dd154545abec0f7bcf5 
  repository/pom.xml 533e48b8dbf8f1d80903b804ddc7da9818fe6702 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java b9689f4eb408819e91e8184d40534e983bf5d048 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java 15201dd45913539b9b3bd430b46ce6cf30c327ac 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java 39dde2af0aa86d7c9a3dc5f006c8e1660cd29d5c 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java 90718edfd261c9f30ecc6b8f2424c232fbc9a66b 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java f97b83d1b302dedc12c566a8bb4729d4cd68de75 
  repository/src/main/java/org/apache/atlas/repository/Constants.java 893f1b64fa5d38c8025e6faf86335864f77d1439 
  repository/src/main/java/org/apache/atlas/repository/MetadataRepository.java 43e9f85163e8bb453601ca502d9e7a32c757b037 
  repository/src/main/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepository.java 22d71df8af166bd88130f1f2e94ed3bbabbc16f5 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasEdgeLabel.java d905c012a58ae4f53012f217253bf2495550da33 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 91f9bd008a6939dfe78656f5c1845637a30ee9eb 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java 37cacb05e65d6b1f537bd208208c8c4b9b501645 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 0d82d900bd750b1ca91c24623384fb2547790efe 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java c385df35c0ed37490033601487bf59eaf7dc677f 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 4f6d0118072380342f5ea302d0aaf7902784849a 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java e240fb68ed9547ef6ef4cb773a12b2594dcffa09 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 2cc1a50e2ea139c3a462c918b94945fff602cf17 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 4c1f5591f4adead41c3336e64b0bc956836f7edb 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java 5ed9e02eb85ec25b63540cab40d148914d410786 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java c1af0f691e9d26a3102fece20acc904bb85702d6 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/Expressions.scala 240575087468632c52512aea94759f8ace3943a0 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 34d101a2704e28a46426fdf6b67e7c36fde0507a 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 7de03c32edf16c1676db94179266e02928e01f35 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 73981c04d410a7292de357d9f63b6f3b3d241ffa 
  repository/src/main/scala/org/apache/atlas/query/QueryParser.scala 60b57d9a4d0181cd1e3c45a4e6a928d15ed499db 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/main/scala/org/apache/atlas/query/TypeUtils.scala 5a64c53bdb94174bf5699d9e034960f42450f696 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java d1f9430124ab4071971950bf4acd2f09dd000da0 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java 345e874942cf047ae8b6467f2981c7cf2317707c 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 5e7de88559dbbf2460c819ba7470a2cc287ca8dc 
  repository/src/test/java/org/apache/atlas/repository/audit/AuditRepositoryTestBase.java f6994048b7f92ba086a1b0949030897d1cacff41 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 677eb392c4aa7674e27c48f86a44e953c80144c7 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 449e066a167ba4546b118a77c8e3de5fd99f077b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 2d1c33a9bef5dc9179225fa7ce7228eebc5fdf2b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java cc6026461bcd38b83dde0bcec2e835f5824e894f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java 90bb635126a02cd38c045bd5332499c4481d3751 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java 94dd29862cd37fd784a699fb45640e36992cff88 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3d9d45a1f6695a0ee1af8c42fb24dcfa41dfba79 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 2f02ae28b2947ce7f7955c00bf9ca88ab3ca607a 
  repository/src/test/java/org/apache/atlas/repository/graph/TitanGraphProviderTest.java 6fc700823800eaa943a34afecb2c2e6fba50637a 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 961442bbcaff86b472a876e6c348aa9e65c1efca 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e6dd23081715458471d50f44f45ccd8374cbffda 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala b23c0f60ace59fa15886c94f35e35d3113872783 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 67ce12bf31dd6decf1a1323924303a066f90a4c1 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala 0e0ac8633a256dc7c8966c2b8d52eb942b52e1c6 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  repository/src/test/titan0-resources/atlas-application.properties PRE-CREATION 
  repository/src/test/titan1-resources/atlas-application.properties PRE-CREATION 
  src/build/checkstyle-suppressions.xml 0025360552a32ffa0a5aa5696f27921a4752513f 
  titan/pom.xml 09006d9dd5e21aa24f53524aa42a3fcd6f3d9fe6 
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseStoreManager.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseTransaction.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/TableMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediator.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java  
  titan/src/test/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediatorTest.java  
  typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java 6fb2087a7cbeb6eefb0dd15b9a3c0c049b6b857b 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/AbstractDataType.java dc9cdf2567b45b35b324ecfbb5afcc7921409b8f 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorter.java aaec05c8c3913b6974332668ebe5af31332cd121 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/utils/TypesUtil.java ef8448d9f278c45f0a9c7c6045338cd056d23d08 
  typesystem/src/main/resources/atlas-application.properties 3318ff306a8b8ab5e320129a8450d144215f009f 
  typesystem/src/main/scala/org/apache/atlas/typesystem/json/TypesSerialization.scala 5618938e4bd9f9ef934e89bf2bf3199073294706 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/ClassTest.java daecdd78c952747964885d4cb8cdfb59727ffee5 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorterTest.java 19bdccfc6baf503f3144fce8fe0b85914693d054 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/TypeSystemTest.java 574e0f9811d195cd34e12a9f23b999568d54a1c7 
  typesystem/src/test/scala/org/apache/atlas/typesystem/json/TypesSerializationTest.scala cfd4bdb26482c187c4e80f110b7349df8b524e6e 
  webapp/pom.xml cce6dd6f073b15732d2aa5d26fd4aed090ddf65d 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java 010fa2aa979e12063a1d78c8db4ad7519c3ca973 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java 2a655383d6265213933beff2a884953e51fed889 
  webapp/src/main/java/org/apache/atlas/web/resources/RexsterGraphResource.java 150f913d881138c7afeb87881197ee0f1e7d3194 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated June 7, 2016, 2:49 a.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

Added missing license headers.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph)
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - search indexer enhanced to wait for all indices to be enabled
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
   - RepositoryMetaModule - GraphBackedSearchIndexer changed to an eager singleton to force index creation to happen before we execute any gremlin queries (which happens during the type system restoration triggered by the DefaultMetadataService constructor)
   - atlas_config.py - minor change to allow Atlas to use a non-default JVM.  It now supports having the java home in ATLAS_JAVA_HOME.  If that is not set, we fall back to the previous behavior looking for JAVA_HOME and then checking the path.
   
   
Note - the diff here is cumulative and includes the changes from ATLAS-693.  I could not figure out how to remove those.  You can, for the most part, ignore the new files under graphdb\titan0.  There are a few minor changes that have been put in since ATLAS-693, but nothing very significant.  Just changes to implement a couple new methods in the abstraction layer.

Last rebase: 6/6/2016


Diffs (updated)
-----

  addons/falcon-bridge/pom.xml 14c60901a6f194497ca0fb7929a032d2261f85fa 
  addons/hdfs-model/pom.xml f4033bce0fe3ea5a33cfd32ebccd47c01207dc35 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 47e72e814a421f03b00a9b7c6a13163e1b67ca14 
  addons/sqoop-bridge/pom.xml 343bb4eeae93031ab24cd48ed7b535769150d6c7 
  addons/storm-bridge/pom.xml b1a7a9b1a88442d9e65db4a01b8388c8d3522bfe 
  authorization/pom.xml 74c433bf740a346d1d907a868605e9ab457151bb 
  catalog/pom.xml 8a49d3d673a5936613d45e53479aa99a5a14517d 
  catalog/src/main/java/org/apache/atlas/catalog/DefaultTypeSystem.java a28a32b692e61377479cdd432f39ba3c60bd5238 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java ba8e0e712769afad72f7f8254ec626a1d17136e8 
  catalog/src/test/java/org/apache/atlas/catalog/query/AtlasEntityQueryTest.java 149134c8a79c802fe625d64c5e04af0d88174cfa 
  distro/src/bin/atlas_config.py fab4046345e05e0b7749ca75834c8bdcb0d01752 
  distro/src/conf/atlas-application.properties 1cdd424d8e126a6bdbf99db8bf4e5d4329e806bb 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java 71b577b5c2e8aee8fec816b9224672ebc2cad5b3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdgeDirection.java e7da1c9a5075004973ba68b8a36a2c95756e0e62 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 3c41693e531eb523f04a5c5781f1f123ab38ef07 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java f312117af9cb6ae8de21d565bfcf3b10d9bdfcc6 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java 2776b2242c4469dcae344616ccfe100633a79432 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java f0dca9a28eebd8996d55d71dcc3254cce9cd4098 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 7ee6b2831a7610e7d5b1d36ae69282a9315dc06b 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasSchemaViolationException.java fda83b807f3640c04a660001941376f41be6d9be 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java e027b6962cf27a8c2dfbbf6fcc9683fa19e00ae5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java fd20a6524c4795b4212599c2f4ced69c2bbf14c0 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java a608eb27921d4be44e639f773ace818115f39ff2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java e817cba200c6d3c4c593b242cb2317e141bab570 
  graphdb/pom.xml 666fe5a01e55d7b761d391e3ef6172f769488254 
  graphdb/titan0/pom.xml PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Edge.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphIndex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0VertexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/EdgeToAtlasEdgeFunction.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/VertexToAtlasVertexFunction.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java PRE-CREATION 
  graphdb/titan0/src/test/resources/atlas-application.properties PRE-CREATION 
  pom.xml eac95c8526011a3a86de8dd154545abec0f7bcf5 
  repository/pom.xml 533e48b8dbf8f1d80903b804ddc7da9818fe6702 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java b9689f4eb408819e91e8184d40534e983bf5d048 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java 15201dd45913539b9b3bd430b46ce6cf30c327ac 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java 39dde2af0aa86d7c9a3dc5f006c8e1660cd29d5c 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java 90718edfd261c9f30ecc6b8f2424c232fbc9a66b 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java f97b83d1b302dedc12c566a8bb4729d4cd68de75 
  repository/src/main/java/org/apache/atlas/repository/Constants.java 893f1b64fa5d38c8025e6faf86335864f77d1439 
  repository/src/main/java/org/apache/atlas/repository/MetadataRepository.java 43e9f85163e8bb453601ca502d9e7a32c757b037 
  repository/src/main/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepository.java 22d71df8af166bd88130f1f2e94ed3bbabbc16f5 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasEdgeLabel.java d905c012a58ae4f53012f217253bf2495550da33 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 91f9bd008a6939dfe78656f5c1845637a30ee9eb 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java 37cacb05e65d6b1f537bd208208c8c4b9b501645 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 0d82d900bd750b1ca91c24623384fb2547790efe 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java c385df35c0ed37490033601487bf59eaf7dc677f 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 4f6d0118072380342f5ea302d0aaf7902784849a 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java e240fb68ed9547ef6ef4cb773a12b2594dcffa09 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 2cc1a50e2ea139c3a462c918b94945fff602cf17 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 4c1f5591f4adead41c3336e64b0bc956836f7edb 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java 5ed9e02eb85ec25b63540cab40d148914d410786 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java c1af0f691e9d26a3102fece20acc904bb85702d6 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/Expressions.scala 240575087468632c52512aea94759f8ace3943a0 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 34d101a2704e28a46426fdf6b67e7c36fde0507a 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 7de03c32edf16c1676db94179266e02928e01f35 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 73981c04d410a7292de357d9f63b6f3b3d241ffa 
  repository/src/main/scala/org/apache/atlas/query/QueryParser.scala 60b57d9a4d0181cd1e3c45a4e6a928d15ed499db 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/main/scala/org/apache/atlas/query/TypeUtils.scala 5a64c53bdb94174bf5699d9e034960f42450f696 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java d1f9430124ab4071971950bf4acd2f09dd000da0 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java 345e874942cf047ae8b6467f2981c7cf2317707c 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 5e7de88559dbbf2460c819ba7470a2cc287ca8dc 
  repository/src/test/java/org/apache/atlas/repository/audit/AuditRepositoryTestBase.java f6994048b7f92ba086a1b0949030897d1cacff41 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 677eb392c4aa7674e27c48f86a44e953c80144c7 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 449e066a167ba4546b118a77c8e3de5fd99f077b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 2d1c33a9bef5dc9179225fa7ce7228eebc5fdf2b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java cc6026461bcd38b83dde0bcec2e835f5824e894f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java 90bb635126a02cd38c045bd5332499c4481d3751 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java 94dd29862cd37fd784a699fb45640e36992cff88 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3d9d45a1f6695a0ee1af8c42fb24dcfa41dfba79 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 2f02ae28b2947ce7f7955c00bf9ca88ab3ca607a 
  repository/src/test/java/org/apache/atlas/repository/graph/TitanGraphProviderTest.java 6fc700823800eaa943a34afecb2c2e6fba50637a 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 961442bbcaff86b472a876e6c348aa9e65c1efca 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e6dd23081715458471d50f44f45ccd8374cbffda 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala b23c0f60ace59fa15886c94f35e35d3113872783 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 67ce12bf31dd6decf1a1323924303a066f90a4c1 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala 0e0ac8633a256dc7c8966c2b8d52eb942b52e1c6 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  repository/src/test/titan0-resources/atlas-application.properties PRE-CREATION 
  repository/src/test/titan1-resources/atlas-application.properties PRE-CREATION 
  src/build/checkstyle-suppressions.xml 0025360552a32ffa0a5aa5696f27921a4752513f 
  titan/pom.xml 09006d9dd5e21aa24f53524aa42a3fcd6f3d9fe6 
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseStoreManager.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseTransaction.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/TableMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediator.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java  
  titan/src/test/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediatorTest.java  
  typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java 6fb2087a7cbeb6eefb0dd15b9a3c0c049b6b857b 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/AbstractDataType.java dc9cdf2567b45b35b324ecfbb5afcc7921409b8f 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorter.java aaec05c8c3913b6974332668ebe5af31332cd121 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/utils/TypesUtil.java ef8448d9f278c45f0a9c7c6045338cd056d23d08 
  typesystem/src/main/resources/atlas-application.properties 3318ff306a8b8ab5e320129a8450d144215f009f 
  typesystem/src/main/scala/org/apache/atlas/typesystem/json/TypesSerialization.scala 5618938e4bd9f9ef934e89bf2bf3199073294706 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/ClassTest.java daecdd78c952747964885d4cb8cdfb59727ffee5 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorterTest.java 19bdccfc6baf503f3144fce8fe0b85914693d054 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/TypeSystemTest.java 574e0f9811d195cd34e12a9f23b999568d54a1c7 
  typesystem/src/test/scala/org/apache/atlas/typesystem/json/TypesSerializationTest.scala cfd4bdb26482c187c4e80f110b7349df8b524e6e 
  webapp/pom.xml cce6dd6f073b15732d2aa5d26fd4aed090ddf65d 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java 010fa2aa979e12063a1d78c8db4ad7519c3ca973 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java 2a655383d6265213933beff2a884953e51fed889 
  webapp/src/main/java/org/apache/atlas/web/resources/RexsterGraphResource.java 150f913d881138c7afeb87881197ee0f1e7d3194 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated June 7, 2016, 2:44 a.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

Fixed merge-related test failure.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph)
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - search indexer enhanced to wait for all indices to be enabled
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
   - RepositoryMetaModule - GraphBackedSearchIndexer changed to an eager singleton to force index creation to happen before we execute any gremlin queries (which happens during the type system restoration triggered by the DefaultMetadataService constructor)
   - atlas_config.py - minor change to allow Atlas to use a non-default JVM.  It now supports having the java home in ATLAS_JAVA_HOME.  If that is not set, we fall back to the previous behavior looking for JAVA_HOME and then checking the path.
   
   
Note - the diff here is cumulative and includes the changes from ATLAS-693.  I could not figure out how to remove those.  You can, for the most part, ignore the new files under graphdb\titan0.  There are a few minor changes that have been put in since ATLAS-693, but nothing very significant.  Just changes to implement a couple new methods in the abstraction layer.

Last rebase: 6/6/2016


Diffs (updated)
-----

  addons/falcon-bridge/pom.xml 14c60901a6f194497ca0fb7929a032d2261f85fa 
  addons/hdfs-model/pom.xml f4033bce0fe3ea5a33cfd32ebccd47c01207dc35 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 47e72e814a421f03b00a9b7c6a13163e1b67ca14 
  addons/sqoop-bridge/pom.xml 343bb4eeae93031ab24cd48ed7b535769150d6c7 
  addons/storm-bridge/pom.xml b1a7a9b1a88442d9e65db4a01b8388c8d3522bfe 
  authorization/pom.xml 74c433bf740a346d1d907a868605e9ab457151bb 
  catalog/pom.xml 8a49d3d673a5936613d45e53479aa99a5a14517d 
  catalog/src/main/java/org/apache/atlas/catalog/DefaultTypeSystem.java a28a32b692e61377479cdd432f39ba3c60bd5238 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java ba8e0e712769afad72f7f8254ec626a1d17136e8 
  catalog/src/test/java/org/apache/atlas/catalog/query/AtlasEntityQueryTest.java 149134c8a79c802fe625d64c5e04af0d88174cfa 
  distro/src/bin/atlas_config.py fab4046345e05e0b7749ca75834c8bdcb0d01752 
  distro/src/conf/atlas-application.properties 1cdd424d8e126a6bdbf99db8bf4e5d4329e806bb 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java 71b577b5c2e8aee8fec816b9224672ebc2cad5b3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdgeDirection.java e7da1c9a5075004973ba68b8a36a2c95756e0e62 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 3c41693e531eb523f04a5c5781f1f123ab38ef07 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java f312117af9cb6ae8de21d565bfcf3b10d9bdfcc6 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java 2776b2242c4469dcae344616ccfe100633a79432 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java f0dca9a28eebd8996d55d71dcc3254cce9cd4098 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 7ee6b2831a7610e7d5b1d36ae69282a9315dc06b 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasSchemaViolationException.java fda83b807f3640c04a660001941376f41be6d9be 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java e027b6962cf27a8c2dfbbf6fcc9683fa19e00ae5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java fd20a6524c4795b4212599c2f4ced69c2bbf14c0 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java a608eb27921d4be44e639f773ace818115f39ff2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java e817cba200c6d3c4c593b242cb2317e141bab570 
  graphdb/pom.xml 666fe5a01e55d7b761d391e3ef6172f769488254 
  graphdb/titan0/pom.xml PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Edge.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphIndex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0VertexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/EdgeToAtlasEdgeFunction.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/VertexToAtlasVertexFunction.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java PRE-CREATION 
  graphdb/titan0/src/test/resources/atlas-application.properties PRE-CREATION 
  pom.xml eac95c8526011a3a86de8dd154545abec0f7bcf5 
  repository/pom.xml 533e48b8dbf8f1d80903b804ddc7da9818fe6702 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java b9689f4eb408819e91e8184d40534e983bf5d048 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java 15201dd45913539b9b3bd430b46ce6cf30c327ac 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java 39dde2af0aa86d7c9a3dc5f006c8e1660cd29d5c 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java 90718edfd261c9f30ecc6b8f2424c232fbc9a66b 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java f97b83d1b302dedc12c566a8bb4729d4cd68de75 
  repository/src/main/java/org/apache/atlas/repository/Constants.java 893f1b64fa5d38c8025e6faf86335864f77d1439 
  repository/src/main/java/org/apache/atlas/repository/MetadataRepository.java 43e9f85163e8bb453601ca502d9e7a32c757b037 
  repository/src/main/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepository.java 22d71df8af166bd88130f1f2e94ed3bbabbc16f5 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasEdgeLabel.java d905c012a58ae4f53012f217253bf2495550da33 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 91f9bd008a6939dfe78656f5c1845637a30ee9eb 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java 37cacb05e65d6b1f537bd208208c8c4b9b501645 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 0d82d900bd750b1ca91c24623384fb2547790efe 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java c385df35c0ed37490033601487bf59eaf7dc677f 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 4f6d0118072380342f5ea302d0aaf7902784849a 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java e240fb68ed9547ef6ef4cb773a12b2594dcffa09 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 2cc1a50e2ea139c3a462c918b94945fff602cf17 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 4c1f5591f4adead41c3336e64b0bc956836f7edb 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java 5ed9e02eb85ec25b63540cab40d148914d410786 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java c1af0f691e9d26a3102fece20acc904bb85702d6 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/Expressions.scala 240575087468632c52512aea94759f8ace3943a0 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 34d101a2704e28a46426fdf6b67e7c36fde0507a 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 7de03c32edf16c1676db94179266e02928e01f35 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 73981c04d410a7292de357d9f63b6f3b3d241ffa 
  repository/src/main/scala/org/apache/atlas/query/QueryParser.scala 60b57d9a4d0181cd1e3c45a4e6a928d15ed499db 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/main/scala/org/apache/atlas/query/TypeUtils.scala 5a64c53bdb94174bf5699d9e034960f42450f696 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java d1f9430124ab4071971950bf4acd2f09dd000da0 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java 345e874942cf047ae8b6467f2981c7cf2317707c 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 5e7de88559dbbf2460c819ba7470a2cc287ca8dc 
  repository/src/test/java/org/apache/atlas/repository/audit/AuditRepositoryTestBase.java f6994048b7f92ba086a1b0949030897d1cacff41 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 677eb392c4aa7674e27c48f86a44e953c80144c7 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 449e066a167ba4546b118a77c8e3de5fd99f077b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 2d1c33a9bef5dc9179225fa7ce7228eebc5fdf2b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java cc6026461bcd38b83dde0bcec2e835f5824e894f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java 90bb635126a02cd38c045bd5332499c4481d3751 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java 94dd29862cd37fd784a699fb45640e36992cff88 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3d9d45a1f6695a0ee1af8c42fb24dcfa41dfba79 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 2f02ae28b2947ce7f7955c00bf9ca88ab3ca607a 
  repository/src/test/java/org/apache/atlas/repository/graph/TitanGraphProviderTest.java 6fc700823800eaa943a34afecb2c2e6fba50637a 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 961442bbcaff86b472a876e6c348aa9e65c1efca 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e6dd23081715458471d50f44f45ccd8374cbffda 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala b23c0f60ace59fa15886c94f35e35d3113872783 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 67ce12bf31dd6decf1a1323924303a066f90a4c1 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala 0e0ac8633a256dc7c8966c2b8d52eb942b52e1c6 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  repository/src/test/titan0-resources/atlas-application.properties PRE-CREATION 
  repository/src/test/titan1-resources/atlas-application.properties PRE-CREATION 
  src/build/checkstyle-suppressions.xml 0025360552a32ffa0a5aa5696f27921a4752513f 
  titan/pom.xml 09006d9dd5e21aa24f53524aa42a3fcd6f3d9fe6 
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseStoreManager.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseTransaction.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/TableMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediator.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java  
  titan/src/test/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediatorTest.java  
  typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java 6fb2087a7cbeb6eefb0dd15b9a3c0c049b6b857b 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/AbstractDataType.java dc9cdf2567b45b35b324ecfbb5afcc7921409b8f 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorter.java aaec05c8c3913b6974332668ebe5af31332cd121 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/utils/TypesUtil.java ef8448d9f278c45f0a9c7c6045338cd056d23d08 
  typesystem/src/main/resources/atlas-application.properties 3318ff306a8b8ab5e320129a8450d144215f009f 
  typesystem/src/main/scala/org/apache/atlas/typesystem/json/TypesSerialization.scala 5618938e4bd9f9ef934e89bf2bf3199073294706 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/ClassTest.java daecdd78c952747964885d4cb8cdfb59727ffee5 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorterTest.java 19bdccfc6baf503f3144fce8fe0b85914693d054 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/TypeSystemTest.java 574e0f9811d195cd34e12a9f23b999568d54a1c7 
  typesystem/src/test/scala/org/apache/atlas/typesystem/json/TypesSerializationTest.scala cfd4bdb26482c187c4e80f110b7349df8b524e6e 
  webapp/pom.xml cce6dd6f073b15732d2aa5d26fd4aed090ddf65d 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java 010fa2aa979e12063a1d78c8db4ad7519c3ca973 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java 2a655383d6265213933beff2a884953e51fed889 
  webapp/src/main/java/org/apache/atlas/web/resources/RexsterGraphResource.java 150f913d881138c7afeb87881197ee0f1e7d3194 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated June 6, 2016, 8:44 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

Removed @author tag


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph)
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - search indexer enhanced to wait for all indices to be enabled
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
   - RepositoryMetaModule - GraphBackedSearchIndexer changed to an eager singleton to force index creation to happen before we execute any gremlin queries (which happens during the type system restoration triggered by the DefaultMetadataService constructor)
   - atlas_config.py - minor change to allow Atlas to use a non-default JVM.  It now supports having the java home in ATLAS_JAVA_HOME.  If that is not set, we fall back to the previous behavior looking for JAVA_HOME and then checking the path.
   
   
Note - the diff here is cumulative and includes the changes from ATLAS-693.  I could not figure out how to remove those.  You can, for the most part, ignore the new files under graphdb\titan0.  There are a few minor changes that have been put in since ATLAS-693, but nothing very significant.  Just changes to implement a couple new methods in the abstraction layer.

Last rebase: 6/6/2016


Diffs (updated)
-----

  addons/falcon-bridge/pom.xml 14c60901a6f194497ca0fb7929a032d2261f85fa 
  addons/hdfs-model/pom.xml f4033bce0fe3ea5a33cfd32ebccd47c01207dc35 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 47e72e814a421f03b00a9b7c6a13163e1b67ca14 
  addons/sqoop-bridge/pom.xml 343bb4eeae93031ab24cd48ed7b535769150d6c7 
  addons/storm-bridge/pom.xml b1a7a9b1a88442d9e65db4a01b8388c8d3522bfe 
  authorization/pom.xml 74c433bf740a346d1d907a868605e9ab457151bb 
  catalog/pom.xml 8a49d3d673a5936613d45e53479aa99a5a14517d 
  catalog/src/main/java/org/apache/atlas/catalog/DefaultTypeSystem.java a28a32b692e61377479cdd432f39ba3c60bd5238 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java ba8e0e712769afad72f7f8254ec626a1d17136e8 
  catalog/src/test/java/org/apache/atlas/catalog/query/AtlasEntityQueryTest.java 149134c8a79c802fe625d64c5e04af0d88174cfa 
  distro/src/bin/atlas_config.py fab4046345e05e0b7749ca75834c8bdcb0d01752 
  distro/src/conf/atlas-application.properties 1cdd424d8e126a6bdbf99db8bf4e5d4329e806bb 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java 71b577b5c2e8aee8fec816b9224672ebc2cad5b3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdgeDirection.java e7da1c9a5075004973ba68b8a36a2c95756e0e62 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 3c41693e531eb523f04a5c5781f1f123ab38ef07 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java f312117af9cb6ae8de21d565bfcf3b10d9bdfcc6 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java 2776b2242c4469dcae344616ccfe100633a79432 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java f0dca9a28eebd8996d55d71dcc3254cce9cd4098 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 7ee6b2831a7610e7d5b1d36ae69282a9315dc06b 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasSchemaViolationException.java fda83b807f3640c04a660001941376f41be6d9be 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java e027b6962cf27a8c2dfbbf6fcc9683fa19e00ae5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java fd20a6524c4795b4212599c2f4ced69c2bbf14c0 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java a608eb27921d4be44e639f773ace818115f39ff2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java e817cba200c6d3c4c593b242cb2317e141bab570 
  graphdb/pom.xml 666fe5a01e55d7b761d391e3ef6172f769488254 
  graphdb/titan0/pom.xml PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Edge.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphIndex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0VertexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/EdgeToAtlasEdgeFunction.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/VertexToAtlasVertexFunction.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java PRE-CREATION 
  graphdb/titan0/src/test/resources/atlas-application.properties PRE-CREATION 
  pom.xml eac95c8526011a3a86de8dd154545abec0f7bcf5 
  repository/pom.xml 533e48b8dbf8f1d80903b804ddc7da9818fe6702 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java b9689f4eb408819e91e8184d40534e983bf5d048 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java 15201dd45913539b9b3bd430b46ce6cf30c327ac 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java 39dde2af0aa86d7c9a3dc5f006c8e1660cd29d5c 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java 90718edfd261c9f30ecc6b8f2424c232fbc9a66b 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java f97b83d1b302dedc12c566a8bb4729d4cd68de75 
  repository/src/main/java/org/apache/atlas/repository/Constants.java 893f1b64fa5d38c8025e6faf86335864f77d1439 
  repository/src/main/java/org/apache/atlas/repository/MetadataRepository.java 43e9f85163e8bb453601ca502d9e7a32c757b037 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasEdgeLabel.java d905c012a58ae4f53012f217253bf2495550da33 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 91f9bd008a6939dfe78656f5c1845637a30ee9eb 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java 37cacb05e65d6b1f537bd208208c8c4b9b501645 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 0d82d900bd750b1ca91c24623384fb2547790efe 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java c385df35c0ed37490033601487bf59eaf7dc677f 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 4f6d0118072380342f5ea302d0aaf7902784849a 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java e240fb68ed9547ef6ef4cb773a12b2594dcffa09 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 2cc1a50e2ea139c3a462c918b94945fff602cf17 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 4c1f5591f4adead41c3336e64b0bc956836f7edb 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java 5ed9e02eb85ec25b63540cab40d148914d410786 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java c1af0f691e9d26a3102fece20acc904bb85702d6 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/Expressions.scala 240575087468632c52512aea94759f8ace3943a0 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 34d101a2704e28a46426fdf6b67e7c36fde0507a 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 7de03c32edf16c1676db94179266e02928e01f35 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 73981c04d410a7292de357d9f63b6f3b3d241ffa 
  repository/src/main/scala/org/apache/atlas/query/QueryParser.scala 60b57d9a4d0181cd1e3c45a4e6a928d15ed499db 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/main/scala/org/apache/atlas/query/TypeUtils.scala 5a64c53bdb94174bf5699d9e034960f42450f696 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java d1f9430124ab4071971950bf4acd2f09dd000da0 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java 345e874942cf047ae8b6467f2981c7cf2317707c 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 5e7de88559dbbf2460c819ba7470a2cc287ca8dc 
  repository/src/test/java/org/apache/atlas/repository/audit/AuditRepositoryTestBase.java f6994048b7f92ba086a1b0949030897d1cacff41 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 677eb392c4aa7674e27c48f86a44e953c80144c7 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 449e066a167ba4546b118a77c8e3de5fd99f077b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 2d1c33a9bef5dc9179225fa7ce7228eebc5fdf2b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java cc6026461bcd38b83dde0bcec2e835f5824e894f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java 90bb635126a02cd38c045bd5332499c4481d3751 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java 94dd29862cd37fd784a699fb45640e36992cff88 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3d9d45a1f6695a0ee1af8c42fb24dcfa41dfba79 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 2f02ae28b2947ce7f7955c00bf9ca88ab3ca607a 
  repository/src/test/java/org/apache/atlas/repository/graph/TitanGraphProviderTest.java 6fc700823800eaa943a34afecb2c2e6fba50637a 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 961442bbcaff86b472a876e6c348aa9e65c1efca 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e6dd23081715458471d50f44f45ccd8374cbffda 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala b23c0f60ace59fa15886c94f35e35d3113872783 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 67ce12bf31dd6decf1a1323924303a066f90a4c1 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala 0e0ac8633a256dc7c8966c2b8d52eb942b52e1c6 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  repository/src/test/titan0-resources/atlas-application.properties PRE-CREATION 
  repository/src/test/titan1-resources/atlas-application.properties PRE-CREATION 
  src/build/checkstyle-suppressions.xml 0025360552a32ffa0a5aa5696f27921a4752513f 
  titan/pom.xml 09006d9dd5e21aa24f53524aa42a3fcd6f3d9fe6 
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseStoreManager.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseTransaction.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/TableMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediator.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java  
  titan/src/test/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediatorTest.java  
  typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java 6fb2087a7cbeb6eefb0dd15b9a3c0c049b6b857b 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/AbstractDataType.java dc9cdf2567b45b35b324ecfbb5afcc7921409b8f 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorter.java aaec05c8c3913b6974332668ebe5af31332cd121 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/utils/TypesUtil.java ef8448d9f278c45f0a9c7c6045338cd056d23d08 
  typesystem/src/main/resources/atlas-application.properties 3318ff306a8b8ab5e320129a8450d144215f009f 
  typesystem/src/main/scala/org/apache/atlas/typesystem/json/TypesSerialization.scala 5618938e4bd9f9ef934e89bf2bf3199073294706 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/ClassTest.java daecdd78c952747964885d4cb8cdfb59727ffee5 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorterTest.java 19bdccfc6baf503f3144fce8fe0b85914693d054 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/TypeSystemTest.java 574e0f9811d195cd34e12a9f23b999568d54a1c7 
  typesystem/src/test/scala/org/apache/atlas/typesystem/json/TypesSerializationTest.scala cfd4bdb26482c187c4e80f110b7349df8b524e6e 
  webapp/pom.xml cce6dd6f073b15732d2aa5d26fd4aed090ddf65d 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java 010fa2aa979e12063a1d78c8db4ad7519c3ca973 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java 2a655383d6265213933beff2a884953e51fed889 
  webapp/src/main/java/org/apache/atlas/web/resources/RexsterGraphResource.java 150f913d881138c7afeb87881197ee0f1e7d3194 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated June 6, 2016, 8:35 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

Fix issue in rat license check.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph)
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - search indexer enhanced to wait for all indices to be enabled
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
   - RepositoryMetaModule - GraphBackedSearchIndexer changed to an eager singleton to force index creation to happen before we execute any gremlin queries (which happens during the type system restoration triggered by the DefaultMetadataService constructor)
   - atlas_config.py - minor change to allow Atlas to use a non-default JVM.  It now supports having the java home in ATLAS_JAVA_HOME.  If that is not set, we fall back to the previous behavior looking for JAVA_HOME and then checking the path.
   
   
Note - the diff here is cumulative and includes the changes from ATLAS-693.  I could not figure out how to remove those.  You can, for the most part, ignore the new files under graphdb\titan0.  There are a few minor changes that have been put in since ATLAS-693, but nothing very significant.  Just changes to implement a couple new methods in the abstraction layer.

Last rebase: 6/6/2016


Diffs (updated)
-----

  addons/falcon-bridge/pom.xml 14c60901a6f194497ca0fb7929a032d2261f85fa 
  addons/hdfs-model/pom.xml f4033bce0fe3ea5a33cfd32ebccd47c01207dc35 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 47e72e814a421f03b00a9b7c6a13163e1b67ca14 
  addons/sqoop-bridge/pom.xml 343bb4eeae93031ab24cd48ed7b535769150d6c7 
  addons/storm-bridge/pom.xml b1a7a9b1a88442d9e65db4a01b8388c8d3522bfe 
  authorization/pom.xml 74c433bf740a346d1d907a868605e9ab457151bb 
  catalog/pom.xml 8a49d3d673a5936613d45e53479aa99a5a14517d 
  catalog/src/main/java/org/apache/atlas/catalog/DefaultTypeSystem.java a28a32b692e61377479cdd432f39ba3c60bd5238 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java ba8e0e712769afad72f7f8254ec626a1d17136e8 
  catalog/src/test/java/org/apache/atlas/catalog/query/AtlasEntityQueryTest.java 149134c8a79c802fe625d64c5e04af0d88174cfa 
  distro/src/bin/atlas_config.py fab4046345e05e0b7749ca75834c8bdcb0d01752 
  distro/src/conf/atlas-application.properties 1cdd424d8e126a6bdbf99db8bf4e5d4329e806bb 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java 71b577b5c2e8aee8fec816b9224672ebc2cad5b3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdgeDirection.java e7da1c9a5075004973ba68b8a36a2c95756e0e62 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 3c41693e531eb523f04a5c5781f1f123ab38ef07 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java f312117af9cb6ae8de21d565bfcf3b10d9bdfcc6 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java 2776b2242c4469dcae344616ccfe100633a79432 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java f0dca9a28eebd8996d55d71dcc3254cce9cd4098 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 7ee6b2831a7610e7d5b1d36ae69282a9315dc06b 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasSchemaViolationException.java fda83b807f3640c04a660001941376f41be6d9be 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java e027b6962cf27a8c2dfbbf6fcc9683fa19e00ae5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java fd20a6524c4795b4212599c2f4ced69c2bbf14c0 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java a608eb27921d4be44e639f773ace818115f39ff2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java e817cba200c6d3c4c593b242cb2317e141bab570 
  graphdb/pom.xml 666fe5a01e55d7b761d391e3ef6172f769488254 
  graphdb/titan0/pom.xml PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Edge.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphIndex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0VertexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/EdgeToAtlasEdgeFunction.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/VertexToAtlasVertexFunction.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java PRE-CREATION 
  graphdb/titan0/src/test/resources/atlas-application.properties PRE-CREATION 
  pom.xml eac95c8526011a3a86de8dd154545abec0f7bcf5 
  repository/pom.xml 533e48b8dbf8f1d80903b804ddc7da9818fe6702 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java b9689f4eb408819e91e8184d40534e983bf5d048 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java 15201dd45913539b9b3bd430b46ce6cf30c327ac 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java 39dde2af0aa86d7c9a3dc5f006c8e1660cd29d5c 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java 90718edfd261c9f30ecc6b8f2424c232fbc9a66b 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java f97b83d1b302dedc12c566a8bb4729d4cd68de75 
  repository/src/main/java/org/apache/atlas/repository/Constants.java 893f1b64fa5d38c8025e6faf86335864f77d1439 
  repository/src/main/java/org/apache/atlas/repository/MetadataRepository.java 43e9f85163e8bb453601ca502d9e7a32c757b037 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasEdgeLabel.java d905c012a58ae4f53012f217253bf2495550da33 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 91f9bd008a6939dfe78656f5c1845637a30ee9eb 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java 37cacb05e65d6b1f537bd208208c8c4b9b501645 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 0d82d900bd750b1ca91c24623384fb2547790efe 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java c385df35c0ed37490033601487bf59eaf7dc677f 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 4f6d0118072380342f5ea302d0aaf7902784849a 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java e240fb68ed9547ef6ef4cb773a12b2594dcffa09 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 2cc1a50e2ea139c3a462c918b94945fff602cf17 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 4c1f5591f4adead41c3336e64b0bc956836f7edb 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java 5ed9e02eb85ec25b63540cab40d148914d410786 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java c1af0f691e9d26a3102fece20acc904bb85702d6 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/Expressions.scala 240575087468632c52512aea94759f8ace3943a0 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 34d101a2704e28a46426fdf6b67e7c36fde0507a 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 7de03c32edf16c1676db94179266e02928e01f35 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 73981c04d410a7292de357d9f63b6f3b3d241ffa 
  repository/src/main/scala/org/apache/atlas/query/QueryParser.scala 60b57d9a4d0181cd1e3c45a4e6a928d15ed499db 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/main/scala/org/apache/atlas/query/TypeUtils.scala 5a64c53bdb94174bf5699d9e034960f42450f696 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java d1f9430124ab4071971950bf4acd2f09dd000da0 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java 345e874942cf047ae8b6467f2981c7cf2317707c 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 5e7de88559dbbf2460c819ba7470a2cc287ca8dc 
  repository/src/test/java/org/apache/atlas/repository/audit/AuditRepositoryTestBase.java f6994048b7f92ba086a1b0949030897d1cacff41 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 677eb392c4aa7674e27c48f86a44e953c80144c7 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 449e066a167ba4546b118a77c8e3de5fd99f077b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 2d1c33a9bef5dc9179225fa7ce7228eebc5fdf2b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java cc6026461bcd38b83dde0bcec2e835f5824e894f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java 90bb635126a02cd38c045bd5332499c4481d3751 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java 94dd29862cd37fd784a699fb45640e36992cff88 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3d9d45a1f6695a0ee1af8c42fb24dcfa41dfba79 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 2f02ae28b2947ce7f7955c00bf9ca88ab3ca607a 
  repository/src/test/java/org/apache/atlas/repository/graph/TitanGraphProviderTest.java 6fc700823800eaa943a34afecb2c2e6fba50637a 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 961442bbcaff86b472a876e6c348aa9e65c1efca 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e6dd23081715458471d50f44f45ccd8374cbffda 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala b23c0f60ace59fa15886c94f35e35d3113872783 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 67ce12bf31dd6decf1a1323924303a066f90a4c1 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala 0e0ac8633a256dc7c8966c2b8d52eb942b52e1c6 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  repository/src/test/titan0-resources/atlas-application.properties PRE-CREATION 
  repository/src/test/titan1-resources/atlas-application.properties PRE-CREATION 
  src/build/checkstyle-suppressions.xml 0025360552a32ffa0a5aa5696f27921a4752513f 
  titan/pom.xml 09006d9dd5e21aa24f53524aa42a3fcd6f3d9fe6 
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseStoreManager.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseTransaction.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/TableMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediator.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java  
  titan/src/test/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediatorTest.java  
  typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java 6fb2087a7cbeb6eefb0dd15b9a3c0c049b6b857b 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/AbstractDataType.java dc9cdf2567b45b35b324ecfbb5afcc7921409b8f 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorter.java aaec05c8c3913b6974332668ebe5af31332cd121 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/utils/TypesUtil.java ef8448d9f278c45f0a9c7c6045338cd056d23d08 
  typesystem/src/main/resources/atlas-application.properties 3318ff306a8b8ab5e320129a8450d144215f009f 
  typesystem/src/main/scala/org/apache/atlas/typesystem/json/TypesSerialization.scala 5618938e4bd9f9ef934e89bf2bf3199073294706 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/ClassTest.java daecdd78c952747964885d4cb8cdfb59727ffee5 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorterTest.java 19bdccfc6baf503f3144fce8fe0b85914693d054 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/TypeSystemTest.java 574e0f9811d195cd34e12a9f23b999568d54a1c7 
  typesystem/src/test/scala/org/apache/atlas/typesystem/json/TypesSerializationTest.scala cfd4bdb26482c187c4e80f110b7349df8b524e6e 
  webapp/pom.xml cce6dd6f073b15732d2aa5d26fd4aed090ddf65d 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java 010fa2aa979e12063a1d78c8db4ad7519c3ca973 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java 2a655383d6265213933beff2a884953e51fed889 
  webapp/src/main/java/org/apache/atlas/web/resources/RexsterGraphResource.java 150f913d881138c7afeb87881197ee0f1e7d3194 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated June 6, 2016, 7:46 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description (updated)
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph)
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - search indexer enhanced to wait for all indices to be enabled
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
   - RepositoryMetaModule - GraphBackedSearchIndexer changed to an eager singleton to force index creation to happen before we execute any gremlin queries (which happens during the type system restoration triggered by the DefaultMetadataService constructor)
   - atlas_config.py - minor change to allow Atlas to use a non-default JVM.  It now supports having the java home in ATLAS_JAVA_HOME.  If that is not set, we fall back to the previous behavior looking for JAVA_HOME and then checking the path.
   
   
Note - the diff here is cumulative and includes the changes from ATLAS-693.  I could not figure out how to remove those.  You can, for the most part, ignore the new files under graphdb\titan0.  There are a few minor changes that have been put in since ATLAS-693, but nothing very significant.  Just changes to implement a couple new methods in the abstraction layer.

Last rebase: 6/6/2016


Diffs
-----

  addons/falcon-bridge/pom.xml 14c60901a6f194497ca0fb7929a032d2261f85fa 
  addons/hdfs-model/pom.xml f4033bce0fe3ea5a33cfd32ebccd47c01207dc35 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 47e72e814a421f03b00a9b7c6a13163e1b67ca14 
  addons/sqoop-bridge/pom.xml 343bb4eeae93031ab24cd48ed7b535769150d6c7 
  addons/storm-bridge/pom.xml b1a7a9b1a88442d9e65db4a01b8388c8d3522bfe 
  authorization/pom.xml 74c433bf740a346d1d907a868605e9ab457151bb 
  catalog/pom.xml 8a49d3d673a5936613d45e53479aa99a5a14517d 
  catalog/src/main/java/org/apache/atlas/catalog/DefaultTypeSystem.java a28a32b692e61377479cdd432f39ba3c60bd5238 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java ba8e0e712769afad72f7f8254ec626a1d17136e8 
  catalog/src/test/java/org/apache/atlas/catalog/query/AtlasEntityQueryTest.java 149134c8a79c802fe625d64c5e04af0d88174cfa 
  distro/src/bin/atlas_config.py fab4046345e05e0b7749ca75834c8bdcb0d01752 
  distro/src/conf/atlas-application.properties 1cdd424d8e126a6bdbf99db8bf4e5d4329e806bb 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java 71b577b5c2e8aee8fec816b9224672ebc2cad5b3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdgeDirection.java e7da1c9a5075004973ba68b8a36a2c95756e0e62 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 3c41693e531eb523f04a5c5781f1f123ab38ef07 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java f312117af9cb6ae8de21d565bfcf3b10d9bdfcc6 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java 2776b2242c4469dcae344616ccfe100633a79432 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java f0dca9a28eebd8996d55d71dcc3254cce9cd4098 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 7ee6b2831a7610e7d5b1d36ae69282a9315dc06b 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasSchemaViolationException.java fda83b807f3640c04a660001941376f41be6d9be 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java e027b6962cf27a8c2dfbbf6fcc9683fa19e00ae5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java fd20a6524c4795b4212599c2f4ced69c2bbf14c0 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java a608eb27921d4be44e639f773ace818115f39ff2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java e817cba200c6d3c4c593b242cb2317e141bab570 
  graphdb/pom.xml 666fe5a01e55d7b761d391e3ef6172f769488254 
  graphdb/titan0/pom.xml PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Edge.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphIndex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0VertexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/EdgeToAtlasEdgeFunction.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/VertexToAtlasVertexFunction.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java PRE-CREATION 
  graphdb/titan0/src/test/resources/atlas-application.properties PRE-CREATION 
  pom.xml eac95c8526011a3a86de8dd154545abec0f7bcf5 
  repository/pom.xml 533e48b8dbf8f1d80903b804ddc7da9818fe6702 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java b9689f4eb408819e91e8184d40534e983bf5d048 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java 15201dd45913539b9b3bd430b46ce6cf30c327ac 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java 39dde2af0aa86d7c9a3dc5f006c8e1660cd29d5c 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java 90718edfd261c9f30ecc6b8f2424c232fbc9a66b 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java f97b83d1b302dedc12c566a8bb4729d4cd68de75 
  repository/src/main/java/org/apache/atlas/repository/Constants.java 893f1b64fa5d38c8025e6faf86335864f77d1439 
  repository/src/main/java/org/apache/atlas/repository/MetadataRepository.java 43e9f85163e8bb453601ca502d9e7a32c757b037 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasEdgeLabel.java d905c012a58ae4f53012f217253bf2495550da33 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 91f9bd008a6939dfe78656f5c1845637a30ee9eb 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java 37cacb05e65d6b1f537bd208208c8c4b9b501645 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 0d82d900bd750b1ca91c24623384fb2547790efe 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java c385df35c0ed37490033601487bf59eaf7dc677f 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 4f6d0118072380342f5ea302d0aaf7902784849a 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java e240fb68ed9547ef6ef4cb773a12b2594dcffa09 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 2cc1a50e2ea139c3a462c918b94945fff602cf17 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 4c1f5591f4adead41c3336e64b0bc956836f7edb 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java 5ed9e02eb85ec25b63540cab40d148914d410786 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java c1af0f691e9d26a3102fece20acc904bb85702d6 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/Expressions.scala 240575087468632c52512aea94759f8ace3943a0 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 34d101a2704e28a46426fdf6b67e7c36fde0507a 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 7de03c32edf16c1676db94179266e02928e01f35 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 73981c04d410a7292de357d9f63b6f3b3d241ffa 
  repository/src/main/scala/org/apache/atlas/query/QueryParser.scala 60b57d9a4d0181cd1e3c45a4e6a928d15ed499db 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/main/scala/org/apache/atlas/query/TypeUtils.scala 5a64c53bdb94174bf5699d9e034960f42450f696 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java d1f9430124ab4071971950bf4acd2f09dd000da0 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java 345e874942cf047ae8b6467f2981c7cf2317707c 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 5e7de88559dbbf2460c819ba7470a2cc287ca8dc 
  repository/src/test/java/org/apache/atlas/repository/audit/AuditRepositoryTestBase.java f6994048b7f92ba086a1b0949030897d1cacff41 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 677eb392c4aa7674e27c48f86a44e953c80144c7 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 449e066a167ba4546b118a77c8e3de5fd99f077b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 2d1c33a9bef5dc9179225fa7ce7228eebc5fdf2b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java cc6026461bcd38b83dde0bcec2e835f5824e894f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java 90bb635126a02cd38c045bd5332499c4481d3751 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java 94dd29862cd37fd784a699fb45640e36992cff88 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3d9d45a1f6695a0ee1af8c42fb24dcfa41dfba79 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 2f02ae28b2947ce7f7955c00bf9ca88ab3ca607a 
  repository/src/test/java/org/apache/atlas/repository/graph/TitanGraphProviderTest.java 6fc700823800eaa943a34afecb2c2e6fba50637a 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 961442bbcaff86b472a876e6c348aa9e65c1efca 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e6dd23081715458471d50f44f45ccd8374cbffda 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala b23c0f60ace59fa15886c94f35e35d3113872783 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 67ce12bf31dd6decf1a1323924303a066f90a4c1 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala 0e0ac8633a256dc7c8966c2b8d52eb942b52e1c6 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  repository/src/test/titan0-resources/atlas-application.properties PRE-CREATION 
  repository/src/test/titan1-resources/atlas-application.properties PRE-CREATION 
  src/build/checkstyle-suppressions.xml 0025360552a32ffa0a5aa5696f27921a4752513f 
  titan/pom.xml 09006d9dd5e21aa24f53524aa42a3fcd6f3d9fe6 
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseStoreManager.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseTransaction.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/TableMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediator.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java  
  titan/src/test/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediatorTest.java  
  typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java 6fb2087a7cbeb6eefb0dd15b9a3c0c049b6b857b 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/AbstractDataType.java dc9cdf2567b45b35b324ecfbb5afcc7921409b8f 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorter.java aaec05c8c3913b6974332668ebe5af31332cd121 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/utils/TypesUtil.java ef8448d9f278c45f0a9c7c6045338cd056d23d08 
  typesystem/src/main/resources/atlas-application.properties 3318ff306a8b8ab5e320129a8450d144215f009f 
  typesystem/src/main/scala/org/apache/atlas/typesystem/json/TypesSerialization.scala 5618938e4bd9f9ef934e89bf2bf3199073294706 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/ClassTest.java daecdd78c952747964885d4cb8cdfb59727ffee5 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorterTest.java 19bdccfc6baf503f3144fce8fe0b85914693d054 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/TypeSystemTest.java 574e0f9811d195cd34e12a9f23b999568d54a1c7 
  typesystem/src/test/scala/org/apache/atlas/typesystem/json/TypesSerializationTest.scala cfd4bdb26482c187c4e80f110b7349df8b524e6e 
  webapp/pom.xml cce6dd6f073b15732d2aa5d26fd4aed090ddf65d 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java 010fa2aa979e12063a1d78c8db4ad7519c3ca973 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java 2a655383d6265213933beff2a884953e51fed889 
  webapp/src/main/java/org/apache/atlas/web/resources/RexsterGraphResource.java 150f913d881138c7afeb87881197ee0f1e7d3194 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg


Re: Review Request 47810: ATLAS-694: Update Atlas to use Graph DB abstraction layer

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47810/
-----------------------------------------------------------

(Updated June 6, 2016, 7:37 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Bugs: ATLAS-694
    https://issues.apache.org/jira/browse/ATLAS-694


Repository: atlas


Description (updated)
-------

ATLAS-694: Update Atlas to use abstraction layer.  All of the Atlas code (with the exception of the catalog, which was only updated minimally) has been updated to use the graph database abstraction layer.  In addition, there is now an optional Atlas configuration property that specifies the class of the abstraction layer database to use.  I basically put all of the changes in here with the exception of the actual Titan 1 implementation of code.  This includes the changes to support Tinkerpop 3 syntax.  This is mostly to expedite getting the changes into Atlas.  Originally the TP3 changes were going to be brought in as part of the Titan 1 implementation task.

Change Summary:

   - change Atlas classes to use AtlasGraph,AtlasVertex,AtlasEdge, etc instead of TitanGraph/Vertex/Edge, etc
   - compile time dependency on titan 0.5.4/TP 2 removed (except in Catalog, which was only changed to use AtlasGraphProvider/AtlasGraph)
   - updated DSL translation to generate Gremlin that is compliant with TP3 when TP3 is being used
   - TitanGraphProvider replaced by AtlasGraphProvider.  Graph database implementation is determined from a new optional configuration property
   - search indexer enhanced to wait for all indices to be enabled
   - HiveTitanSample is no longer used by tests.  It has been replaced by hive-instances.json (which uses normal Atlas json syntax).  The data is saved with a new JSONImporter class.  This was needed because the graphson syntax used by HiveTitanSample is not compatible with TP3.  
   - RepositoryMetaModule - GraphBackedSearchIndexer changed to an eager singleton to force index creation to happen before we execute any gremlin queries (which happens during the type system restoration triggered by the DefaultMetadataService constructor)
   - atlas_config.py - minor change to allow Atlas to use a non-default JVM.  It now supports having the java home in ATLAS_JAVA_HOME.  If that is not set, we fall back to the previous behavior looking for JAVA_HOME and then checking the path.
   
Note - the diff here is cumulative and includes the changes from ATLAS-693.  I could not figure out how to remove those.

Last rebase: 6/6/2016


Diffs (updated)
-----

  addons/falcon-bridge/pom.xml 14c60901a6f194497ca0fb7929a032d2261f85fa 
  addons/hdfs-model/pom.xml f4033bce0fe3ea5a33cfd32ebccd47c01207dc35 
  addons/hdfs-model/src/test/java/org/apache/atlas/fs/model/HDFSModelTest.java ac60294e328835ba0340e150799ddfb348ccdb52 
  addons/hive-bridge/pom.xml 47e72e814a421f03b00a9b7c6a13163e1b67ca14 
  addons/sqoop-bridge/pom.xml 343bb4eeae93031ab24cd48ed7b535769150d6c7 
  addons/storm-bridge/pom.xml b1a7a9b1a88442d9e65db4a01b8388c8d3522bfe 
  authorization/pom.xml 74c433bf740a346d1d907a868605e9ab457151bb 
  catalog/pom.xml 8a49d3d673a5936613d45e53479aa99a5a14517d 
  catalog/src/main/java/org/apache/atlas/catalog/DefaultTypeSystem.java a28a32b692e61377479cdd432f39ba3c60bd5238 
  catalog/src/main/java/org/apache/atlas/catalog/query/BaseQuery.java ba8e0e712769afad72f7f8254ec626a1d17136e8 
  catalog/src/test/java/org/apache/atlas/catalog/query/AtlasEntityQueryTest.java 149134c8a79c802fe625d64c5e04af0d88174cfa 
  distro/src/bin/atlas_config.py fab4046345e05e0b7749ca75834c8bdcb0d01752 
  distro/src/conf/atlas-application.properties 1cdd424d8e126a6bdbf99db8bf4e5d4329e806bb 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdge.java 71b577b5c2e8aee8fec816b9224672ebc2cad5b3 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasEdgeDirection.java e7da1c9a5075004973ba68b8a36a2c95756e0e62 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasElement.java 3c41693e531eb523f04a5c5781f1f123ab38ef07 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java f312117af9cb6ae8de21d565bfcf3b10d9bdfcc6 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphIndex.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphManagement.java 2776b2242c4469dcae344616ccfe100633a79432 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraphQuery.java f0dca9a28eebd8996d55d71dcc3254cce9cd4098 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasIndexQuery.java 7ee6b2831a7610e7d5b1d36ae69282a9315dc06b 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasPropertyKey.java PRE-CREATION 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasSchemaViolationException.java fda83b807f3640c04a660001941376f41be6d9be 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java e027b6962cf27a8c2dfbbf6fcc9683fa19e00ae5 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertexQuery.java fd20a6524c4795b4212599c2f4ced69c2bbf14c0 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java a608eb27921d4be44e639f773ace818115f39ff2 
  graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GremlinVersion.java e817cba200c6d3c4c593b242cb2317e141bab570 
  graphdb/pom.xml 666fe5a01e55d7b761d391e3ef6172f769488254 
  graphdb/titan0/pom.xml PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/GraphDbObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseManager.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Edge.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Element.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphIndex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0IndexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0PropertyKey.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Vertex.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0VertexQuery.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/TitanObjectFactory.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/EdgeToAtlasEdgeFunction.java PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/VertexToAtlasVertexFunction.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseValidationTest.java PRE-CREATION 
  graphdb/titan0/src/test/resources/atlas-application.properties PRE-CREATION 
  pom.xml eac95c8526011a3a86de8dd154545abec0f7bcf5 
  repository/pom.xml 533e48b8dbf8f1d80903b804ddc7da9818fe6702 
  repository/src/main/java/org/apache/atlas/GraphTransactionInterceptor.java b9689f4eb408819e91e8184d40534e983bf5d048 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java 15201dd45913539b9b3bd430b46ce6cf30c327ac 
  repository/src/main/java/org/apache/atlas/discovery/DataSetLineageService.java 39dde2af0aa86d7c9a3dc5f006c8e1660cd29d5c 
  repository/src/main/java/org/apache/atlas/discovery/graph/DefaultGraphPersistenceStrategy.java 90718edfd261c9f30ecc6b8f2424c232fbc9a66b 
  repository/src/main/java/org/apache/atlas/discovery/graph/GraphBackedDiscoveryService.java f97b83d1b302dedc12c566a8bb4729d4cd68de75 
  repository/src/main/java/org/apache/atlas/repository/Constants.java 893f1b64fa5d38c8025e6faf86335864f77d1439 
  repository/src/main/java/org/apache/atlas/repository/MetadataRepository.java 43e9f85163e8bb453601ca502d9e7a32c757b037 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasEdgeLabel.java d905c012a58ae4f53012f217253bf2495550da33 
  repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java PRE-CREATION 
  repository/src/main/java/org/apache/atlas/repository/graph/DeleteHandler.java 91f9bd008a6939dfe78656f5c1845637a30ee9eb 
  repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapper.java 37cacb05e65d6b1f537bd208208c8c4b9b501645 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepository.java 0d82d900bd750b1ca91c24623384fb2547790efe 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java c385df35c0ed37490033601487bf59eaf7dc677f 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 4f6d0118072380342f5ea302d0aaf7902784849a 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphProvider.java f89bdf5c7e8596b11dafced6700d0a4245fd32cf 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphSchemaInitializer.java 6141927eb92bc7e681b43118fbaa399ada6c81f8 
  repository/src/main/java/org/apache/atlas/repository/graph/GraphToTypedInstanceMapper.java e240fb68ed9547ef6ef4cb773a12b2594dcffa09 
  repository/src/main/java/org/apache/atlas/repository/graph/HardDeleteHandler.java 36367913252b59f7adf7f42924a886365e60819f 
  repository/src/main/java/org/apache/atlas/repository/graph/SoftDeleteHandler.java 25aa7c5844cd3fc39bd7cc9ee23a6c336ca1bfac 
  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 2cc1a50e2ea139c3a462c918b94945fff602cf17 
  repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 4c1f5591f4adead41c3336e64b0bc956836f7edb 
  repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java 5ed9e02eb85ec25b63540cab40d148914d410786 
  repository/src/main/java/org/apache/atlas/services/DefaultMetadataService.java c1af0f691e9d26a3102fece20acc904bb85702d6 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala c4621cd509ae049b30a08a9e5b3ace03f888a10c 
  repository/src/main/scala/org/apache/atlas/query/Expressions.scala 240575087468632c52512aea94759f8ace3943a0 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 34d101a2704e28a46426fdf6b67e7c36fde0507a 
  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala 7de03c32edf16c1676db94179266e02928e01f35 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 73981c04d410a7292de357d9f63b6f3b3d241ffa 
  repository/src/main/scala/org/apache/atlas/query/QueryParser.scala 60b57d9a4d0181cd1e3c45a4e6a928d15ed499db 
  repository/src/main/scala/org/apache/atlas/query/QueryProcessor.scala 0d2a908201f526aa487dd4cad926d308f53a04ba 
  repository/src/main/scala/org/apache/atlas/query/TypeUtils.scala 5a64c53bdb94174bf5699d9e034960f42450f696 
  repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java d1f9430124ab4071971950bf4acd2f09dd000da0 
  repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 4195955051d842af973d3ad29602fb97c1e54ecd 
  repository/src/test/java/org/apache/atlas/TestUtils.java 345e874942cf047ae8b6467f2981c7cf2317707c 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 5e7de88559dbbf2460c819ba7470a2cc287ca8dc 
  repository/src/test/java/org/apache/atlas/repository/audit/AuditRepositoryTestBase.java f6994048b7f92ba086a1b0949030897d1cacff41 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 677eb392c4aa7674e27c48f86a44e953c80144c7 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java 449e066a167ba4546b118a77c8e3de5fd99f077b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 2d1c33a9bef5dc9179225fa7ce7228eebc5fdf2b 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositoryHardDeleteTest.java cc6026461bcd38b83dde0bcec2e835f5824e894f 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedRepositorySoftDeleteTest.java 90bb635126a02cd38c045bd5332499c4481d3751 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerMockTest.java 94dd29862cd37fd784a699fb45640e36992cff88 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 3d9d45a1f6695a0ee1af8c42fb24dcfa41dfba79 
  repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java 2f02ae28b2947ce7f7955c00bf9ca88ab3ca607a 
  repository/src/test/java/org/apache/atlas/repository/graph/TitanGraphProviderTest.java 6fc700823800eaa943a34afecb2c2e6fba50637a 
  repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java 961442bbcaff86b472a876e6c348aa9e65c1efca 
  repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java e6dd23081715458471d50f44f45ccd8374cbffda 
  repository/src/test/java/org/apache/atlas/services/DependencyTreeNode.java PRE-CREATION 
  repository/src/test/java/org/apache/atlas/services/JSONImporter.java PRE-CREATION 
  repository/src/test/resources/hive-instances.json PRE-CREATION 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala b23c0f60ace59fa15886c94f35e35d3113872783 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala f65cedbf44f5fa9e674833a20aae8de6d2537834 
  repository/src/test/scala/org/apache/atlas/query/HiveTitanSample.scala 67ce12bf31dd6decf1a1323924303a066f90a4c1 
  repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala 0e0ac8633a256dc7c8966c2b8d52eb942b52e1c6 
  repository/src/test/scala/org/apache/atlas/query/QueryTestsUtils.scala b5faaf33cd5fd1a63bac4fd41d67588ef519dc11 
  repository/src/test/titan0-resources/atlas-application.properties PRE-CREATION 
  repository/src/test/titan1-resources/atlas-application.properties PRE-CREATION 
  src/build/checkstyle-suppressions.xml 0025360552a32ffa0a5aa5696f27921a4752513f 
  titan/pom.xml 09006d9dd5e21aa24f53524aa42a3fcd6f3d9fe6 
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/AdminMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/ConnectionMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseAdmin1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompat1_1.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseCompatLoader.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseKeyColumnValueStore.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseStoreManager.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HBaseTransaction.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HConnection1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable0_98.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/HTable1_0.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/hbase/TableMask.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediator.java  
  titan/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java  
  titan/src/test/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediatorTest.java  
  typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java 6fb2087a7cbeb6eefb0dd15b9a3c0c049b6b857b 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/AbstractDataType.java dc9cdf2567b45b35b324ecfbb5afcc7921409b8f 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorter.java aaec05c8c3913b6974332668ebe5af31332cd121 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/Multiplicity.java 06da32e807aa4b8e4d1f49b3929c9f3c9a8d4846 
  typesystem/src/main/java/org/apache/atlas/typesystem/types/utils/TypesUtil.java ef8448d9f278c45f0a9c7c6045338cd056d23d08 
  typesystem/src/main/resources/atlas-application.properties 3318ff306a8b8ab5e320129a8450d144215f009f 
  typesystem/src/main/scala/org/apache/atlas/typesystem/json/TypesSerialization.scala 5618938e4bd9f9ef934e89bf2bf3199073294706 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/ClassTest.java daecdd78c952747964885d4cb8cdfb59727ffee5 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/HierarchicalTypeDependencySorterTest.java 19bdccfc6baf503f3144fce8fe0b85914693d054 
  typesystem/src/test/java/org/apache/atlas/typesystem/types/TypeSystemTest.java 574e0f9811d195cd34e12a9f23b999568d54a1c7 
  typesystem/src/test/scala/org/apache/atlas/typesystem/json/TypesSerializationTest.scala cfd4bdb26482c187c4e80f110b7349df8b524e6e 
  webapp/pom.xml cce6dd6f073b15732d2aa5d26fd4aed090ddf65d 
  webapp/src/main/java/org/apache/atlas/web/listeners/GuiceServletConfig.java 010fa2aa979e12063a1d78c8db4ad7519c3ca973 
  webapp/src/main/java/org/apache/atlas/web/resources/BaseService.java 2a655383d6265213933beff2a884953e51fed889 
  webapp/src/main/java/org/apache/atlas/web/resources/RexsterGraphResource.java 150f913d881138c7afeb87881197ee0f1e7d3194 
  webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java 08bb125241012b6a1c1852efc6443cc7a4ebecc3 

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


Testing
-------

Built entire Atlas project, ran all unit/integration tests.  No issues found.


Thanks,

Jeff Hagelberg