-----------------------------------------------------------
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

Reply via email to