Commits on Feb 21, 2012
Commits on Feb 14, 2012
  1. Implement get_all_security

    This returns the security objects for all shards of a database. This
    will be used by mem3_sync_security to handle synchronizing security
    BugzID: 13044
    davisp committed with kocolosk Dec 19, 2011
Commits on Feb 9, 2012
Commits on Jan 30, 2012
  1. Change callback fun to return error tuple

    and change fabric_view:remove_down_shards to expect an error tuple
    rather than ok.
    (cherry picked from commit 8eca9bb)
    Bob Dionne committed with kocolosk Jan 18, 2012
  2. Fix callback error handling in fabric:design_docs

    fabric_view:remove_down_shards invokes the callback with an error tuple
    and expects an ok response, which it returns as an error to the controller.
    (cherry picked from commit 1feec97)
    Bob Dionne committed with kocolosk Dec 22, 2011
  3. Handle {not_found, deleted} the same as {not_found, missing}

    (cherry picked from commit cbd5c22)
    Robert Newson committed with kocolosk Nov 14, 2011
  4. Honor _rev in linked documents

    Cherry-pick of 8a703fa
    BugzID: 1322
    Robert Newson committed with kocolosk Aug 19, 2011
  5. Support stale=update_after in view queries

    BugzID: 10941
    Robert Newson committed with kocolosk Jun 16, 2011
  6. Backport rexi_DOWN handling from 2.0.4

    Also pulls in the catchall clause in remove_ancestors so we don't crash
    on unknown replies.
    BugzID: 12212
    BugzID: 13178
    kocolosk committed Jan 30, 2012
Commits on Jan 18, 2012
  1. Fix bad prepend value caused by timeouts

    When timeouts occur receive_results in fabric_view_changes was using the
    original returned response from initial start callback rather than the current
    value in the accumulator within the state. Thus it lost the comma needed for
    prepending in subsequent calls.
    Bob Dionne committed with kocolosk Jan 12, 2012
Commits on Oct 25, 2011
  1. Do not skip heartbeats when DB is updated

    This patch ensures that we send a heartbeat line in the case of regular
    writes to a database, each of which fails the filter condition.
    Previously we could go long intervals without sending a heartbeat if the
    wait_db_updated/1 function returned 'updated' and all of the updates
    failed the filter.  We'd never reach the five second timeout required to
    send a heartbeat inside receive_results, and we'd never send a heartbeat
    from the 'timeout' clause of the keep_sending_changes function.  These
    long intervals would cause a replication to crash.
    The patch causes a heartbeat to be sent on every invocation of
    wait_db_updated/1.  Big thanks to Paul Davis for deducing the cause of
    the timeouts.
    BugzID: 12605
    kocolosk committed with Robert Newson Sep 15, 2011
Commits on Oct 18, 2011
Commits on Oct 6, 2011
  1. Fix the changes feed.

    The handling of timeout messages in fabric_view_changes:handle_message/3
    was incorrectly discarding updates to the state. This means that we
    could accidentally discard things like the handling of rexi_EXIT
    messages which would then later lead to an infinite wait in
    rexi_utils:recv/6 because we forgot that the node died.
    BugzID: 12706
    davisp committed Oct 4, 2011
Commits on Aug 11, 2011
  1. Fix function_clause error on _revs_diff endpoint

    The _revs_diff implementation in chttpd called get_missing_revs
    expecting a list of possible ancestors for each Id/Rev pair, but we
    didn't provide it.  This patch changes the get_missing_revs
    specification to return the possible ancestors, so other consumers
    (e.g., _missing_revs) will need to be updated.
    Restores replication compatibility with Apache CouchDB trunk and the
    Couchbase 2.0 Preview.
    BugzID: 12352
    Robert Newson committed with kocolosk Jul 21, 2011
Commits on Aug 10, 2011
  1. Better marshalling of errors from update_docs

    A missing clause converted many errors into 500's instead of appropriate 4xx's.
    Robert Newson committed Aug 10, 2011
Commits on Aug 9, 2011
  1. Use the minimum of N and R when reading documents.

    Reads of documents in N=1 databases fail as R defaults to 2, this means that
    a PUT followed by a GET returns 404, which is unexpected.
    BugzID: 12498
    Robert Newson committed Aug 9, 2011
Commits on Jul 11, 2011
  1. Revert "return empty ancestors list when necessary. this fixes functi…

    …on_clause in _revs_diff calls."
    This reverts commit 111abfb.
    Robert Newson committed Jul 11, 2011
  2. return empty ancestors list when necessary. this fixes function_claus…

    …e in _revs_diff calls.
    Robert Newson committed Jul 11, 2011
Commits on Jun 6, 2011
  1. open doc even if deleted

    Robert Newson committed Jun 6, 2011
Commits on Jun 1, 2011
  1. Make name validation on DB creation optional

    BugzID: 12218
    kocolosk committed Jun 1, 2011
  2. Check reader list in get_db, allow custom ctx in get_security

    Supplying the user's context in fabric:get_security/2 offers a clean
    way to check the database reader list early on in request processing.
    Subsequent calls to open a database shard can then use open_int.
    BugzID: 12038
    kocolosk committed Jun 1, 2011
Commits on May 13, 2011
  1. Fix matching for 1.3.x shard names

    BugzID: 12175
    kocolosk committed May 13, 2011
Commits on May 12, 2011
Commits on Apr 29, 2011
Commits on Apr 20, 2011
  1. Better handling of timeouts.

    For feed=continuous used with heartbeat long running
    changes queries may timeout, especially when filters
    are very selective. This patch ensures the heartbeat sends
    a blank line even when queries timeout, by recursively
    calling rexi:recv until changes are returned. After a few
    tries, a great solution by master Adam.
    BugzID: 11812
    Robert Dionne committed Feb 17, 2011
  2. Tolerate node failures in reduce views w/ zero rows

    Merge branch 12052-zero-row-reduce-hang by squashed commit of:
    commit 4dc09070fbc90186987327e07d7515e35886c18f
    commit 7b62ea72a5614d2123aa7798bba3dd10f6141230
    Thanks Bob Dionne for the test case.
    BugzID: 12052
    kocolosk committed Apr 20, 2011
Commits on Apr 19, 2011
  1. Validate user-supplied sequence for _changes

    Merge 11984-error-code-changes-seq by squashed commit of the following:
    commit 623efa187802ddbd5143dab813477c9c34814a50
    commit b66c03570fe7cd6e80a25c0eb001fc87c02efcfc
    kocolosk committed Apr 19, 2011
  2. Report summed data_size when available

    Merge branch FB-9995 by squashed commit of the following:
    commit f64e4a5
    commit e7eb5a8
    commit abc6217
    Thanks Bob Dionne for the initial work.
    BugzID: 9995
    kocolosk committed Apr 19, 2011
  3. Use doc_info to include_docs in _all_docs/_changes

    This allows us to skip a lookup in the by_id tree.
    BugzID: 11433
    Robert Dionne committed with kocolosk Dec 29, 2010
Commits on Apr 18, 2011
Commits on Apr 6, 2011
  1. Fixed issue with changes?since=Seq.

    BugzID:12014 The #collector.counters field was incorrectly initialized,
    resulting in bad computed values by pack_seqs. Thanks to Mike Specter
    for triaging.
    Robert Dionne committed with kocolosk Apr 5, 2011
Commits on Apr 5, 2011
  1. Extract io_priority from process dictionary

    BugzID: 12016
    kocolosk committed Apr 5, 2011
  2. Allow Options to _missing_revs

    BugzID: 12016
    kocolosk committed Apr 5, 2011