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

David Kantor commented on ATLAS-496:
------------------------------------

Continuing previous comment...   
With optimistic locking, there could be a lock ID value on each entity which is 
incremented whenever the entity is updated.  This lock ID would be part of the 
object state returned clients when they retrieve an entity.  When applying a 
full update, that lock ID would included in the entity state used for the 
update, and then checked against the persisted state of the entity to see if 
there is a match.  If the persisted lock ID is greater than the value passed in 
by the client, that indicates another user had updated the object, and the 
object state being used for the update is stale and the update should be 
disallowed.  

> Optimistic locking to prevent update conflicts
> ----------------------------------------------
>
>                 Key: ATLAS-496
>                 URL: https://issues.apache.org/jira/browse/ATLAS-496
>             Project: Atlas
>          Issue Type: Improvement
>            Reporter: David Kantor
>
> The ATLAS api does not adequately protect against concurrent activity against 
> the same entity, type or other object.
> Some form of locking is desirable, though strict locking and/or 2pc are 
> problematic in a highly distributed environment. Optimistic locking may be 
> the best approach so that at a minimum an application attempting to do a 
> modification will be alerted if another application has touched the same 
> (object) since that app last retrieved the object.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to