You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Chris Anderson (JIRA)" <ji...@apache.org> on 2009/03/23 17:47:51 UTC

[jira] Commented: (COUCHDB-292) A deleted document may be resaved with an old revision and is then considered undeleted

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

Chris Anderson commented on COUCHDB-292:
----------------------------------------

I was able to duplicate this on my machine.

Paul if you can possibly rebuild this as a JavaScript test suite test (perhaps a patch to basics.js) we can start to look for the right fix.

At the end of my session I tried:

$: curl -X GET localhost:5984/scratch/foo?meta=true
{"_id":"foo","_rev":"3-2144795776","_revs_info":[{"rev":"3-2144795776","status":"available"},{"rev":"2-4259004717","status":"available"},{"rev":"1-1189092513","status":"available"}],"_deleted_conflicts":["3-1788894625"]}

So it looks like I have a deleted conflict. I'm not sure what this means but it seems relevant to the underlying model.

> A deleted document may be resaved with an old revision and is then considered undeleted
> ---------------------------------------------------------------------------------------
>
>                 Key: COUCHDB-292
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-292
>             Project: CouchDB
>          Issue Type: Bug
>          Components: Database Core
>    Affects Versions: 0.9
>            Reporter: Paul Carey
>             Fix For: 0.10
>
>
> If a document is deleted, a PUT request may be issued with the same revision that was passed to the DELETE request. When this happens the previously deleted document is assigned a new revision and is no longer considered deleted.
> This behaviour is new within the last few weeks.
> The following curl session illustrates the issue. 
> 08:18 : ~ $ curl -X PUT -d '{"_id":"foo"}' localhost:5984/scratch/foo
> {"ok":true,"id":"foo","rev":"1-3690485448"}
> 08:19 : ~ $ curl -X PUT -d '{"_id":"foo","_rev":"1-3690485448"}' localhost:5984/scratch/foo
> {"ok":true,"id":"foo","rev":"2-966942539"}
> 08:19 : ~ $ curl -X DELETE localhost:5984/scratch/foo?rev="2-966942539"
> {"ok":true,"id":"foo","rev":"3-421182311"}
> 08:20 : ~ $ curl -X GET localhost:5984/scratch/foo
> {"error":"not_found","reason":"deleted"}
> 08:20 : ~ $ curl -X PUT -d '{"_id":"foo","_rev":"2-966942539"}' localhost:5984/scratch/foo
> {"ok":true,"id":"foo","rev":"3-1867999175"}
> 08:20 : ~ $ curl -X GET localhost:5984/scratch/foo
> {"_id":"foo","_rev":"3-1867999175"}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.