summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Vatamaniuc <vatamane@apache.org>2018-12-06 13:47:49 -0500
committerJan Lehnardt <jan@apache.org>2019-02-17 18:33:19 +0100
commitb989e60d09e9260efa6657b6a24d57fadaafe6b7 (patch)
tree2939532e623ee20c6baf2270f197cee1f5fdab08
parent07ea0c70e6307e69ca64b9578e3124ddde1e4c36 (diff)
downloadcouchdb-b989e60d09e9260efa6657b6a24d57fadaafe6b7.tar.gz
Filter out empty missing_revs results in mem3_rep
This avoids needlessly making cross-cluster fabric:update_docs(Db, [], Opts) calls.
-rw-r--r--src/mem3/src/mem3_rep.erl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mem3/src/mem3_rep.erl b/src/mem3/src/mem3_rep.erl
index b65fa7a86..340bc0e7b 100644
--- a/src/mem3/src/mem3_rep.erl
+++ b/src/mem3/src/mem3_rep.erl
@@ -426,10 +426,14 @@ find_missing_revs(Acc) ->
#doc_info{id=Id, revs=RevInfos} = couch_doc:to_doc_info(FDI),
{Id, [R || #rev_info{rev=R} <- RevInfos]}
end, Infos),
- mem3_rpc:get_missing_revs(Node, Name, IdsRevs, [
+ Missing = mem3_rpc:get_missing_revs(Node, Name, IdsRevs, [
{io_priority, {internal_repl, Name}},
?ADMIN_CTX
- ]).
+ ]),
+ lists:filter(fun
+ ({_Id, [], _Ancestors}) -> false;
+ ({_Id, _Revs, _Ancestors}) -> true
+ end, Missing).
chunk_revs(Revs) ->