You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "David Kantor (JIRA)" <ji...@apache.org> on 2016/04/01 20:31:25 UTC

[jira] [Comment Edited] (ATLAS-496) Optimistic locking to prevent update conflicts

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

David Kantor edited comment on ATLAS-496 at 4/1/16 6:31 PM:
------------------------------------------------------------

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 that is returned to clients when they retrieve an entity.  When applying a full update, that lock ID would be 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.  


was (Author: dkantor):
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)