I think we came to a consensus to maintain compatibility. Thank you
all who participated in the discussion

Cheers,
-Nick

On Tue, Sep 1, 2020 at 4:40 PM Joan Touzet <woh...@apache.org> wrote:
>
> Same - keep for now, choose to deprecate later.
>
> Remember by our semver policy this would mean the earliest this endpoint
> could be removed would be CouchDB 5.0 (!)
>
> -Joan "time keeps on slippin', slippin'..." Touzet
>
> On 2020-09-01 4:35 p.m., Jonathan Hall wrote:
> > 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