rnewson opened a new pull request, #6031:
URL: https://github.com/apache/couchdb/pull/6031

   closes https://github.com/apache/couchdb/issues/6029
   
   ## Overview
   
   serialize_worker_startup=true fixes the "spurious conflict" update case in 
most circumstances. A prior attempt to address that problem in the replicator 
now conflicts with that work. The replicator can update replicator docs 
whenever the state changes. For jobs that crash quickly, stored conflicts could 
be generated. We changed the replicator to only write to the local copy on the 
"owner" node, to avoid this. That is fundamentally the same trick that 
serialize_worker_startup=true does. However these two mechanisms are not 
coordinated and can easily choose different primary nodes.
   
   This PR returns couch replicator to use fabric:open_doc and 
fabric:update_doc to align its changes with serialize_worker_startup=true 
behaviour.
   
   ## Testing recommendations
   
   covered by existing tests
   
   ## Related Issues or Pull Requests
   
   https://github.com/apache/couchdb/issues/6029
   
   ## Checklist
   
   - [x] This is my own work, I did not use AI, LLM's or similar technology
   - [x] Code is written and works correctly
   - [x] Changes are covered by tests
   - [ ] Any new configurable parameters are documented in 
`rel/overlay/etc/default.ini`
   - [ ] Documentation changes were made in the `src/docs` folder
   - [ ] Documentation changes were backported (separated PR) to affected 
branches
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to