Конфликты обновления все еще возможны при использовании обработчиков обновлений.
Из-за сокращенного «времени прохождения туда-обратно» вероятность конфликта обновления ниже, но не равна нулю.Конфликт будет выглядеть нормально: код ответа 409 с этим JSON:
{"error":"conflict","reason":"Document update conflict."}
Я успешно вызвал конфликт, используя пример обработчика обновления документов , и дважды выполнил curl подряд вshell.
curl -v -X PUT \
http://localhost:5984/db/_design/app/_update/accumulate/my_doc?amount=10 \
& curl -X PUT \
http://localhost:5984/db/_design/app/_update/accumulate/my_doc?amount=1
Один из ответов скручивания (случайным образом) был 201, а другой - 409.
Обработчики обновления документов принципиально не меняют CouchDB
Обновленияподвержены конфликтам, а также ошибкам проверки (401 Unauthorized
, 403 Forbidden
и т. д.)