You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ma...@apache.org on 2018/02/08 07:54:51 UTC

atlas git commit: ATLAS-2434: Performance improvement for import operation.

Repository: atlas
Updated Branches:
  refs/heads/master 4582d4a45 -> ad4db42ef


ATLAS-2434: Performance improvement for import operation.

Signed-off-by: Madhan Neethiraj <ma...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/ad4db42e
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/ad4db42e
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/ad4db42e

Branch: refs/heads/master
Commit: ad4db42ef409d4283741906e22b657bab59f3d58
Parents: 4582d4a
Author: Ashutosh Mestry <am...@hortonworks.com>
Authored: Wed Feb 7 13:02:31 2018 -0800
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Wed Feb 7 20:57:48 2018 -0800

----------------------------------------------------------------------
 .../apache/atlas/repository/store/graph/v1/AtlasGraphUtilsV1.java | 3 ++-
 .../apache/atlas/repository/store/graph/v1/BulkImporterImpl.java  | 3 +++
 .../apache/atlas/repository/store/graph/v1/EntityGraphMapper.java | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/ad4db42e/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasGraphUtilsV1.java
----------------------------------------------------------------------
diff --git a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasGraphUtilsV1.java b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasGraphUtilsV1.java
index fdc6024..13ee2a6 100644
--- a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasGraphUtilsV1.java
+++ b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasGraphUtilsV1.java
@@ -253,7 +253,8 @@ public class AtlasGraphUtilsV1 {
                 } else {
                     vertex = AtlasGraphUtilsV1.findByTypeAndPropertyName(entityType.getTypeName(), attribute.getVertexPropertyName(), attrValue);
 
-                    if (vertex == null) {
+                    // if no instance of given typeName is found, try to find an instance of type's sub-type
+                    if (vertex == null && !entityType.getAllSubTypes().isEmpty()) {
                         vertex = AtlasGraphUtilsV1.findBySuperTypeAndPropertyName(entityType.getTypeName(), attribute.getVertexPropertyName(), attrValue);
                     }
                 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/ad4db42e/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/BulkImporterImpl.java
----------------------------------------------------------------------
diff --git a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/BulkImporterImpl.java b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/BulkImporterImpl.java
index 467ced7..af31095 100644
--- a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/BulkImporterImpl.java
+++ b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/BulkImporterImpl.java
@@ -19,6 +19,7 @@ package org.apache.atlas.repository.store.graph.v1;
 
 import com.google.common.annotations.VisibleForTesting;
 import org.apache.atlas.AtlasErrorCode;
+import org.apache.atlas.RequestContextV1;
 import org.apache.atlas.exception.AtlasBaseException;
 import org.apache.atlas.model.impexp.AtlasImportResult;
 import org.apache.atlas.model.instance.AtlasEntity;
@@ -98,6 +99,8 @@ public class BulkImporterImpl implements BulkImporter {
                 if (!updateResidualList(abe, residualList, entityWithExtInfo.getEntity().getGuid())) {
                     throw abe;
                 }
+            } finally {
+                RequestContextV1.clear();
             }
         }
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/ad4db42e/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
----------------------------------------------------------------------
diff --git a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
index b961e20..c203ff4 100644
--- a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
+++ b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
@@ -1463,7 +1463,7 @@ public class EntityGraphMapper {
         AtlasObjectId    objectId = new AtlasObjectId(GraphHelper.getGuid(vertex), GraphHelper.getTypeName(vertex));
         RequestContextV1 req      = RequestContextV1.get();
 
-        if (!objectIdsContain(req.getUpdatedEntityIds(), objectId)) {
+        if (!objectIdsContain(req.getUpdatedEntityIds(), objectId) && !objectIdsContain(req.getCreatedEntityIds(), objectId)) {
             req.recordEntityUpdate(objectId);
         }
     }