Isaac Z. Schlueter created COUCHDB-2063:
-------------------------------------------
Summary: Return current document with 409 response
Key: COUCHDB-2063
URL: https://issues.apache.org/jira/browse/COUCHDB-2063
Project: CouchDB
Issue Type: Bug
Security Level: public (Regular issues)
Reporter: Isaac Z. Schlueter
You do a PUT, and it doesn't have the current rev.
So then you do a GET, to get the current rev.
Then you re-try your PUT.
Please make the second request unnecessary. Just send the current doc in the
409 response body, unless the user opts-out with a `?send_current=false` or
something.
There are almost no examples of cases where you'd do a PUT and *not* want to
immediately GET the doc on a 409. The only case I could think of would be an
in-place modifying follower where you don't care about a 409, because it means
that another change is coming in the stream anyway. Are there any others?
Even in those cases, you could just set the opt-out flag to not get the current
data in the response.
The only harm in doing this is that outdated apps will still do the
(now-unnecessary) GET. That's not so bad. They'll keep working.
Systems with a single write-master and multiple read-slaves, however, will be
able to leverage this to great effect, rather than relying on cache-busting
query params and other kludges.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)