atlas-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Hagelberg <jnhagelb...@us.ibm.com>
Subject Re: Review Request 47466: ATLAS-693: Add titan 0.5.4 implementation of graph database abstraction layer
Date Fri, 05 Aug 2016 15:39:15 GMT

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

(Updated Aug. 5, 2016, 3:39 p.m.)


Review request for atlas and David Kantor.


Changes
-------

Fixed test failure in distro project.


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


Repository: atlas


Description
-------

Adding titan 0.5.4 implementation of abstraction layer under graphdb/titan0.  

- The original TitanGraphProvider class has been morphed into Titan0Database in this new project.
 This class has the logic that configures Titan and loads the graph.  A new TitanGraphProvider
has been introduced in atlas-repository that delegates everything to Titan0Database.  Now,
the TitanGraph is being initialized using the code in the new abstraction layer implementation.
 

- The atlas-titan project has been merged into graphdb/titan0.  This consolidates all of the
titan 0.5.4 configuration logic into the new project.  All dependencies on atlas-titan have
been replaced with dependencies on atlas-graphdb-titan0.  The Atlas war now bundles atlas-graphdb-api
and atlas-graphdb-titan0.  At this point, though, Atlas is still not using the abstraction
layer classes (AtlasVertex, AtlasEdge, etc) at runtime.  It is still hard-coded to use the
Titan 0.5.4 classes.  The only logic in the abstraction layer implementation that is actually
being used is the logic to configure Titan and create a TitanGraph.

- start_atlas.py was updated to remove atlas-titan from the classpath.  All of the titan-specific
classes now live in the uber "atlas-graphdb-titan0" jar.  The pom.xml for that project has
special logic to guarantee that the customized titan classes get included in the jar rather
than the originals, so it is no longer necessary to force the custom titan classes to be near
the front of the classpath.

- Added "solr" as a supported key for the solr index.  This is the key that is used for the
index in Titan 1.0.0 (which has solr support built-in).  solr5 is still allowed for backward
compatibility, but this allows more consistency between the implementations and simplifies
the test setup logic in the pom.xmls (we will need to update fewer properties when testing
titan 1.0.0).
- I also included in here the change to allow additional jvm arguments to be passed when running
the tests.  This can be used, for example, to attach jprofiler to the jvm running the tests.
- Rebased on 8/4/2016


Diffs (updated)
-----

  .gitignore 0086a69ba29e82dd826f83170a6cc73648c76de5 
  catalog/pom.xml 5946c10da788871021c997b91e83103e2aa094dc 
  distro/src/bin/atlas_start.py bb6189886fe34e7e4496b521cd5cae62df492e36 
  distro/src/test/python/scripts/TestMetadata.py f943b8afa5464ce14653912ecc9e2f105402d24b

  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/common/pom.xml PRE-CREATION 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanGraphQuery.java
PRE-CREATION 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/NativeTitanQueryFactory.java
PRE-CREATION 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/TitanGraphQuery.java
PRE-CREATION 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/AndCondition.java
PRE-CREATION 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/HasPredicate.java
PRE-CREATION 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/InPredicate.java
PRE-CREATION 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/OrCondition.java
PRE-CREATION 
  graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/titan/query/expr/QueryPredicate.java
PRE-CREATION 
  graphdb/pom.xml ea763c5d458cbae2fe87ca7c68dbcf4927e522f8 
  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/Titan0Database.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/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/repository/graphdb/titan0/query/NativeTitan0GraphQuery.java
PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/query/Titan0GraphQuery.java
PRE-CREATION 
  graphdb/titan0/src/main/java/org/apache/atlas/utils/IteratorToIterableAdapter.java PRE-CREATION

  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java
PRE-CREATION 
  graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/GraphQueryTest.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 238449493883307120f6982ac4fcb9c7b17beaa4 
  repository/pom.xml 3d525e0bf34be37e3d5d3fc0d7762ac9e3c91124 
  repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java 34864361392e06f94e4b01ccd644a0ba8cc37b21

  repository/src/main/java/org/apache/atlas/repository/Constants.java 893f1b64fa5d38c8025e6faf86335864f77d1439

  repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 81fb76e27019012fada88a70a13b4c5264c236bf

  repository/src/main/java/org/apache/atlas/repository/graph/TitanGraphProvider.java 2cc1a50e2ea139c3a462c918b94945fff602cf17

  repository/src/main/scala/org/apache/atlas/query/TypeUtils.scala ddcc10648d072c3575c46fce1790647e514d0f74

  repository/src/test/java/org/apache/atlas/repository/graph/TitanGraphProviderTest.java 6fc700823800eaa943a34afecb2c2e6fba50637a

  src/build/checkstyle-suppressions.xml 0025360552a32ffa0a5aa5696f27921a4752513f 
  titan/pom.xml ae7894e2d9a218f1b4a1391e5ca28c7aa06e8b57 
  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/hbase/HBaseKeyColumnValueStoreTest.java
7ed636ad931ff0dfb8647a00d3f95413e0d2eaa8 
  titan/src/test/java/com/thinkaurelius/titan/diskstorage/locking/LocalLockMediatorTest.java
 
  webapp/pom.xml b2cd18c433f992621877f170587160877fd45dd0 

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


Testing
-------

Ran all atlas unit/integration tests, no regressions found.  Addded tests for new code.


Thanks,

Jeff Hagelberg


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message