couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Isaac Z. Schlueter (JIRA)" <>
Subject [jira] [Created] (COUCHDB-2063) Return current document with 409 response
Date Fri, 14 Feb 2014 00:47:19 GMT
Isaac Z. Schlueter created COUCHDB-2063:

             Summary: Return current document with 409 response
                 Key: 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

View raw message