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:16:11 UTC

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

Mike Dunker created USERGRID-1129:
-------------------------------------

             Summary: 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


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)