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)