[ 
https://issues.apache.org/jira/browse/COUCHDB-2063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13901698#comment-13901698
 ] 

Paul Joseph Davis commented on COUCHDB-2063:
--------------------------------------------

What happens when there's more than 1 conflicting revision?

> 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)

Reply via email to