-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/65779/
-----------------------------------------------------------
(Updated Feb. 27, 2018, 6:13 a.m.)
Review request for atlas, Apoorv Naik, Madhan Neethiraj, and Ruchi Solani.
Changes
-------
Updates include:
- New import source added: _DirectorySource_.
Bugs: ATLAS-2460
https://issues.apache.org/jira/browse/ATLAS-2460
Repository: atlas
Description
-------
**Background**
This implementation deals with the 'import into' part of the data migration
process.
It assumes:
- Export from older cluster is done.
- Generated file has been moved to newer cluster.
**Implementation**
During _Atlas_ server startup, the configuration parameter is checked, if that
parameter exists, all services except _DataMigrationService_ is started.
Migration is started. Atlas server is available in _MIGRATION_ mode. It
processes REST calls made only to the _AdminResource_.
Here's are the udpates:
- New configuration parameter has been added:
_atlas.migration.mode.filename=<name of the file to be imported>_
This configuration parameter is set by Ambari as part of its migration
orchestration.
- _DataMigrationService_: New service that performs async migration as soon as
Atlas server starts up.
- _ImportProgressTracker_: Added to be able to query progress of import.
- _ImportService_: Modified to send updates to _ImportProgressTracker_.
- _AdminResource.getStatus()_ Now supplies additional status about migration.
- _ServiceState_ Modified to carry additional status _MIGRATION_. This status
is set by looking at the configuration parameter above.
- _AtlasEntityStoreV1_ modified to block sending out notifications during
migration.
- _Services_ modified for special handling of _DataMigrationService_.
**CURL**
Check status using:
```
curl -X GET -u admin:admin -H "Content-Type: application/json" -H
"Cache-Control: no-cache" http://localhost:21000/api/atlas/admin/status
```
Diffs (updated)
-----
common/src/main/java/org/apache/atlas/AtlasConstants.java f5de1df3
common/src/main/java/org/apache/atlas/service/Services.java 1267dc92
intg/src/main/java/org/apache/atlas/model/impexp/AtlasExportResult.java
1ea961d8
intg/src/main/java/org/apache/atlas/model/impexp/AtlasImportResult.java
b97cbb3f
repository/pom.xml b1d6b1f9
repository/src/main/java/org/apache/atlas/repository/impexp/DataMigrationService.java
PRE-CREATION
repository/src/main/java/org/apache/atlas/repository/impexp/DirectorySource.java
PRE-CREATION
repository/src/main/java/org/apache/atlas/repository/impexp/ImportProgressTracker.java
PRE-CREATION
repository/src/main/java/org/apache/atlas/repository/impexp/ImportService.java
c976c593
repository/src/main/java/org/apache/atlas/repository/impexp/ImportSource.java
PRE-CREATION
repository/src/main/java/org/apache/atlas/repository/impexp/ZipSource.java
ecfbd242
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
b5461d4b
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/BulkImporterImpl.java
af310954
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
0ba06b94
repository/src/test/java/org/apache/atlas/repository/impexp/DirectorySourceTest.java
PRE-CREATION
repository/src/test/java/org/apache/atlas/repository/impexp/ExportServiceTest.java
6fb6b454
repository/src/test/java/org/apache/atlas/repository/impexp/ImportServiceTest.java
080a96ac
repository/src/test/java/org/apache/atlas/repository/impexp/ZipFileResourceTestUtils.java
d8e916d7
repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java
8257faa1
repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasRelationshipStoreV1Test.java
ac35860d
repository/src/test/resources/stocks-2.zip PRE-CREATION
webapp/src/main/java/org/apache/atlas/Atlas.java 7cf6e3ea
webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java
1b3f2c86
webapp/src/main/java/org/apache/atlas/web/service/ServiceState.java 3fe8d18c
Diff: https://reviews.apache.org/r/65779/diff/3/
Changes: https://reviews.apache.org/r/65779/diff/2-3/
Testing (updated)
-------
**Unit tests**
Unit tests for _DirectorySource_ added.
**Functional tests**
Steps to test:
- Place the exported file say _export-1.zip_ at _/root_
- Add to _Atlas_ Ambari's customer property:
_atlas.migration.mode.filename=/root/export-1.zip_
- Ambari will prompt for a restart. Restart Atlas.
- On the server view the progress in the logs using: _tail -f
/var/log/atlas/application.log_
- Use the CURL call mentioned above and view the status and the progress of the
import.
Thanks,
Ashutosh Mestry