nickva opened a new pull request, #4194: URL: https://github.com/apache/couchdb/pull/4194
This option is useful when we want to accumulate at least R result copies for each document. Typically R=2 in a default 3 node cluster. Without shard splitting, this would simply be waiting for at least R copies returned from each range. However, in the case when shard copies don't have exactly the same range boundaries, the correct logic is to try to completely cover the ring at least R times. The algorithm for checking if the ring can be covered is already implemented, we just add it as an option to fabric:handle_response/4,5. This is essentially another preparatory PR to implement the optimized `fabric:bulk_get(...)` API as described in issue #4183 and it's just split out as a separate commit as it's a fairly standalone change. Additionally, had noticed that the unit tests in fabric_ring didn't cover the cleanup callback function, so added tests to make sure we exercise that code path. Emacs + erlang_ls also noticed the unused header included, so that's why that was removed. -- 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]
