Updated Branches: refs/heads/1901-atomic-multipart-retries [created] d9837e1da
Use latest=true when retrieving revisions This allows the replicator to keep up with revisions that may have occured after missing_revs was called. BugzID: 14241 Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/962ce087 Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/962ce087 Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/962ce087 Branch: refs/heads/1901-atomic-multipart-retries Commit: 962ce087bfac80e2d721b679fee4fe1568a4d362 Parents: 82a103b Author: Bob Dionne <[email protected]> Authored: Tue Aug 7 12:42:36 2012 -0400 Committer: Adam Kocoloski <[email protected]> Committed: Wed Oct 2 11:59:02 2013 -0400 ---------------------------------------------------------------------- src/couch_replicator/src/couch_replicator_api_wrap.erl | 2 ++ src/couch_replicator/src/couch_replicator_worker.erl | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb/blob/962ce087/src/couch_replicator/src/couch_replicator_api_wrap.erl ---------------------------------------------------------------------- diff --git a/src/couch_replicator/src/couch_replicator_api_wrap.erl b/src/couch_replicator/src/couch_replicator_api_wrap.erl index 90cfa8e..cd69e59 100644 --- a/src/couch_replicator/src/couch_replicator_api_wrap.erl +++ b/src/couch_replicator/src/couch_replicator_api_wrap.erl @@ -465,6 +465,8 @@ options_to_query_args([revs | Rest], Acc) -> options_to_query_args(Rest, [{"revs", "true"} | Acc]); options_to_query_args([{open_revs, all} | Rest], Acc) -> options_to_query_args(Rest, [{"open_revs", "all"} | Acc]); +options_to_query_args([latest | Rest], Acc) -> + options_to_query_args(Rest, [{"latest", "true"} | Acc]); options_to_query_args([{open_revs, Revs} | Rest], Acc) -> JsonRevs = ?b2l(?JSON_ENCODE(couch_doc:revs_to_strs(Revs))), options_to_query_args(Rest, [{"open_revs", JsonRevs} | Acc]). http://git-wip-us.apache.org/repos/asf/couchdb/blob/962ce087/src/couch_replicator/src/couch_replicator_worker.erl ---------------------------------------------------------------------- diff --git a/src/couch_replicator/src/couch_replicator_worker.erl b/src/couch_replicator/src/couch_replicator_worker.erl index e8a3570..d66d478 100644 --- a/src/couch_replicator/src/couch_replicator_worker.erl +++ b/src/couch_replicator/src/couch_replicator_worker.erl @@ -296,13 +296,13 @@ spawn_doc_reader(Source, Target, FetchParams) -> fetch_doc(Source, {Id, Revs, PAs}, DocHandler, Acc) -> try couch_replicator_api_wrap:open_doc_revs( - Source, Id, Revs, [{atts_since, PAs}], DocHandler, Acc) + Source, Id, Revs, [{atts_since, PAs}, latest], DocHandler, Acc) catch throw:{missing_stub, _} -> ?LOG_ERROR("Retrying fetch and update of document `~s` due to out of " "sync attachment stubs. Missing revisions are: ~s", [Id, couch_doc:revs_to_strs(Revs)]), - couch_replicator_api_wrap:open_doc_revs(Source, Id, Revs, [], DocHandler, Acc) + couch_replicator_api_wrap:open_doc_revs(Source, Id, Revs, [latest], DocHandler, Acc) end.
