You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@usergrid.apache.org by "Mike Dunker (JIRA)" <ji...@apache.org> on 2015/11/25 00:18:11 UTC

[jira] [Updated] (USERGRID-1129) Fix version handling so we can have optimistic concurrency

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

Mike Dunker updated USERGRID-1129:
----------------------------------
    Priority: Minor  (was: Major)

> Fix version handling so we can have optimistic concurrency
> ----------------------------------------------------------
>
>                 Key: USERGRID-1129
>                 URL: https://issues.apache.org/jira/browse/USERGRID-1129
>             Project: Usergrid
>          Issue Type: Story
>            Reporter: Mike Dunker
>            Priority: Minor
>
> According to Todd, original solution was that version was returned in a GET, and then if version was returned in a PUT, it would validate the version before allowing the write. Problem was, customers would update something and PUT it back without scrubbing the version, wanting a last-write-wins solution.
> This may be an API v2 item, although we could certainly add it to v1 also, as long as it is backward compatible.
> Requirements:
> 1) Specify whether to do version checking outside the payload, probably query parameter. Possibilities:
> a) If query param "validate_version" is true, validate the version in the payload before allowing the PUT. If query param not passed in, strip and ignore incoming version.
> b) If query param "required_version" is supplied, the version in C* must match the query param version. In this case, always ignore the version in the payload.
> 2) Caller must actively request version validation -- otherwise incoming versions should be ignored.
> 3) Make sure version in payload is in metadata.



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