You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Ashutosh Mestry (JIRA)" <ji...@apache.org> on 2017/06/21 05:59:00 UTC

[jira] [Updated] (ATLAS-1889) Failure in simultaneous updates to an entity tag association

     [ https://issues.apache.org/jira/browse/ATLAS-1889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ashutosh Mestry updated ATLAS-1889:
-----------------------------------
    Description: 
*Background*
When multiple requests simultaneously attempt to change the tags associated with an entity, the current implementation might result in APIs returning fewer tags for the entity than is actually associated.

The problem thus causes UI not to behave correctly.
 
*Solution*
Implements a synchronization mechanism.
 
Steps to duplicate the problem:
* Create several tags. Eg. tag1, tag2, tag3, tag4.
* Attach these tags to and entity say ‘testtable1’
* Use the following CURL commands to delete the tags:
{code}
curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag1'  -H 'Content-Type: application/json' &
curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag2'  -H 'Content-Type: application/json' &
curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag3'  -H 'Content-Type: application/json' &
curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag4'  -H 'Content-Type: application/json'
{code}

You will notice that entity _testtable1_ ends up with some tags not deleted.
Additional querying with gremlin will show that the edges are deleted correctly.


  was:
*Background*
When multiple requests simultaneously attempt to change the tags associated with an entity, the current implementation might result in APIs returning fewer tags for the entity than is actually associated.

The problem thus causes UI not to behave correctly.
 
*Solution*
Implements a synchronization mechanism.
 
Steps to duplicate the problem:
* Create several tags. Eg. tag1, tag2, tag3, tag4.
* Attach these tags to and entity say ‘testtable1’
* Use the following CURL commands to delete the tags:
_curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag1'  -H 'Content-Type: application/json' &
curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag2'  -H 'Content-Type: application/json' &
curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag3'  -H 'Content-Type: application/json' &
curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag4'  -H 'Content-Type: application/json'
_ 
You will notice that entity _testtable1_ ends up with some tags not deleted.
Additional querying with gremlin will show that the edges are deleted correctly.



> Failure in simultaneous updates to an entity tag association
> ------------------------------------------------------------
>
>                 Key: ATLAS-1889
>                 URL: https://issues.apache.org/jira/browse/ATLAS-1889
>             Project: Atlas
>          Issue Type: Bug
>          Components:  atlas-core
>    Affects Versions: 0.8-incubating
>            Reporter: Ashutosh Mestry
>            Assignee: Ashutosh Mestry
>             Fix For: trunk, 0.8.1-incubating
>
>
> *Background*
> When multiple requests simultaneously attempt to change the tags associated with an entity, the current implementation might result in APIs returning fewer tags for the entity than is actually associated.
> The problem thus causes UI not to behave correctly.
>  
> *Solution*
> Implements a synchronization mechanism.
>  
> Steps to duplicate the problem:
> * Create several tags. Eg. tag1, tag2, tag3, tag4.
> * Attach these tags to and entity say ‘testtable1’
> * Use the following CURL commands to delete the tags:
> {code}
> curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag1'  -H 'Content-Type: application/json' &
> curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag2'  -H 'Content-Type: application/json' &
> curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag3'  -H 'Content-Type: application/json' &
> curl -X DELETE -u admin:admin 'http://localhost:21000/api/atlas/entities/a2d0b023-aafe-4ddd-bb90-65164af8796c/traits/tag4'  -H 'Content-Type: application/json'
> {code}
> You will notice that entity _testtable1_ ends up with some tags not deleted.
> Additional querying with gremlin will show that the edges are deleted correctly.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)