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)

Reply via email to