nickva opened a new pull request, #5680:
URL: https://github.com/apache/couchdb/pull/5680
Resharding implements db doc updates with extra steps to ensure some
resilience in case the replication ring is broken and to avoid generating
conflicts. However, the implementation was specific to resharding used the
`#job{}` record as an argument, so change it make it more general and expose it
as a top level mem3 API.
The pattern is the same as used in the resharding logic:
* Changes, reading and writing happen on the first live node -- the leader
* Before reading, replicate all the update from other nodes to the leader.
This is to handle the case when the replication ring may be broken and to avoid
conflicts.
* After updating, to ensure all copies get the update immediately, the
change is broadcast to all the live copies.
--
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]