You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by sa...@apache.org on 2019/12/19 04:27:54 UTC

[atlas] branch master updated: ATLAS-3562: Hive metadata has the same classification multiple times

This is an automated email from the ASF dual-hosted git repository.

sarath pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/atlas.git


The following commit(s) were added to refs/heads/master by this push:
     new 67a7367  ATLAS-3562: Hive metadata has the same classification multiple times
67a7367 is described below

commit 67a7367a786b93e596ab64b6036b6be21a11b459
Author: Mandar Ambawane <ma...@freestoneinfotech.com>
AuthorDate: Wed Dec 18 12:44:29 2019 +0530

    ATLAS-3562: Hive metadata has the same classification multiple times
    
    Signed-off-by: Sarath Subramanian <sa...@apache.org>
---
 .../atlas/repository/store/graph/v2/AtlasEntityStoreV2.java  | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
index ea5e6ab..3fbcecb 100644
--- a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
+++ b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
@@ -594,6 +594,8 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore {
             throw new AtlasBaseException(AtlasErrorCode.INVALID_PARAMETERS, "classifications(s) not specified");
         }
 
+        GraphTransactionInterceptor.lockObjectAndReleasePostCommit(guid);
+
         AtlasVertex entityVertex = AtlasGraphUtilsV2.findByGuid(guid);
 
         if (entityVertex == null) {
@@ -611,7 +613,6 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore {
 
         context.cacheEntity(guid, entityVertex, typeRegistry.getEntityTypeByName(entityHeader.getTypeName()));
 
-        GraphTransactionInterceptor.lockObjectAndReleasePostCommit(guid);
 
         for (AtlasClassification classification : classifications) {
             validateAndNormalize(classification);
@@ -638,6 +639,8 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore {
             throw new AtlasBaseException(AtlasErrorCode.INVALID_PARAMETERS, "classifications(s) not specified");
         }
 
+        GraphTransactionInterceptor.lockObjectAndReleasePostCommit(guid);
+
         AtlasVertex entityVertex = AtlasGraphUtilsV2.findByGuid(guid);
 
         if (entityVertex == null) {
@@ -654,7 +657,6 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore {
 
         context.cacheEntity(guid, entityVertex, typeRegistry.getEntityTypeByName(entityHeader.getTypeName()));
 
-        GraphTransactionInterceptor.lockObjectAndReleasePostCommit(guid);
 
         for (AtlasClassification classification : classifications) {
             validateAndNormalize(classification);
@@ -679,6 +681,8 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore {
 
         EntityMutationContext context = new EntityMutationContext();
 
+        GraphTransactionInterceptor.lockObjectAndReleasePostCommit(guids);
+
         for (String guid : guids) {
             AtlasVertex entityVertex = AtlasGraphUtilsV2.findByGuid(guid);
 
@@ -694,7 +698,6 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore {
             context.cacheEntity(guid, entityVertex, typeRegistry.getEntityTypeByName(entityHeader.getTypeName()));
         }
 
-        GraphTransactionInterceptor.lockObjectAndReleasePostCommit(guids);
 
         validateAndNormalize(classification);
 
@@ -723,6 +726,8 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore {
             throw new AtlasBaseException(AtlasErrorCode.INVALID_PARAMETERS, "classifications not specified");
         }
 
+        GraphTransactionInterceptor.lockObjectAndReleasePostCommit(guid);
+
         AtlasEntityHeader entityHeader = entityRetriever.toAtlasEntityHeaderWithClassifications(guid);
 
         // verify authorization only for removal of directly associated classification and not propagated one.
@@ -736,7 +741,6 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore {
             LOG.debug("Deleting classification={} from entity={}", classificationName, guid);
         }
 
-        GraphTransactionInterceptor.lockObjectAndReleasePostCommit(guid);
 
         entityGraphMapper.deleteClassification(guid, classificationName, associatedEntityGuid);
     }