[ https://issues.apache.org/jira/browse/COUCHDB-902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12921743#action_12921743 ] Klaus Trainer commented on COUCHDB-902: --------------------------------------- I've figured out what the actual problem here is. ======================================================================== Deleting conflicts on database two: ======================================================================== GET - /two/test?conflicts=true - "some plain text" 200 - {"_id":"test","_rev":"2-871d61d84063e8fc02d64acbcdaad8ba","foo":3,"_conflicts":["2-2ee767305024673cfb3f5af037cd2729"]} DELETE - /two/test?rev=2-2ee767305024673cfb3f5af037cd2729 - 200 - {"ok":true,"id":"test","rev":"3-89c964c5556795ee0fc45fd5213013b4"} ======================================================================== Attaching to document without conflicts on database two: ======================================================================== GET - /two/test - "some plain text" 200 - {"_id":"test","_rev":"2-871d61d84063e8fc02d64acbcdaad8ba","foo":3} PUT - /two/test/some_attachment?rev=2-871d61d84063e8fc02d64acbcdaad8ba - some plain text 409 - {"error":"conflict","reason":"Document update conflict."} The problem is that when deleting the conflicting revision 2-2ee767305024673cfb3f5af037cd2729, just a new revision 3-89c964c5556795ee0fc45fd5213013b4 (with "_deleted":true) is created. The old revision 2-871d61d84063e8fc02d64acbcdaad8ba (that's not been deleted) is now in a kind of "deleted conflict" state with it. That is, updating revision 2-871d61d84063e8fc02d64acbcdaad8ba would create a new revision that's in conflict with the deleted one. You can check this e.g. with curl -X GET http://127.0.0.1:5984/two/test?deleted_conflicts=true {"_id":"test","_rev":"2-871d61d84063e8fc02d64acbcdaad8ba","foo":3,"_deleted_conflicts":["3-89c964c5556795ee0fc45fd5213013b4"]} The actual problem here is that when updating a document with an attachment, deleted conflicts are treated like normal conflicts. Supposably there's an easy solution to that issue. > Attachments that have recovered from conflict do not accept attachments. > ------------------------------------------------------------------------ > > Key: COUCHDB-902 > URL: https://issues.apache.org/jira/browse/COUCHDB-902 > Project: CouchDB > Issue Type: Bug > Components: Database Core > Environment: trunk > Reporter: Paul Joseph Davis > Priority: Critical > Attachments: couchdb-902-test-case.py > > > Apparently if a document has been in a conflict, they will reject requests to add an attachment with a conflict error. > I've tracked this down to couch_db_updater.erl line 501, but I'm not too familiar with this part of the code so I figured I'd fill out a ticket in case anyone else can go through this more quickly than me. > Sure would be nice if I could attach a file when I create an issue... -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.