Permalink
Switch branches/tags
Commits on Apr 13, 2012
  1. Ignore 'complete' messages from suppressed workers

    kocolosk committed Apr 13, 2012
    If we have a database where one copy of a partition contributes zero
    rows to a reduce view but another copy of the same partition contributes
    one or more rows we can end up erroneously removing a worker which has
    already contributed a row to a response.  This puts the coordinator into
    an inconsistent state and can ultimately cause the response to hang.
    
    The fix is simple -- just guard processing of 'complete' messages by
    checking if the worker sending the message has already lost the race to
    another copy.
    
    BugzID: 13461
Commits on Apr 2, 2012
  1. Export fabric_rpc:get_all_security/2

    davisp committed Apr 2, 2012
    Accidentally unexported this function in a merge.
Commits on Feb 27, 2012
  1. Merge pull request #36 from cloudant/13351-couchdb-1.2-compatibility

    Robert Newson committed Feb 27, 2012
    13351 couchdb 1.2 compatibility
  2. Backport unpack_seqs_test

    Robert Newson committed Feb 27, 2012
Commits on Feb 25, 2012
  1. Teach unpack_seqs how to handle BC 0.4 and LC 1.2 style update sequences

    Robert Newson committed Feb 25, 2012
    BugzID: 13351
Commits on Feb 21, 2012
Commits on Feb 14, 2012
  1. Implement get_all_security

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

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

    Bob Dionne committed with kocolosk Dec 22, 2011
    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.
    
    BugzID:13065
    (cherry picked from commit 1feec97)
  3. Handle {not_found, deleted} the same as {not_found, missing}

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

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

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

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

    Bob Dionne committed with kocolosk Jan 12, 2012
    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.
    
    BugzID:13131
Commits on Oct 25, 2011
  1. Do not skip heartbeats when DB is updated

    kocolosk committed with Robert Newson Sep 15, 2011
    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
Commits on Oct 18, 2011
Commits on Oct 6, 2011
  1. Fix the changes feed.

    davisp committed Oct 4, 2011
    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
Commits on Aug 11, 2011
  1. Fix function_clause error on _revs_diff endpoint

    Robert Newson committed with kocolosk Jul 21, 2011
    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
Commits on Aug 10, 2011
  1. Better marshalling of errors from update_docs

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

    Robert Newson committed Aug 9, 2011
    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
Commits on Jul 11, 2011
  1. Revert "return empty ancestors list when necessary. this fixes functi…

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

    Robert Newson committed Jul 11, 2011
    …e in _revs_diff calls.
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

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

    kocolosk committed Jun 1, 2011
    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
Commits on May 13, 2011
  1. Fix matching for 1.3.x shard names

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

    Robert Dionne committed Feb 17, 2011
    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
  2. Tolerate node failures in reduce views w/ zero rows

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

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

    kocolosk committed Apr 19, 2011
    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