Thanks for the explanation.

I concur, I prefer compatibility, but as I'm not coding it, I'll defer the 
decision to others.

Jonathan


On Sep 1, 2020, 10:30 PM, at 10:30 PM, Paul Davis <paul.joseph.da...@gmail.com> 
wrote:
>Replication of deletions isn't affected due to the new_edits=false
>flag like you guessed. This is purely "interactively creating a new
>document that is deleted". Its a fairly minor edge case in that the
>document must not exist. Any other attempt to "revive" a deleted doc
>into a deleted state will fail with a conflict on 3.x.
>
>I'm +0 for compatibility. Its not a significant amount of work to
>implement the behavior and we can always deprecate it in the future to
>remove the weird edge case of "document that has never existed can be
>created in a deleted state".
>
>On Tue, Sep 1, 2020 at 3:26 PM Jonathan Hall <fli...@flimzy.com> wrote:
>>
>> Isn't compatibility required to support replication of deleted
>documents? Or does creation of a deleted document work with
>new_edits=false?
>>
>>
>>
>> On Sep 1, 2020, 10:16 PM, at 10:16 PM, Nick Vatamaniuc
><vatam...@apache.org> wrote:
>> >Hi everyone,
>> >
>> >While running PouchDB replication unit tests against the CouchDB 4
>> >replicator PR branch (thanks to Garren Smith, who helped set up the
>> >tests), we had noticed a doc update API incompatibility between
>> >CouchDB 3.x/PouchDB and the prototype/fdb-layer branch: CouchDB
>> >3.x/PouchDB allow creating new deleted documents and
>> >prototype/fdb-layer branch doesn't.
>> >
>> >For example:
>> >
>> >$ http put $DB1/mydb/doc1 _deleted:='true' a=b
>> >HTTP/1.1 200 OK
>> >
>> >{
>> >    "id": "doc1",
>> >    "ok": true,
>> >    "rev": "1-ad7eb689fcae75e7a7edb57dc1f30939"
>> >}
>> >
>> >$ http $DB1/mydb/doc1?deleted=true
>> >HTTP/1.1 200 OK
>> >
>> >{
>> >    "_deleted": true,
>> >    "_id": "doc1",
>> >    "_rev": "1-ad7eb689fcae75e7a7edb57dc1f30939",
>> >    "a": "b"
>> >}
>> >
>> >On prototype/fdb-layer it returns a 409 conflict error
>> >
>> >I opened a PR to make the prototype/fdb-layer branch behave the same
>> >and keep the API compatibility, but also wanted to see what the
>> >community thinks.
>> >
>> >https://github.com/apache/couchdb/pull/3123
>> >
>> >Would we want to keep compatibility with CouchDB 3.x/PouchDB or,
>> >return a conflict (409), like the prototype/fdb-layer branch does?
>> >
>> >My vote is for compatibility.
>> >
>> >Thanks,
>> >-Nick

Reply via email to