[ 
https://issues.apache.org/jira/browse/ATLAS-1743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15978552#comment-15978552
 ] 

Sharmadha Sainath edited comment on ATLAS-1743 at 4/21/17 11:35 AM:
--------------------------------------------------------------------

[~ayubkhan] ,

Uniqueness of an asset is identified through qualified name or GUID.The REST 
API to create an asset acts an UPDATE when the assets already exists in atlas 
and CREATE when it doesn't.

This is true and as per documentation 
http://atlas.incubator.apache.org/api/v2/resource_EntityREST.html#resource_EntityREST_createOrUpdate_POST
 - "Create new entity or update existing entity in Atlas. Existing entity is 
matched using its unique guid if supplied or by its unique attributes eg: 
qualifiedName"

and it is working as designed . But my thought is since we have a single POST 
call for both create and update , more vigilant check could be done like 
checking the GUID also. Like if entity with GUID exists , Atlas should do an 
update or create if GUID doesn't exist or it is negative (starts with "-")






was (Author: ssainath):
[~ayubkhan] ,

Uniqueness of an asset is identified through qualified name or GUID.The REST 
API to create an asset acts an UPDATE when the assets already exists in atlas 
and CREATE when it doesn't.

This is true and as per documentation 
http://atlas.incubator.apache.org/api/v2/resource_EntityREST.html#resource_EntityREST_createOrUpdate_POST
 - "Create new entity or update existing entity in Atlas. Existing entity is 
matched using its unique guid if supplied or by its unique attributes eg: 
qualifiedName"

and it is working as designed . But my thought is since we have a single POST 
call for both create and update , more vigilant check could be done like 
checking the GUID also. Like if entity with GUID exists , Atlas should do an 
update or create. 





> Issue with uniqueAttribute while creation of entities
> -----------------------------------------------------
>
>                 Key: ATLAS-1743
>                 URL: https://issues.apache.org/jira/browse/ATLAS-1743
>             Project: Atlas
>          Issue Type: Bug
>          Components:  atlas-core
>    Affects Versions: 0.8-incubating, 0.9-incubating
>            Reporter: Sharmadha Sainath
>
> Atlas allows creation of entities with same value for unique attributes.
> For example ,
> 1. Created an hdfs_path entity with 
> * name = dir1
> * qualifiedName = "userdir@cl1" 
> * path = /user/user1/dir
> Entity is created successfully.
> 2. Created another hdfs_path entity  with
> * name = dir2
> * qualifiedName = "userdir@cl1" 
> * path = /user/user2/dir
> Qualified Name is uniqueAttribute and entity creation with same Qualified 
> Name is allowed.
> Problem is when the 2nd hdfs_path entity is created , 1st entity is updated 
> with 2nd entity's values , hence 2nd entity creation is merely an update call 
> here instead of a create call because of same unique attribute.
> There is no condition to check uniqueness of attributes while creation of 
> entities which is causing the problem.
> If 1st hdfs_path entity is DELETED , then 2nd hdfs_path entity POST call 
> creates new entity.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to