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

madhan pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/atlas.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new 50af635  ATLAS-3674: ZipFileMigationImporter: Migration status display 
fix. Part 2
50af635 is described below

commit 50af6354bedcc5038efc903641384e9d21a05edb
Author: Ashutosh Mestry <[email protected]>
AuthorDate: Mon Mar 30 09:09:43 2020 -0700

    ATLAS-3674: ZipFileMigationImporter: Migration status display fix. Part 2
    
    (cherry picked from commit d727cef743bf78293c3affed5f003fab3d1b02de)
---
 .../repository/migration/DataMigrationStatusService.java | 16 +++++++++++++---
 .../store/graph/v2/bulkimport/pc/EntityConsumer.java     |  6 +++---
 .../impexp/DataMigrationStatusServiceTest.java           |  9 ++++++++-
 3 files changed, 24 insertions(+), 7 deletions(-)

diff --git 
a/repository/src/main/java/org/apache/atlas/repository/migration/DataMigrationStatusService.java
 
b/repository/src/main/java/org/apache/atlas/repository/migration/DataMigrationStatusService.java
index c0ebb5f..7a6e148 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/migration/DataMigrationStatusService.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/migration/DataMigrationStatusService.java
@@ -96,12 +96,12 @@ public class DataMigrationStatusService {
 
     public void savePosition(Long position) {
         this.status.setCurrentIndex(position);
-        this.migrationStatusVertexManagement.updateVertexPartial(this.status);
+        
this.migrationStatusVertexManagement.updateVertexPartialPosition(this.status);
     }
 
     public void setStatus(String status) {
         this.status.setOperationStatus(status);
-        this.migrationStatusVertexManagement.updateVertexPartial(this.status);
+        
this.migrationStatusVertexManagement.updateVertexPartialStatus(this.status);
     }
 
     private static class MigrationStatusVertexManagement {
@@ -170,7 +170,7 @@ public class DataMigrationStatusService {
             return null;
         }
 
-        public void updateVertexPartial(MigrationImportStatus status) {
+        public void updateVertexPartialPosition(MigrationImportStatus status) {
             try {
                 setEncodedProperty(vertex, PROPERTY_KEY_POSITION, 
status.getCurrentIndex());
             } catch (Exception e) {
@@ -180,6 +180,16 @@ public class DataMigrationStatusService {
             }
         }
 
+        public void updateVertexPartialStatus(MigrationImportStatus status) {
+            try {
+                setEncodedProperty(vertex, PROPERTY_KEY_STATUS, 
status.getOperationStatus());
+            } catch (Exception e) {
+                LOG.warn("Error updating status. Please rely on log 
messages.", e);
+            } finally {
+                atlasGraph.commit();
+            }
+        }
+
         private void updateVertex(AtlasVertex vertex, MigrationImportStatus 
status) {
             try {
                 setEncodedProperty(vertex, Constants.GUID_PROPERTY_KEY, 
status.getName());
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/bulkimport/pc/EntityConsumer.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/bulkimport/pc/EntityConsumer.java
index 34b0561..b73988f 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/bulkimport/pc/EntityConsumer.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/bulkimport/pc/EntityConsumer.java
@@ -80,9 +80,9 @@ public class EntityConsumer extends 
WorkItemConsumer<AtlasEntity.AtlasEntityWith
 
     @Override
     protected void processItem(AtlasEntity.AtlasEntityWithExtInfo 
entityWithExtInfo) {
-        int delta = (MapUtils.isEmpty(entityWithExtInfo.getReferredEntities())
+        int delta = MapUtils.isEmpty(entityWithExtInfo.getReferredEntities())
                 ? 1
-                : entityWithExtInfo.getReferredEntities().size()) + 1;
+                : entityWithExtInfo.getReferredEntities().size() + 1;
 
         long currentCount = counter.addAndGet(delta);
         currentBatch.addAndGet(delta);
@@ -91,7 +91,7 @@ public class EntityConsumer extends 
WorkItemConsumer<AtlasEntity.AtlasEntityWith
             processEntity(entityWithExtInfo, currentCount);
             attemptCommit();
         } catch (Exception e) {
-            LOG.info("Data loss: Please re-submit!", e);
+            LOG.info("Invalid entities. Possible data loss: Please correct and 
re-submit!", e);
         }
     }
 
diff --git 
a/repository/src/test/java/org/apache/atlas/repository/impexp/DataMigrationStatusServiceTest.java
 
b/repository/src/test/java/org/apache/atlas/repository/impexp/DataMigrationStatusServiceTest.java
index c96d04c..f1dc990 100644
--- 
a/repository/src/test/java/org/apache/atlas/repository/impexp/DataMigrationStatusServiceTest.java
+++ 
b/repository/src/test/java/org/apache/atlas/repository/impexp/DataMigrationStatusServiceTest.java
@@ -38,7 +38,9 @@ public class DataMigrationStatusServiceTest {
     AtlasGraph atlasGraph;
 
     @Test
-    public void createUpdateDelete() throws AtlasBaseException {
+    public void createUpdateDelete() {
+        final String STATUS_DONE = "DONE";
+
         DataMigrationStatusService dataMigrationStatusService = new 
DataMigrationStatusService(atlasGraph);
 
         MigrationImportStatus expected = new 
MigrationImportStatus("/tmp/defg.zip");
@@ -59,6 +61,11 @@ public class DataMigrationStatusServiceTest {
         
assertNotNull(dataMigrationStatusService.getStatus().getCurrentIndex(), "100");
         
assertNotNull(dataMigrationStatusService.getCreate(expected).getCurrentIndex(), 
"100");
 
+
+        dataMigrationStatusService.setStatus(STATUS_DONE);
+        
assertNotNull(dataMigrationStatusService.getCreate(expected).getOperationStatus());
+        
assertEquals(dataMigrationStatusService.getCreate(expected).getOperationStatus(),
 STATUS_DONE);
+
         dataMigrationStatusService.delete();
         assertNull(dataMigrationStatusService.getStatus());
     }

Reply via email to