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

Reply via email to