----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/65790/ -----------------------------------------------------------
(Updated March 4, 2018, 5:25 p.m.) Review request for atlas, Apoorv Naik, Madhan Neethiraj, and Ruchi Solani. Changes ------- Updates include: - Addressed review comments. - Added entry to main _pom.xml_ to be included as part of build. Bugs: ATLAS-2461 https://issues.apache.org/jira/browse/ATLAS-2461 Repository: atlas Description ------- **Background** The data migration utility allows for exporting data from an Atlas instance without the server running. This is important as it will prevent Atlas from processing any requests. **Approach** The migration is a new utility that will perform export of data using a pre-defined export request file. The approach used by this application: - Create an application context (_migrationContext.xml_). This context, prevents instantiation of number of classes, most notably _webapp_, _notifications_, _listeners_. - Create _ImportService_ using Spring's framework classes. Here are the pieces: - _MigrationApp_: Contains _main_. It is the entry point for the app. - _Exporter_: Contains plumbing needed to use the new _migrationContext.xml_ and create _ApplicationContext_ for use. - Dengenerate classes _EmptyNotification_, _EmptyNotificationChangeListener_. These are necessary to launch the application in a way that no notifications are sent out. - _atlas_migration.py_ Creates environment for the app to execute. It launches the application. - _migration-export-request.json_ This can be modified for environments that do not have latest improvements to _Export_. - _README_: Instructions on usage. **Build** The project maven's assembly building plugin. The build will create a ZIP file with the necessary files. _mvn install package_ generates a ZIP file in _target_ directory. **Usage (from README)** - Use Ambari to turn shutdown Atlas. - Unzip contents of the ZIP to a directory on the server using: 'unzip atlas-migration-kit.zip' - cd atlas-migration-kit - Run 'python atlas_migration.py'. Use 'python atlas_migration.py <path-file.zip>' to export to a specific file. - To watch the progress: 'tail -f /var/log/atlas/application.log'. Diffs (updated) ----- pom.xml 7db1be78 tools/atlas-migration-utility/pom.xml PRE-CREATION tools/atlas-migration-utility/src/assembly/bin.xml PRE-CREATION tools/atlas-migration-utility/src/main/java/org/apache/atlas/migration/Exporter.java PRE-CREATION tools/atlas-migration-utility/src/main/java/org/apache/atlas/migration/NoOpNotification.java PRE-CREATION tools/atlas-migration-utility/src/main/java/org/apache/atlas/migration/NoOpNotificationChangeListener.java PRE-CREATION tools/atlas-migration-utility/src/main/resources/README PRE-CREATION tools/atlas-migration-utility/src/main/resources/atlas_migration.py PRE-CREATION tools/atlas-migration-utility/src/main/resources/migration-export-request.json PRE-CREATION tools/atlas-migration-utility/src/main/resources/migrationContext.xml PRE-CREATION Diff: https://reviews.apache.org/r/65790/diff/4/ Changes: https://reviews.apache.org/r/65790/diff/3-4/ Testing ------- **Unit tests** None. **Functional tests** Exports from existing clusters. File Attachments ---------------- Migration Utility https://reviews.apache.org/media/uploaded/files/2018/02/24/e8090ed0-13b6-4253-a59c-d3f2098943af__atlas-migration-kit-0.8.3-SNAPSHOT-bin.zip Thanks, Ashutosh Mestry