You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by Apoorv Naik <na...@gmail.com> on 2017/04/03 16:46:22 UTC

Re: Review Request 56724: ATLAS-1390: Add IBM Graph Support

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



Still going through the review, will apply the patch and see if the build is fine. Should be good for a commuit if it doesn't interfere with any atlas functionality.


graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/AtlasPropertyKeyToPropertyKey.java
Lines 29 (patched)
<https://reviews.apache.org/r/56724/#comment243643>

    If it's dependent on Java 8 why not use JDK Function here.
    
    Also consider renaming it AtlasToIBMPropertyConversion or something similar



graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphElement.java
Lines 210 (patched)
<https://reviews.apache.org/r/56724/#comment243649>

    Complete parameterization instead of concatenation and parameter hybrid.



graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphElement.java
Lines 231 (patched)
<https://reviews.apache.org/r/56724/#comment243650>

    Same as above



graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphElement.java
Lines 246 (patched)
<https://reviews.apache.org/r/56724/#comment243651>

    Same here.



graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphElement.java
Lines 250 (patched)
<https://reviews.apache.org/r/56724/#comment243652>

    And here.


- Apoorv Naik


On March 2, 2017, 10:17 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/56724/
> -----------------------------------------------------------
> 
> (Updated March 2, 2017, 10:17 p.m.)
> 
> 
> Review request for atlas, David Kantor and Neeru Gupta.
> 
> 
> Bugs: ATLAS-1390
>     https://issues.apache.org/jira/browse/ATLAS-1390
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> This work item adds IBM Graph as a graph database that can be used by Atlas.  There are some limitations of this implementation.  These are documented in the readme.txt under graphdb\ibm-graph.  The code here is the result of many months of development effort.  It was contributed to by myself, Dave Kantor, Neeru Gupta, and Marcin Lewandowski.  It was developed on our private fork of Atlas and is now being added to the public Atlas so that others can benefit from it.
> 
> IBM Graph is a cloud based graph based on Titan 1.  It is a little different from Titan though in that all of the interactions with it requires calling a REST API.  This implementation is optimized to make as few REST API calls as possible by combining the update operations into a single Gremlin script that gets sent when the transaction is committed.  It also has full multi-tenancy support, although in this JIRA we have not put in the plumbing that allows Atlas to make use of it.  For the mult-user support, each thread has its own transaction associated with it.  We followed the Titan semantics -- vertex queries executed in the context of a transaction take into account uncommitted changes.  Pure gremlin queries do not, and will only reflect committed changes.
> 
> IBM Graph also has some restrictions that a normal Titan instance would not.  Because it is a shared environment, there is a restriction that only queries with an initial indexed predicate will run.  Any query that requires a full graph scan is rejected.  Many of the tests in Atlas attempt to do a graph scan.  These tests have been changed so that they are skipped when ibm-graph is being used as the graph backend.
> 
> 
> Note that this implementation depends on Tinkerpop 3 classes, which require Java 8.  To manage the java version dependency, we're following a similar route to what we did for Titan 1 support. If Java 7 is being used, the ibm-graph code is not compiled, but we still create a jar file which is basically empty.  This is needed so that there is a jar in place to satisfy the maven dependency on the ibm-graph implementation in the graphdb-impls project.  If Java 8 is being used, the ibm-graph code is compiled.  The tests in the ibm-graph project are only run if the ibm-graph profile is enabled though.
> 
>  By default, Titan 0.5.4 is still used by Atlas.  To use the ibm-graph implemention, you need to run with java 8, enable the ibm-graph profile, and add properties to your settings.xml to configure the IBM Graph service.  This is described in the readme.
> 
> 
> Diffs
> -----
> 
>   common/src/main/java/org/apache/atlas/GraphInitializationException.java PRE-CREATION 
>   common/src/main/java/org/apache/atlas/groovy/LiteralExpression.java 14074994f7fe06fc6a076cedb833a7de2f85e096 
>   common/src/main/java/org/apache/atlas/groovy/VariableAssignmentExpression.java 1aa74435d59dfb4d8d3077febe794c5b1780a824 
>   distro/pom.xml c0090ae2a86faa0b697bbdd1156323ac9f944772 
>   distro/src/conf/atlas-application.properties b2b8e74590c572a0a63f145e1ac9c6a3cc38f677 
>   distro/src/conf/credentials.json PRE-CREATION 
>   distro/src/main/assemblies/standalone-package.xml 215cb2368cf15f5fc0bd3ece19f2db330cc56b6b 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java f7e5c5cec1bf134e58ff5de8986a38580fe082e3 
>   graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDatabase.java 3dfc6e8de56780895bfdb47926f3c7a2ff858f67 
>   graphdb/graphdb-impls/pom.xml 4a1857f3a965200d6faf2d5116b2bf7a5789c693 
>   graphdb/ibm-graph/pom.xml PRE-CREATION 
>   graphdb/ibm-graph/readme-multitenancy-support.txt PRE-CREATION 
>   graphdb/ibm-graph/readme.txt PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/AtlasPropertyKeyToPropertyKey.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/ElementDeletedCheckingInvocationHandler.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/GraphPerTenantStrategy.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/GraphReadLockInvocationHandler.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphDatabase.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphEdge.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphElement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphGraph.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphGraphQuery.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphIndex.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphIndexQuery.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphIndexQueryResult.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphManagement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphMetadata.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphPropertyKey.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphVertex.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/IBMGraphVertexQuery.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/MultiTenancyDisabledStrategy.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/PartitionPerTenantStrategy.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/TenantGraphStrategy.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/Cardinality.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/GraphDatabaseClient.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/GraphDatabaseConfiguration.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/IGraphDatabaseClient.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/IndexStatus.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/action/AbstractGraphAction.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/action/ClearGraphAction.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/action/ElementIdListPropertyValue.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/action/ElementIdPropertyValue.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/action/GetVertexDataAction.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/action/IGraphAction.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/action/IPropertyValue.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/Index.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/IndexProperty.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/JsonEdge.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/JsonErrorResponse.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/JsonGraphElement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/JsonGraphInfo.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/JsonGremlinQuery.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/JsonIndexQueryResult.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/JsonNewVertex.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/JsonResponse.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/JsonVertex.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/JsonVertexData.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/PropertyDataType.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/PropertyKey.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/PropertyValue.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/Schema.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/update/ElementChanges.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/update/ElementIdListInfo.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/update/ElementProperty.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/update/ElementType.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/update/NewEdge.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/api/json/update/UpdateScriptBinding.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/exception/BadRequestException.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/exception/GraphDatabaseException.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/exception/HttpException.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/exception/InternalServerException.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/exception/NotFoundException.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/graphson/AtlasElementPropertyConfig.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/graphson/AtlasGraphSONMode.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/graphson/AtlasGraphSONTokens.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/graphson/AtlasGraphSONUtility.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/ActionTranslationContext.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/GremlinQuery.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/QueryElement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/QueryGenerationResult.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/CollectExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/CreatePartitionExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/DefaultGraphTraversalExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/EvaluableGremlinExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/GetElementExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/GetVertexDataExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/GraphTraversalExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/IndexQueryExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/InstanceOfExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/InterpolatedStringExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/TransformQueryResultExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/expr/TraversalSourceExpression.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/step/AbstractHasStep.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/step/GraphStep.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/step/GremlinEvaluationResult.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/step/GremlinStep.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/step/HasStep.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/step/OrStep.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/step/ToListStep.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/step/VertexStep.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/step/WithinStep.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/stmt/FetchTraversalStatement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/stmt/ForLoopStatement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/stmt/IfStatement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/stmt/ImportStatement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/stmt/PreGeneratedStatement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/gremlin/stmt/TryCatchStatement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/HttpCode.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/HttpRequest.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/HttpRequestDispatcher.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/HttpRequestHandler.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/HttpResponse.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/HttpRetryStrategy.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/HttpUtils.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/IBMGraphRequestContext.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/IHttpRequestDispatcher.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/IHttpRetryStrategy.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/IdleConnectionMonitorThread.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/http/RequestType.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/DefaultUpdatedEdge.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/DefaultUpdatedGraphElement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/DefaultUpdatedVertex.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/ElementBackedPropertyMap.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/GraphTransaction.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/IBMGraphTransaction.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/ReadableUpdatedEdge.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/ReadableUpdatedGraphElement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/ReadableUpdatedVertex.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/UpdatedEdge.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/UpdatedGraphElement.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/tx/UpdatedVertex.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/AllowedWhenDeleted.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/Batcher.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/Endpoint.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/FileUtils.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/GraphDBUtil.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/PersistentType.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/PossibleSuccessCase.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/PropertyIndex.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/PropertyValueToVerticesMap.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/SchemaSplitter.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/ibmgraph/util/UpdateSchemaRetryStrategy.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/mt/ITenantRegistrationListener.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/java/org/apache/atlas/mt/MultiTenancyConstants.java PRE-CREATION 
>   graphdb/ibm-graph/src/main/resources/graphUpdater.groovy PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/AbstractGraphDatabaseTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/GraphDatabaseQueryTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/GraphDatabaseTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/GraphQueryTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/GraphTransactionTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/PropertyDuplicationTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/QueryBindingTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/SessionCreateTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/UpdateScriptLoggingOffTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/UpdateScriptLoggingOnTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/VertexQueryTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/tx/ElementBackedPropertyMapTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/tx/TransactionMultiUserTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/util/BatcherTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/util/PropertyValueToVerticesMapTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/java/org/apache/atlas/ibmgraph/util/SchemaSplitterTest.java PRE-CREATION 
>   graphdb/ibm-graph/src/test/resources/atlas-application.properties PRE-CREATION 
>   graphdb/ibm-graph/src/test/resources/atlas-log4j.xml PRE-CREATION 
>   graphdb/ibm-graph/src/test/resources/credentials.json PRE-CREATION 
>   graphdb/ibm-graph/src/test/resources/log4j.xml PRE-CREATION 
>   graphdb/ibm-graph/src/test/resources/update-logging-off-log4j.xml PRE-CREATION 
>   graphdb/ibm-graph/src/test/resources/update-logging-on-log4j.xml PRE-CREATION 
>   graphdb/pom.xml 424acc0e067a811b3c157979415e74b2c8df443d 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java be38d5ba73c01e939c7886835221755c0b775e35 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0GraphDatabase.java 5af90d8c3c9ef90df2801472e62d66ef1d7d1717 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/AbstractGraphDatabaseTest.java 2dca50ebc612649a415c0f7e1b2935e7193b7d6f 
>   graphdb/titan0/src/test/java/org/apache/atlas/repository/graphdb/titan0/Titan0DatabaseTest.java ade395be7026647e22c976a03832fbc288f9fcc6 
>   graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1Graph.java 9a4475d356f7f306345c47bb3b318827836880eb 
>   graphdb/titan1/src/main/java/org/apache/atlas/repository/graphdb/titan1/Titan1GraphDatabase.java dfb535453ee89cab3835183a3784bbd0122886ca 
>   graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/AbstractGraphDatabaseTest.java 7f3a436a7023ca1c3fba519cad014b0d8c108b7c 
>   graphdb/titan1/src/test/java/org/apache/atlas/repository/graphdb/titan1/Titan1DatabaseTest.java 6db0da83ae5da60ae28dfa9bc91d89e61ceadec8 
>   pom.xml 13f6fe982c14644683613e202178dd1d8572b85b 
>   repository/src/main/java/org/apache/atlas/gremlin/Gremlin3ExpressionFactory.java 9f68c9a077420ce24e53ba34749b3e5063fabe5d 
>   repository/src/main/java/org/apache/atlas/gremlin/GremlinExpressionFactory.java ff5a58c9cf9377a845193cf66f012298535a6b2a 
>   repository/src/main/java/org/apache/atlas/repository/graph/AtlasGraphProvider.java 0c5cac688e2d76941b38df9f707f96725ae8fba2 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java 43d6389cea237ee9791aadc9c53dc3653a0e4774 
>   repository/src/main/java/org/apache/atlas/repository/graph/IAtlasGraphProvider.java a2cac2df5a61f9c3f2392da4841f8d4c31afc5f2 
>   repository/src/main/java/org/apache/atlas/repository/graph/TypedInstanceToGraphMapper.java 40b7bf03aa98910d917bd5b4ae9956c302d9e1c1 
>   repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasGraphUtilsV1.java 13b4e9b2c129439cb4f8207d9c7d67aa44d8dedc 
>   repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasTypeDefGraphStoreV1.java b76dfefac6305e0152d1bdc108b625219e8ff5e5 
>   repository/src/main/java/org/apache/atlas/util/AtlasGremlinQueryProvider.java ad22bf7fc220c798f8dbe1478569badbe9ad55ac 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 752a522c94df0865e8a3f1be8d772de36e5fca0c 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 3a310a77942b2744976f69a70d5bac961a8e194c 
>   repository/src/test/java/org/apache/atlas/BaseRepositoryTest.java 6656dc67fb8588f17d5c75793d73043360f845cd 
>   repository/src/test/java/org/apache/atlas/RepositoryServiceLoadingTest.java 6e13077e05b99b5b9c37fbf116d9cb9e7b84fe62 
>   repository/src/test/java/org/apache/atlas/TestMetadataModule.java PRE-CREATION 
>   repository/src/test/java/org/apache/atlas/TestUtils.java f09aa5ac084316b590ff170ff643411f51e76789 
>   repository/src/test/java/org/apache/atlas/discovery/DataSetLineageServiceTest.java da2b44267a433cee791b883c7127b4fe1082ef68 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java 120187da3e6c17ec3bc53d47ee47bd58cf72a705 
>   repository/src/test/java/org/apache/atlas/lineage/EntityLineageServiceTest.java 6a1979a0de3180fed78bf697864a34f6cbc8d602 
>   repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java a9dfee334362c467004484e8d9cb774ae3b3c9e3 
>   repository/src/test/java/org/apache/atlas/repository/graph/AbstractGremlinQueryOptimizerTest.java 2dda85365e9040057cd4f8e797ca84d98759804f 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryDeleteTestBase.java f0424ab9df89bf7dad3f094f89546a4997ec86e2 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedMetadataRepositoryTest.java 9f32b8535cebc5f865b1ff66475d51f2a782ba75 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexerTest.java 1716ac5388cc4c4f4ed851b3ccf8ef3ea3405b01 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphHelperTest.java 383192019d849a2f1fa36e72fefbeff80649eb04 
>   repository/src/test/java/org/apache/atlas/repository/graph/GraphRepoMapperScaleTest.java a2fffe7a124f05dc8d29fd153198bdf693a1f1c5 
>   repository/src/test/java/org/apache/atlas/repository/graph/ReverseReferenceUpdateTestBase.java b87f7fd99d44ec4d27fe0701525b6c2b0b8a30cf 
>   repository/src/test/java/org/apache/atlas/repository/graph/TestIntSequence.java b8eefca12522c7fe761ff817b7cbc884d679c11a 
>   repository/src/test/java/org/apache/atlas/repository/store/graph/AtlasTypeDefGraphStoreTest.java 84ad72c8bc0fd72d6e058024d4965d6d1657cde8 
>   repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasDeleteHandlerV1Test.java f1c4e48f3b7ad86b1a55b065c90930209c6d4fb5 
>   repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java acb8075416e55d6fabea2c65d3b5be3debca7109 
>   repository/src/test/java/org/apache/atlas/repository/typestore/GraphBackedTypeStoreTest.java c08bb8818293b46ecdd9d430447dd3853bdcd2e9 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTest.java 6c6c959e249845dce08b06e23c2caf832c1fba3e 
>   repository/src/test/java/org/apache/atlas/repository/typestore/StoreBackedTypeCacheTestModule.java a1d7a745f2b39ca6c5337d979c005947857c1f13 
>   repository/src/test/java/org/apache/atlas/service/DefaultMetadataServiceTest.java 7e828a18c5d375d709809af4b12b9ede3c7ef87f 
>   repository/src/test/resources/credentials.json PRE-CREATION 
>   repository/src/test/scala/org/apache/atlas/query/GremlinTest.scala acc70b5e48e604e123e1ca52680e1bd17d228c16 
>   repository/src/test/scala/org/apache/atlas/query/LineageQueryTest.scala bb44686cfd88ac0523941181759a80e0bb2442fe 
>   typesystem/src/test/resources/atlas-application.properties 5ffde5e539abf120e835076a91188ef3c1162381 
>   typesystem/src/test/resources/credentials.json PRE-CREATION 
>   webapp/pom.xml 30b88ff5268bd382e0051a0d3e0e1d6c09b068dc 
>   webapp/src/main/java/org/apache/atlas/web/resources/ExportService.java df8bf337c98c2c0ccdfb36787af3f51a2d2c9acd 
>   webapp/src/test/java/org/apache/atlas/web/TestUtils.java e22a1c10d2142ec94f9e517d397efeca9ef6d76a 
>   webapp/src/test/java/org/apache/atlas/web/adapters/TestEntitiesREST.java 7badd1e66b3b856b1e38093158a47b42d6843ee7 
>   webapp/src/test/java/org/apache/atlas/web/adapters/TestEntityREST.java 0c1ffd387c4fad39a2cabca3dd0fca575b499117 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestGuiceServletConfig.java da221fc14f4df027a5a9ecf94b4cbab368658fee 
>   webapp/src/test/java/org/apache/atlas/web/listeners/TestModule.java b00080f13a25e1c57c1117b2b5f99fb14c5cf8ab 
>   webapp/src/test/java/org/apache/atlas/web/resources/BaseResourceIT.java 0bcabb7765999a36bf1329b01fd610d3c3e0fd3f 
>   webapp/src/test/java/org/apache/atlas/web/resources/DataSetLineageJerseyResourceIT.java ee4057d41174765e666eff0e3aaaf00ffc780e92 
>   webapp/src/test/java/org/apache/atlas/web/resources/EntityLineageJerseyResourceIT.java 4f8badf136e8bf6f14e0fc5b056e406e768ccf5e 
>   webapp/src/test/java/org/apache/atlas/web/resources/EntityResourceTest.java 21060d14ac82e037466d8a3490aac9ba721ac611 
>   webapp/src/test/java/org/apache/atlas/web/resources/MetadataDiscoveryJerseyResourceIT.java 318df609aa802df866eb466c9bd90243d130abd0 
>   webapp/src/test/java/org/apache/atlas/web/service/SecureEmbeddedServerTest.java dc3b936b6fdb27ffb52e65dd9a012c74d6d5a770 
>   webapp/src/test/java/org/apache/atlas/web/service/SecureEmbeddedServerTestBase.java 5d4ca972e7be4cfe4e06a6bc78ebb34f7f247641 
> 
> 
> Diff: https://reviews.apache.org/r/56724/diff/6/
> 
> 
> Testing
> -------
> 
> - Tested with java 7, java 8
> - Ran full Atlas build with and without ibm-graph maven profile enabled
> - No regressions
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>