----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/65790/ -----------------------------------------------------------
Review request for atlas, Apoorv Naik, Madhan Neethiraj, and Ruchi Solani. 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. - _Interactors_: Contains plumbing needed to use the new _migrationContext.xml_ and create _applicationContext_ for use. - Dengenerated classes _EmptyNotification_, _EmptyNotificationChangeListener_. These are necessary to launch the application. - _atlas-migration-setup.sh_ Installs the JAR at _/usr/hdp/current/atlas-server/server/webapp/atlas/WEB-INF/lib_ - _atlas_migration.py_ Creates environment for the app to execute. It launches the application. - _export-request.json_ This can be modified for environments that do not have latest improvements to _Export_. - _atlas-migration-shutdown.sh_ Removes the installed migration app and restarts Atlas. **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** - Copy the ZIP file to the server location. - Use _unzip atlas-migration-kit-0.8.3-SNAPSHOT-bin.zip_ - Contents will be unzipped to _atlas-migration-kit-0.8.3-SNAPSHOT_ directory. - cd _atlas-migration-kit-0.8.3-SNAPSHOT_ - _bash ./atlas-migration-setup.sh_ - _python /usr/hdp/current/atlas-server/bin/atlas_migration.py export export-2.zip_ - Watch the progress using _tail -f /var/log/atlas/application.log_ - When done use: _bash ./atlas-migration-shutdown.sh_ - Move the generated ZIP file to the new clusters server location. Diffs ----- notification/src/test/java/org/apache/atlas/notification/AbstractNotificationTest.java 655252cb repository/src/main/java/org/apache/atlas/repository/userprofile/UserProfileService.java a428b92e 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/EmptyNotification.java PRE-CREATION tools/atlas-migration-utility/src/main/java/org/apache/atlas/migration/EmptyNotificationChangeListener.java PRE-CREATION tools/atlas-migration-utility/src/main/java/org/apache/atlas/migration/Interactors.java PRE-CREATION tools/atlas-migration-utility/src/main/java/org/apache/atlas/migration/MigrationApp.java PRE-CREATION tools/atlas-migration-utility/src/main/resources/README PRE-CREATION tools/atlas-migration-utility/src/main/resources/atlas-migration-setup.sh PRE-CREATION tools/atlas-migration-utility/src/main/resources/atlas-migration-shutdown.sh PRE-CREATION tools/atlas-migration-utility/src/main/resources/atlas_migration.py PRE-CREATION tools/atlas-migration-utility/src/main/resources/export-request.json PRE-CREATION tools/atlas-migration-utility/src/main/resources/migrationContext.xml PRE-CREATION Diff: https://reviews.apache.org/r/65790/diff/1/ Testing ------- **Unit tests** None. **Functional tests** Exports from existing clusters. Thanks, Ashutosh Mestry