> On 23. Oct 2019, at 14:26, Arturo GARCIA-VARGAS <art...@ficuslabs.com> wrote:
> 
> I guess the way I see it (and where I may be wrong) is that batch=ok will 
> become a deprecated use of the API.  And if we are to support a deprecated 
> behaviour:
> 
> 1. Behave as before because you are nice, via an explicit config enable; or

The point is, we would be behaving “better than before”

> 2. Stop doing it because it is well..., deprecated.  Update your client.

…and we don’t want to break client software, when we don’t have to.

Best
Jan
—
> 
> -A.
> 
> Again my opinion :-)
> 
> On 23/10/2019 13:19, Jan Lehnardt wrote:
>>> On 23. Oct 2019, at 13:56, Arturo GARCIA-VARGAS <art...@ficuslabs.com> 
>>> wrote:
>>> 
>>> Maybe my point is not coming across correctly.
>>> 
>>> By reading the docs, a consumer would match *explicitly* to a 202 response, 
>>> to acknowledge success.
>>> 
>>> We better be consistent and either hard-break this behaviour, or behave as 
>>> before, but not silently switch the behaviour, even more if the operation 
>>> behind is a no-op.
>> I think I do understand your point, however, the nature of this API allows 
>> us to argue for the best of both worlds: batch=ok today says that the client 
>> is fine with letting CouchDB decide when to fully commit data. Depending on 
>> the circumstances, that decision could be “immediately”, or it could be 
>> “some time later”. The proposal here now suggests that we switch this to be 
>> always “immediately”, but regardless of batch=ok being present or not, the 
>> client doesn’t really care about that. So I don’t think there is a good 
>> reason for suggesting a hard break.
>> Best
>> Jan
>> —
>>> 
>>> Well, my opinion.
>>> 
>>> On 23/10/2019 12:50, Jan Lehnardt wrote:
>>>>> On 23. Oct 2019, at 13:32, Arturo GARCIA-VARGAS <art...@ficuslabs.com> 
>>>>> wrote:
>>>>> 
>>>>> Well, a consumer would be explicitly waiting the the accept response code 
>>>>> like responseCode === '202' as a sign of "success".  We have silently 
>>>>> broken the consumer.
>>>>> 
>>>>> Granted a consumer should cater for a '201' response, but the docs 
>>>>> explicitly say you do not get a 201 when using batch=ok.
>>>> A consumer that can’t deal with different HTTP response codes already 
>>>> isn’t doing HTTP correctly. They could already equally receive a 400, 401, 
>>>> 500 or any other variety or responses, so I think we’re fine here.
>>>>> 
>>>>> On 23/10/2019 12:29, Jan Lehnardt wrote:
>>>>>>> On 23. Oct 2019, at 13:25, Arturo GARCIA-VARGAS <art...@ficuslabs.com> 
>>>>>>> wrote:
>>>>>>> 
>>>>>>> My opinion....
>>>>>>> 
>>>>>>> On 23/10/2019 12:15, Jan Lehnardt wrote:
>>>>>>>> 
>>>>>>>>> On 23. Oct 2019, at 12:40, Robert Samuel Newson <rnew...@apache.org> 
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> Hi,
>>>>>>>>> 
>>>>>>>>> Just confirming my position on this. We should treat a request with 
>>>>>>>>> batch=ok as if the setting was not there. That is, make the same 
>>>>>>>>> durable commit as normal. We should therefore send a 201 Created 
>>>>>>>>> response code. We should continue to validate the batch setting (it 
>>>>>>>>> can be absent or it can be "ok" but every other value is a 400 Bad 
>>>>>>>>> Request).
>>>>>>>> 
>>>>>>> -1 from me, we should:
>>>>>>> 1. Drop it and be consistent with the API.  Maybe warning of 
>>>>>>> deprecation in couchdb-3?
>>>>>>> 2. Enable same behaviour as before (accepted) with a no-op and config 
>>>>>>> file parameter.
>>>>>>> 
>>>>>>> But not modify the behaviour of the API
>>>>>> Can you explain why?
>>>>>> The proposed behaviour is no worse than what the option enables, and it 
>>>>>> ensures that existing software continues to work without (much) change.
>>>>>> API purity for the sake of it is not really a goal here.
>>>>>> Best
>>>>>> Jan

-- 
Professional Support for Apache CouchDB:
https://neighbourhood.ie/couchdb-support/

Reply via email to