Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.0.0
-
None
-
None
Description
UPDATE
I tracked down specifically what causes this and have updated the title and this description to reflect that. I've left the old description as reference.
When using the AtlasClientV2 while performing complex add/modify operations, if you do not NULL out the relationship attributes on an update, any references that you may have added will not be set. Using the relationship REST API also fails to set the legacy attributes on relationships, and fails to set them at all in some cases.
This works:
{ "referredEntities": {}, "entity": { "typeName": "Customer", "attributes": { "owner": null, "extractProcesses": null, "systems": [{"guid":"cd80c575-f092-4ea7-ad43-3ee0e4bbefd3", "typeName":"SorSystem"}], "qualifiedName": "clueacademy@dev-app-1", "name": "clueAcademy", "description": "Cluemasters Academy", "collectedDataSets": null }, "guid": "efb17484-15d7-4001-a0e5-e135d96eca9e", "status": "ACTIVE", "createdBy": "admin", "updatedBy": "admin", "createTime": 1506961203462, "updateTime": 1506961207280, "version": 0 } }
This doesn't work:
{ "referredEntities": {}, "entity": { "typeName": "Customer", "attributes": { "owner": null, "extractProcesses": null, "systems": [{"guid":"cd80c575-f092-4ea7-ad43-3ee0e4bbefd3", "typeName":"SorSystem"}], "qualifiedName": "clueacademy@dev-app-1", "name": "clueAcademy", "description": "Cluemasters Academy", "collectedDataSets": null }, "guid": "efb17484-15d7-4001-a0e5-e135d96eca9e", "status": "ACTIVE", "createdBy": "admin", "updatedBy": "admin", "createTime": 1506961203462, "updateTime": 1506961207280, "version": 0, "relationshipAttributes": { "extractProcesses": null, "systems": null, "collectedDataSets": null }, "classifications": [] } }
Below is no longer valid
If a type inherits from another that has an old style reference attribute, and a new style RelationshipDef defined, creating the relationship instance fails to set the legacy attributes and in some cases fails to create the relationship itself.
Steps to reproduce:
- create a type, say my_table, that inherits from the hive_table
- Create an instance of the new type my_table
- Create an instance of a hive_column
- Create the containment relationship between the two models.
This behavior causes odd and inconsistent behavior and fully breaks lineage reports for process types that inherit from the built in Process.
Attachments
Attachments
Issue Links
- breaks
-
ATLAS-1690 Introduce top level relationships
- Resolved