-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67302/
-----------------------------------------------------------
(Updated May 25, 2018, 9:26 p.m.)
Review request for atlas, Madhan Neethiraj and Ruchi Solani.
Changes
-------
Updates include: Scanning of struct type during scrub process.
Bugs: ATLAS-2717
https://issues.apache.org/jira/browse/ATLAS-2717
Repository: atlas
Description
-------
**Approach**
- Attributes of classification types are pre-processed (before incoming types
are processed).
- New _STRUCT_ types are created with the classification name prefixed with
_legacy_. So, classification of the name PII is used to create a _STRUCT_ type
named _legacy_PII_.
- Entity definitions are updated to reference these newly created types.
- During edge processing, the type name of the in vertex is replaced with this
new type.
- Rest of the processing continues as is.
**Refacoring**
- Moved migration-specific functions to separate class _GraphDBMigrator_.
Diffs (updated)
-----
graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasGraph.java
e5316d80a
graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/GraphDBMigrator.java
PRE-CREATION
graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraph.java
b4d6b33ea
graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java
c9d6067db
graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/ElementProcessors.java
f51080a61
graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/GraphDBGraphSONMigrator.java
PRE-CREATION
graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/GraphSONUtility.java
f1bbfcfcd
graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/TypesDefScrubber.java
PRE-CREATION
graphdb/janus/src/test/java/org/apache/atlas/repository/graphdb/janus/migration/BaseUtils.java
aee1b698c
graphdb/janus/src/test/java/org/apache/atlas/repository/graphdb/janus/migration/GraphSONUtilityTest.java
049fd6418
graphdb/janus/src/test/resources/entity-with-trait-type.json PRE-CREATION
repository/src/main/java/org/apache/atlas/repository/impexp/MigrationProgressService.java
9620c1357
repository/src/main/java/org/apache/atlas/repository/migration/DataMigrationService.java
081376ff5
repository/src/test/java/org/apache/atlas/TestModules.java 23d128740
repository/src/test/java/org/apache/atlas/repository/migration/ComplexAttributesTest.java
800638d43
repository/src/test/java/org/apache/atlas/repository/migration/HiveParititionTest.java
cae751215
repository/src/test/java/org/apache/atlas/repository/migration/HiveStocksTest.java
9f255189d
repository/src/test/java/org/apache/atlas/repository/migration/MigrationBaseAsserts.java
4b02b7fb7
repository/src/test/java/org/apache/atlas/repository/migration/MigrationProgressServiceTest.java
8fc524e81
repository/src/test/java/org/apache/atlas/repository/migration/PathTest.java
468b5268c
repository/src/test/java/org/apache/atlas/repository/migration/TypesDefScrubberTest.java
PRE-CREATION
repository/src/test/java/org/apache/atlas/repository/migration/TypesWithClassificationTest.java
PRE-CREATION
repository/src/test/java/org/apache/atlas/repository/migration/TypesWithCollectionsFinderTest.java
4b236c1fe
repository/src/test/resources/classification_defs/atlas-migration-data.json
PRE-CREATION
repository/src/test/resources/classification_defs/atlas-migration-typesdef.json
PRE-CREATION
repository/src/test/resources/legacy-typesdef.json PRE-CREATION
Diff: https://reviews.apache.org/r/67302/diff/5/
Changes: https://reviews.apache.org/r/67302/diff/4-5/
Testing
-------
**Unit tests**
- Added tests to verify the new flow.
- Executed existing tests.
**Test data**
- In versions 2.5 onwards (post 2/13/2017) it is not possible to create
entities of such types. Entity creation API throws a validation error.
- The test data was thus hand-created.
- This data verifies the cases where attribute type is:
- Classification type
- Array of classification type.
- Map of classification type.
**Build**
[Pre-commit](https://builds.apache.org/view/A/view/Atlas/job/PreCommit-ATLAS-Build-Test/451/)
File Attachments
----------------
atlas-migration-typesdef.json
https://reviews.apache.org/media/uploaded/files/2018/05/24/c5cc2171-27f5-4d26-acd9-08aac9e1e1ef__atlas-migration-typesdef.json
atlas-migration-data.json
https://reviews.apache.org/media/uploaded/files/2018/05/24/8230c44b-9f2e-4ae2-bc1a-04424dafc08c__atlas-migration-data.json
Thanks,
Ashutosh Mestry