-----------------------------------------------------------
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

Reply via email to