----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/75223/ -----------------------------------------------------------
(Updated Jan. 8, 2025, 11:08 a.m.) Review request for atlas, Jayendra Parab, Mandar Ambawane, and Pinal Shah. Bugs: ATLAS-4907 https://issues.apache.org/jira/browse/ATLAS-4907 Repository: atlas Description ------- Whenever Migration starts and vertex is created for the respective file in progress whenever Migration status is attempted to update it fails with nullpointer exception Due to this because the position was not updated in db hence when migration was interrupted and restarted it would start from position 0 2024-09-18 10:29:04,153 WARN - [zipFileBasedMigrationImporter:] ~ Error updating status. Please rely on log messages. (DataMigrationStatusService$MigrationStatusVertexManagement:202) java.lang.NullPointerException at org.apache.atlas.repository.store.graph.v2.AtlasGraphUtilsV2.setProperty(AtlasGraphUtilsV2.java:250) at org.apache.atlas.repository.store.graph.v2.AtlasGraphUtilsV2.setEncodedProperty(AtlasGraphUtilsV2.java:238) at org.apache.atlas.repository.migration.DataMigrationStatusService$MigrationStatusVertexManagement.updateVertexPartialStatus(DataMigrationStatusService.java:200) at org.apache.atlas.repository.migration.DataMigrationStatusService.setStatus(DataMigrationStatusService.java:119) at org.apache.atlas.repository.store.graph.v2.bulkimport.pc.EntityCreationManager.read(EntityCreationManager.java:57) at org.apache.atlas.repository.store.graph.v2.bulkimport.MigrationImport.run(MigrationImport.java:79) at org.apache.atlas.repository.store.graph.v2.BulkImporterImpl.bulkImport(BulkImporterImpl.java:77) at org.apache.atlas.repository.impexp.ImportService.processEntities(ImportService.java:232) at org.apache.atlas.repository.impexp.ImportService.run(ImportService.java:119) at org.apache.atlas.repository.impexp.ImportService.run(ImportService.java:96) at org.apache.atlas.repository.migration.ZipFileMigrationImporter.performImport(ZipFileMigrationImporter.java:255) at org.apache.atlas.repository.migration.ZipFileMigrationImporter.run(ZipFileMigrationImporter.java:97) at java.lang.Thread.run(Thread.java:748) With this patch adds file hash instead of filename whenever it will try to update vertex with status and position it will use file hash Diffs (updated) ----- repository/src/main/java/org/apache/atlas/repository/migration/DataMigrationStatusService.java 5b22f9cd5 Diff: https://reviews.apache.org/r/75223/diff/3/ Changes: https://reviews.apache.org/r/75223/diff/2-3/ Testing ------- Before patch even after migration was completed position was never updated due to above nullpointer exception gremlin> g.V().has("__guid","b4fa0dcf2b0acac65e75dfda4f6dedd9").valueMap() ==>[__guid:[b4fa0dcf2b0acac65e75dfda4f6dedd9],__migration.startTime:[1726486589197],__migration.size:[1],__migration.position:[0],__migration.status:[DONE]] 2024-10-02 14:16:53,204 INFO - [zipFileBasedMigrationImporter:] ~ Migration Import: Size: 0: Done! (MigrationImport:87) After applying patch when interrupted in between it fetches last position of entities processed: ==>[__guid:[b4fa0dcf2b0acac65e75dfda4f6dedd9],__migration.startTime:[1727887269568],__migration.size:[1],__migration.position:[6],__migration.status:[IN_PROGRESS]] After completing migration: gremlin> g.V().has("__guid","b4fa0dcf2b0acac65e75dfda4f6dedd9").valueMap() ==>[__guid:[b4fa0dcf2b0acac65e75dfda4f6dedd9],__migration.startTime:[1727950058639],__migration.size:[1],__migration.position:[3553],__migration.status:[DONE]] It fetches correct position 2024-10-03 15:44:08,163 INFO - [zipFileBasedMigrationImporter:] ~ Migration Import: Size: 3555: Done! (MigrationImport:88) Thanks, chaitali