summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Vatamaniuc <vatamane@apache.org>2018-12-06 13:47:49 -0500
committerNick Vatamaniuc <nickva@users.noreply.github.com>2018-12-06 17:36:34 -0500
commit25e9e7759223ecccbcb87ac34d4a9d8c56db31ab (patch)
treead8ca98cc4a24477e085e011a227dab5adac1aa0
parent4e66d24b582cb254c03abc025638b852b4c14d01 (diff)
downloadcouchdb-25e9e7759223ecccbcb87ac34d4a9d8c56db31ab.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) ->