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 2017/02/22 23:02:55 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/
-----------------------------------------------------------

(Updated Feb. 22, 2017, 11:02 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 to java 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 57b5137178dd179f86edb9a7af4f260b4b7d0ece 
  graphdb/ibm-graph/pom.xml PRE-CREATION 
  graphdb/ibm-graph/readme-mt-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/RemoveStep.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/ibmgraph/util/WeakReferenceCache.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 2d303e4d5c29943ceef7883f3ad10a366d7f26aa 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 75ea54511535ab72b5d00e7c5d8a1eccaffc3ef2 
  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 
  pom.xml 798e965fa03c311728777d61bb1ec439caf5e1ee 
  repository/src/main/java/org/apache/atlas/gremlin/Gremlin3ExpressionFactory.java add7e07006190247112eeba1ca85d62b6f5c2a08 
  repository/src/main/java/org/apache/atlas/gremlin/GremlinExpressionFactory.java c2fdf092d2078749a0d43d5c55be5d87fd24fc4e 
  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 49d5a080158e3e54fd917a13f743f1cf495e66b0 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasTypeDefGraphStoreV1.java b76dfefac6305e0152d1bdc108b625219e8ff5e5 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 752a522c94df0865e8a3f1be8d772de36e5fca0c 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 2863aca1a1bfa7cd200230b314ddb9954266fe87 
  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 e5abd7717ae965c91eed64cd106acc885dc5bc4d 
  repository/src/test/java/org/apache/atlas/discovery/DataSetLineageServiceTest.java da2b44267a433cee791b883c7127b4fe1082ef68 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java ffda9849e9632bff6764aed70c76a2f50f493d0d 
  repository/src/test/java/org/apache/atlas/lineage/EntityLineageServiceTest.java 19124d7792396a41f95198aec1668e4132b94c76 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 79550baca67ebafae4da3b679bfbb00e00c8d225 
  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 555f0acc22c4bec67f1a2a4064acad66e939747a 
  repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java 845bbb47060e516d1fdb9ce382770c44cfbda8d0 
  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 96c2ce52fe41fb81406474311a4ace94ab4f972e 
  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 a431e0240eed36c24b5b7ae4a7af201366dbf862 
  webapp/src/main/java/org/apache/atlas/web/resources/ExportService.java bbd48bcb3a3fdbb71e271faa85edfb9d1f48cad8 
  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 134c79889ca795a1f41641b1136fc41599716653 
  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/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/


Testing
-------

- Tested with java 7, java 8
- Ran full Atlas build with and without ibm-graph maven profile enabled
- No regressions


Thanks,

Jeff Hagelberg


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

Posted by Apoorv Naik <na...@gmail.com>.
-----------------------------------------------------------
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
> 
>


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

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




webapp/src/main/java/org/apache/atlas/web/resources/ExportService.java
Line 84 (original)
<https://reviews.apache.org/r/56724/#comment247081>

    But we should still set the attribute which affects memory usage for compiled query cache.


- Suma Shivaprasad


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


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

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

> On May 4, 2017, 5:31 p.m., Suma Shivaprasad wrote:
> > webapp/src/main/java/org/apache/atlas/web/resources/ExportService.java
> > Line 84 (original)
> > <https://reviews.apache.org/r/56724/diff/6/?file=1655165#file1655165line94>
> >
> >     why was this removed?

The executeGremlin call has changed and internally it uses a script engine (the same one) too. So doesn't make sense to pass around the script engine anymore only the bindings.


- Apoorv


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


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


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

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




webapp/src/main/java/org/apache/atlas/web/resources/ExportService.java
Line 84 (original)
<https://reviews.apache.org/r/56724/#comment247006>

    why was this removed?


- Suma Shivaprasad


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


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

Posted by Apoorv Naik <na...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/56724/#review173215
-----------------------------------------------------------



Using a new review https://reviews.apache.org/r/58803/ to track this change.

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


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

Posted by Jeff Hagelberg <jn...@us.ibm.com>.
-----------------------------------------------------------
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.


Changes
-------

Rebased changes, addressed review comments.


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 (updated)
-----

  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/

Changes: https://reviews.apache.org/r/56724/diff/5-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


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

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

> On March 1, 2017, 10 p.m., David Kantor wrote:
> > graphdb/ibm-graph/readme.txt
> > Lines 35 (patched)
> > <https://reviews.apache.org/r/56724/diff/5/?file=1644757#file1644757line35>
> >
> >     This implies that you applied additional changes to support using maven properties, rather than having to edit multiple copies of the credentials.json that were spread around various maven projects in the fork source.

Yes, I added changes to support this.


> On March 1, 2017, 10 p.m., David Kantor wrote:
> > graphdb/ibm-graph/readme.txt
> > Lines 94 (patched)
> > <https://reviews.apache.org/r/56724/diff/5/?file=1644757#file1644757line94>
> >
> >     "This dependency needs to be removed".

Neeru fixed this particular issue in the titan1 changes.


- Jeff


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


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


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

Posted by David Kantor <dk...@us.ibm.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/56724/#review167559
-----------------------------------------------------------




graphdb/ibm-graph/readme-mt-support.txt
Lines 1 (patched)
<https://reviews.apache.org/r/56724/#comment239454>

    Rename this file to readme-multitenancy-support.txt.
    Reword opening sentence: "The multi-tenancy support presented here was originally implemented on a private Atlas fork".



graphdb/ibm-graph/readme-mt-support.txt
Lines 2 (patched)
<https://reviews.apache.org/r/56724/#comment239453>

    A basis for MT support is being contributed, it just requires some additional work in Atlas to "wire it up" i.e. adding tenant ID to http header, etc...  Suggested rewording: "This document describes the architecture and design of that multi-tenancy implementation".



graphdb/ibm-graph/readme-mt-support.txt
Lines 5 (patched)
<https://reviews.apache.org/r/56724/#comment239466>

    Split discussion of tenant ID and tenant data storage architecture into separate paragraphs.



graphdb/ibm-graph/readme-mt-support.txt
Lines 6 (patched)
<https://reviews.apache.org/r/56724/#comment239467>

    Reword: "Two different approaches were used for storing tenant data: graph-per-tenant and partition-per-tenant.  With graph-per-tenant, ...".



graphdb/ibm-graph/readme-mt-support.txt
Lines 18-19 (patched)
<https://reviews.apache.org/r/56724/#comment239468>

    Reword: "In partition-per-tenant, data for all tenants is stored in a single graph, and each tenant has a separate partition within that graph".



graphdb/ibm-graph/readme-mt-support.txt
Lines 21 (patched)
<https://reviews.apache.org/r/56724/#comment239469>

    "In partition-per-tenant, there is no need..."



graphdb/ibm-graph/readme-mt-support.txt
Lines 22 (patched)
<https://reviews.apache.org/r/56724/#comment239470>

    type registration



graphdb/ibm-graph/readme-mt-support.txt
Lines 24 (patched)
<https://reviews.apache.org/r/56724/#comment239479>

    New paragraph.
    Reword opening sentence:"The graph-per-tenant and partition-per-tenant data storage implementations are included in this project, but at this writing, Atlas core has not been modified to enable multi-tenancy".



graphdb/ibm-graph/readme-mt-support.txt
Lines 29 (patched)
<https://reviews.apache.org/r/56724/#comment239464>

    Note that this is the strategy being used in this contribution of IBM Graph support.



graphdb/ibm-graph/readme-mt-support.txt
Lines 32 (patched)
<https://reviews.apache.org/r/56724/#comment239482>

    Reword: "The tenant data storage strategy is configured via the atlas.graphdb.tenantGraphStrategyImpl property in atlas-application.properties.  Currently, only org.apache.atlas.ibmgraph.MultiTenancyDisabledStrategy can be used".



graphdb/ibm-graph/readme-mt-support.txt
Lines 36 (patched)
<https://reviews.apache.org/r/56724/#comment239483>

    Reword: "The multi-tenancy implementation also introduced the notion of "shared" and "user" graphs."



graphdb/ibm-graph/readme-mt-support.txt
Lines 38 (patched)
<https://reviews.apache.org/r/56724/#comment239458>

    user graph



graphdb/ibm-graph/readme-mt-support.txt
Lines 39 (patched)
<https://reviews.apache.org/r/56724/#comment239460>

    AtlasGraphProvider



graphdb/ibm-graph/readme-mt-support.txt
Lines 42 (patched)
<https://reviews.apache.org/r/56724/#comment239484>

    Reword: "To enable multi-tenancy in Atlas with IBM Graph, the Atlas core code requires changes to use the correct graph (user or shared)".



graphdb/ibm-graph/readme.txt
Lines 13 (patched)
<https://reviews.apache.org/r/56724/#comment239444>

    I'd suggest splitting this into 2 sections - BUILDING/TESTING ATLAS WITH IBM GRAPH and RUNNING ATLAS WITH IBM GRAPH.



graphdb/ibm-graph/readme.txt
Lines 16 (patched)
<https://reviews.apache.org/r/56724/#comment239437>

    Perhaps provide some info about how to create an IBM Graph service instance on BlueMix.



graphdb/ibm-graph/readme.txt
Lines 18 (patched)
<https://reviews.apache.org/r/56724/#comment239442>

    Where do they get these values from?  See earlier comment about providing info on creating a service instance.



graphdb/ibm-graph/readme.txt
Lines 28 (patched)
<https://reviews.apache.org/r/56724/#comment239451>

    You jump into mentioning credentials.json without first explaining what that is.



graphdb/ibm-graph/readme.txt
Lines 35 (patched)
<https://reviews.apache.org/r/56724/#comment239441>

    This implies that you applied additional changes to support using maven properties, rather than having to edit multiple copies of the credentials.json that were spread around various maven projects in the fork source.



graphdb/ibm-graph/readme.txt
Lines 72 (patched)
<https://reviews.apache.org/r/56724/#comment239447>

    Remove "This is happening because the" i.e. just start the sentence with "EntityLineageService is hard-coded..."



graphdb/ibm-graph/readme.txt
Lines 73 (patched)
<https://reviews.apache.org/r/56724/#comment239452>

    Do a global replace of "Tinker Pop" with "TinkerPop"



graphdb/ibm-graph/readme.txt
Lines 79 (patched)
<https://reviews.apache.org/r/56724/#comment239449>

    Remove "The"



graphdb/ibm-graph/readme.txt
Lines 94 (patched)
<https://reviews.apache.org/r/56724/#comment239485>

    "This dependency needs to be removed".


- David Kantor


On Feb. 22, 2017, 11:44 p.m., Jeff Hagelberg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/56724/
> -----------------------------------------------------------
> 
> (Updated Feb. 22, 2017, 11:44 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 57b5137178dd179f86edb9a7af4f260b4b7d0ece 
>   graphdb/ibm-graph/pom.xml PRE-CREATION 
>   graphdb/ibm-graph/readme-mt-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 2d303e4d5c29943ceef7883f3ad10a366d7f26aa 
>   graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 75ea54511535ab72b5d00e7c5d8a1eccaffc3ef2 
>   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 
>   pom.xml 798e965fa03c311728777d61bb1ec439caf5e1ee 
>   repository/src/main/java/org/apache/atlas/gremlin/Gremlin3ExpressionFactory.java add7e07006190247112eeba1ca85d62b6f5c2a08 
>   repository/src/main/java/org/apache/atlas/gremlin/GremlinExpressionFactory.java c2fdf092d2078749a0d43d5c55be5d87fd24fc4e 
>   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 49d5a080158e3e54fd917a13f743f1cf495e66b0 
>   repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasTypeDefGraphStoreV1.java b76dfefac6305e0152d1bdc108b625219e8ff5e5 
>   repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 752a522c94df0865e8a3f1be8d772de36e5fca0c 
>   repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 2863aca1a1bfa7cd200230b314ddb9954266fe87 
>   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 e5abd7717ae965c91eed64cd106acc885dc5bc4d 
>   repository/src/test/java/org/apache/atlas/discovery/DataSetLineageServiceTest.java da2b44267a433cee791b883c7127b4fe1082ef68 
>   repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java ffda9849e9632bff6764aed70c76a2f50f493d0d 
>   repository/src/test/java/org/apache/atlas/lineage/EntityLineageServiceTest.java 19124d7792396a41f95198aec1668e4132b94c76 
>   repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 79550baca67ebafae4da3b679bfbb00e00c8d225 
>   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 555f0acc22c4bec67f1a2a4064acad66e939747a 
>   repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java 845bbb47060e516d1fdb9ce382770c44cfbda8d0 
>   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 96c2ce52fe41fb81406474311a4ace94ab4f972e 
>   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 a431e0240eed36c24b5b7ae4a7af201366dbf862 
>   webapp/src/main/java/org/apache/atlas/web/resources/ExportService.java bbd48bcb3a3fdbb71e271faa85edfb9d1f48cad8 
>   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 134c79889ca795a1f41641b1136fc41599716653 
>   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/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/5/
> 
> 
> Testing
> -------
> 
> - Tested with java 7, java 8
> - Ran full Atlas build with and without ibm-graph maven profile enabled
> - No regressions
> 
> 
> Thanks,
> 
> Jeff Hagelberg
> 
>


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

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

(Updated Feb. 22, 2017, 11:44 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 (updated)
-------

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 57b5137178dd179f86edb9a7af4f260b4b7d0ece 
  graphdb/ibm-graph/pom.xml PRE-CREATION 
  graphdb/ibm-graph/readme-mt-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 2d303e4d5c29943ceef7883f3ad10a366d7f26aa 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 75ea54511535ab72b5d00e7c5d8a1eccaffc3ef2 
  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 
  pom.xml 798e965fa03c311728777d61bb1ec439caf5e1ee 
  repository/src/main/java/org/apache/atlas/gremlin/Gremlin3ExpressionFactory.java add7e07006190247112eeba1ca85d62b6f5c2a08 
  repository/src/main/java/org/apache/atlas/gremlin/GremlinExpressionFactory.java c2fdf092d2078749a0d43d5c55be5d87fd24fc4e 
  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 49d5a080158e3e54fd917a13f743f1cf495e66b0 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasTypeDefGraphStoreV1.java b76dfefac6305e0152d1bdc108b625219e8ff5e5 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 752a522c94df0865e8a3f1be8d772de36e5fca0c 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 2863aca1a1bfa7cd200230b314ddb9954266fe87 
  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 e5abd7717ae965c91eed64cd106acc885dc5bc4d 
  repository/src/test/java/org/apache/atlas/discovery/DataSetLineageServiceTest.java da2b44267a433cee791b883c7127b4fe1082ef68 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java ffda9849e9632bff6764aed70c76a2f50f493d0d 
  repository/src/test/java/org/apache/atlas/lineage/EntityLineageServiceTest.java 19124d7792396a41f95198aec1668e4132b94c76 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 79550baca67ebafae4da3b679bfbb00e00c8d225 
  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 555f0acc22c4bec67f1a2a4064acad66e939747a 
  repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java 845bbb47060e516d1fdb9ce382770c44cfbda8d0 
  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 96c2ce52fe41fb81406474311a4ace94ab4f972e 
  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 a431e0240eed36c24b5b7ae4a7af201366dbf862 
  webapp/src/main/java/org/apache/atlas/web/resources/ExportService.java bbd48bcb3a3fdbb71e271faa85edfb9d1f48cad8 
  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 134c79889ca795a1f41641b1136fc41599716653 
  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/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/


Testing
-------

- Tested with java 7, java 8
- Ran full Atlas build with and without ibm-graph maven profile enabled
- No regressions


Thanks,

Jeff Hagelberg


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

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

(Updated Feb. 22, 2017, 11:36 p.m.)


Review request for atlas, David Kantor and Neeru Gupta.


Changes
-------

removed unused code.


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 to java 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 (updated)
-----

  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 57b5137178dd179f86edb9a7af4f260b4b7d0ece 
  graphdb/ibm-graph/pom.xml PRE-CREATION 
  graphdb/ibm-graph/readme-mt-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 2d303e4d5c29943ceef7883f3ad10a366d7f26aa 
  graphdb/titan0/src/main/java/org/apache/atlas/repository/graphdb/titan0/Titan0Graph.java 75ea54511535ab72b5d00e7c5d8a1eccaffc3ef2 
  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 
  pom.xml 798e965fa03c311728777d61bb1ec439caf5e1ee 
  repository/src/main/java/org/apache/atlas/gremlin/Gremlin3ExpressionFactory.java add7e07006190247112eeba1ca85d62b6f5c2a08 
  repository/src/main/java/org/apache/atlas/gremlin/GremlinExpressionFactory.java c2fdf092d2078749a0d43d5c55be5d87fd24fc4e 
  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 49d5a080158e3e54fd917a13f743f1cf495e66b0 
  repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasTypeDefGraphStoreV1.java b76dfefac6305e0152d1bdc108b625219e8ff5e5 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala 752a522c94df0865e8a3f1be8d772de36e5fca0c 
  repository/src/main/scala/org/apache/atlas/query/GremlinQuery.scala 2863aca1a1bfa7cd200230b314ddb9954266fe87 
  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 e5abd7717ae965c91eed64cd106acc885dc5bc4d 
  repository/src/test/java/org/apache/atlas/discovery/DataSetLineageServiceTest.java da2b44267a433cee791b883c7127b4fe1082ef68 
  repository/src/test/java/org/apache/atlas/discovery/GraphBackedDiscoveryServiceTest.java ffda9849e9632bff6764aed70c76a2f50f493d0d 
  repository/src/test/java/org/apache/atlas/lineage/EntityLineageServiceTest.java 19124d7792396a41f95198aec1668e4132b94c76 
  repository/src/test/java/org/apache/atlas/repository/audit/HBaseBasedAuditRepositoryTest.java 79550baca67ebafae4da3b679bfbb00e00c8d225 
  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 555f0acc22c4bec67f1a2a4064acad66e939747a 
  repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java 845bbb47060e516d1fdb9ce382770c44cfbda8d0 
  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 96c2ce52fe41fb81406474311a4ace94ab4f972e 
  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 a431e0240eed36c24b5b7ae4a7af201366dbf862 
  webapp/src/main/java/org/apache/atlas/web/resources/ExportService.java bbd48bcb3a3fdbb71e271faa85edfb9d1f48cad8 
  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 134c79889ca795a1f41641b1136fc41599716653 
  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/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/


Testing
-------

- Tested with java 7, java 8
- Ran full Atlas build with and without ibm-graph maven profile enabled
- No regressions


Thanks,

Jeff Hagelberg