summaryrefslogtreecommitdiff
path: root/apps/fabric/src/fabric_doc_open_revs.erl
AgeCommit message (Collapse)Author
2010-10-19remove_ancestors/2 will be generally usefulAdam Kocoloski
2010-10-19fix quorum check and be sure repair runs when revs are missing w/ open_revs=allAdam Kocoloski
2010-10-19suppress unused variable warningAdam Kocoloski
2010-10-19improved read quorum and repair for open_revsAdam Kocoloski
There are important distinctions between requests with open_revs=all, requests with an explicit revision list and latest=true, and a simple revision list. When open_revs=all, we take the union of all revisions returned by the workers, then reduce it by filtering out ancestors on each edit branch. An ancestor counts towards the descendant's read quorum. If an explicit revision list is given, a worker can respond with {{not_found, missing}, Rev}, an {ok, #doc{}} corresponding to the rev in question, or an {ok, #doc{}} with a newer revision if latest=true is supplied. not_found is considered to be an ancestor of any {ok,_} revision for quorum purposes. Down workers do not contribute to the read quorum. If workers disagree at all on the response, read repair will run asynchronously. The repair tries to save all the latest #doc{} records (i.e. the ones w/o descendants) which were received during the voting. BugzID 11047
2010-08-27fix "Mike's bug" with attachment uploading. BugzID 10742Adam Kocoloski
2010-08-27Apache 2 license, Cloudant copyright when appropriateAdam Kocoloski
2010-08-12Add 'apps/fabric/' from commit '5e2f90537f5b54adc94c58b58512a05b058fa804'Adam Kocoloski
git-subtree-dir: apps/fabric git-subtree-mainline: 72d7a60124b4ee7e31912fe7ed3a50bbc5cb9f64 git-subtree-split: 5e2f90537f5b54adc94c58b58512a05b058fa804