summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2019-01-14 16:33:13 -0600
committerJan Lehnardt <jan@apache.org>2019-02-17 18:33:19 +0100
commit9427683635d8691906aa81565603dcd4703f6fb6 (patch)
tree684acf6578a1179da1ce215a19aa493cd64d39e4
parent80ff004e0ece3629e54fc8ccd7e9ad96accc0a24 (diff)
downloadcouchdb-9427683635d8691906aa81565603dcd4703f6fb6.tar.gz
Fix read repair in a mixed cluster environment
This enables backwards compatbility with nodes still running the old version of fabric_rpc when a cluster is upgraded to master. This has no effect once all nodes are upgraded to the latest version.
-rw-r--r--src/fabric/src/fabric_doc_open.erl4
-rw-r--r--src/fabric/src/fabric_doc_open_revs.erl2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/fabric/src/fabric_doc_open.erl b/src/fabric/src/fabric_doc_open.erl
index 0a85346f7..aafdcfb79 100644
--- a/src/fabric/src/fabric_doc_open.erl
+++ b/src/fabric/src/fabric_doc_open.erl
@@ -136,7 +136,7 @@ read_repair(#acc{dbname=DbName, replies=Replies, node_revs=NodeRevs}) ->
[#doc{id = <<?LOCAL_DOC_PREFIX, _/binary>>} | _] ->
choose_reply(Docs);
[#doc{id=Id} | _] ->
- Opts = [?ADMIN_CTX, {read_repair, NodeRevs}],
+ Opts = [?ADMIN_CTX, replicated_changes, {read_repair, NodeRevs}],
Res = fabric:update_docs(DbName, Docs, Opts),
case Res of
{ok, []} ->
@@ -592,4 +592,4 @@ t_get_doc_info() ->
?assert(is_record(Rec2, full_doc_info))
end).
--endif. \ No newline at end of file
+-endif.
diff --git a/src/fabric/src/fabric_doc_open_revs.erl b/src/fabric/src/fabric_doc_open_revs.erl
index dc03f3df6..8ac3f30dc 100644
--- a/src/fabric/src/fabric_doc_open_revs.erl
+++ b/src/fabric/src/fabric_doc_open_revs.erl
@@ -224,7 +224,7 @@ dict_repair_docs(Replies, ReplyCount) ->
read_repair(Db, Docs, NodeRevs) ->
- Opts = [?ADMIN_CTX, {read_repair, NodeRevs}],
+ Opts = [?ADMIN_CTX, replicated_changes, {read_repair, NodeRevs}],
Res = fabric:update_docs(Db, Docs, Opts),
case Res of
{ok, []} ->