Permalink
Commits on Sep 26, 2012
  1. add r15b01 & r15b02 targets

    benoitc committed Sep 26, 2012
  2. fix travis file

    benoitc committed Sep 23, 2012
  3. Include user info

    Robert Newson authored and benoitc committed Aug 30, 2012
  4. Use latest=true when retrieving revisions

    benoitc committed Sep 23, 2012
    This allows the replicator to keep up with revisions that may have
    occured after missing_revs was called.
    
    apply patch from cloudant 54490039b16584b3531e31a36f60a6078e94be75
  5. COUCHDB-1444 Fix missing_named_view

    davisp authored and benoitc committed Aug 15, 2012
    Instead of replacing 'EXIT' signals we can just stuff the process that
    exited into the exit reason and match on that.
  6. Restore max_document_size protection

    rnewson authored and benoitc committed Aug 11, 2012
  7. Assert that index sig never changes in the lifetime of a couch index …

    rnewson authored and benoitc committed Aug 9, 2012
    …process
    
    COUCHDB-1444 demonstrates that #st{} state get out of sync
    somehow, leading to unexpected 404's (missing_named_view) and
    200's. This patch ensures that index sig never changes in the hope
    that it will lead to the cause of 1444 and prevent other occurrences
    of the same class of bug.
  8. Add utc_id_suffix UUID algorithm

    NorthNick authored and benoitc committed Aug 6, 2012
  9. COUCHDB-1491 - cleanup view tables

    rnewson authored and benoitc committed Jul 30, 2012
    A bad pattern in couch_index_server for the EXIT case prevented the
    cleanup of the BY_SIG table, causing subsequent view requests to
    receive a dead pid.
  10. COUCHDB-1511 - User docs require doc.roles

    rnewson authored and benoitc committed Jul 30, 2012
    A _users doc must include roles otherwise the user receives an opaque
    error. This patch throws an error if it is missing and adds a test to
    verify that the user receives a readable error message.
Commits on Aug 13, 2012
  1. Consume all ibrowse messages before stream_next

    kocolosk authored and benoitc committed Jul 20, 2012
    The flow control in ibrowse's async response streams is tricky.  We call
    stream_next to pull more data off the socket, but it seems that ibrowse
    will sometimes split that data into multiple messages.  If we call
    stream_next for each message we process we end up with an overflowing
    mailbox.
    
    This patch changes the consumer so that it clears out the mailbox before
    calling stream_next.
    
    BugzID: 14024
  2. Parse replication doc inside replicator

    Bob Dionne authored and benoitc committed Jul 4, 2012
    This is to ensure that gethostname is run on the node running
    the replication, as it becomes part of the replication id
    
    BugzID: 14023
  3. Tolerate JSON_ENCODE returning an iolist

    Robert Newson authored and benoitc committed Jun 19, 2012
Commits on Aug 1, 2012
  1. fix include

    benoitc committed Aug 1, 2012
Commits on Jul 29, 2012
  1. skip read validation on update. fix rcouch/rcouch#12

    benoitc committed Jul 29, 2012
    read ivalidation was already done when fetching the doc or the revision before.
Commits on Jul 12, 2012
  1. add validate_doc_read property to a design document.

    benoitc committed Jul 11, 2012
    Like validate_doc_update, this function validate if the document can be
    read by the curreny user.
    
    ex:
    
        function(doc, userCtx) {
            if ((typeof doc.name !== 'undefined') && (doc.name != userCtx.name)) {
                throw({unauthorized: doc.name + ' cannnot read ' + doc._id});
            }
        }
    
    will allow the current user to only read the documents where the
    properties name is the name of the user.
    
    Note: admins can always read the documents.
Commits on Jul 11, 2012
  1. fix system dbs opening.

    benoitc committed Jul 11, 2012
Commits on Jul 8, 2012
  1. Signficantly simplify the auth cache

    benoitc committed Jul 4, 2012
    The old cache was overly complicated for doing what it does. This new
    version does introduce a race condition on cache invalidation because
    the update has to go through the even notification and then the changes
    feed needs to be processed. In the future we should generalize the db
    hook functions and turn it into a write through cache. Until then I just
    added a short wait in the tests.
    
    patch from @davisp edited for rcouch.
  2. Refactor couch_server for performance

    benoitc committed Jul 4, 2012
    This is a backport of a change in BigCouch that changes the behaviour of
    couch_server to be more performant as well as be more robust under heavy
    load.
    
    There are two main parts to this change. First, it removes the need to
    have synchronous message passing between the couch_server gen_server and
    every process that wants to open a database that is already open. It
    does this by using a protected ets table that is used to by pass having
    to talk directly to couch_server.
    
    The second major portion of this patch rewrites the LRU handling inside
    couch_server so that it doesn't turn into an N^2 loop when the
    max_dbs_limit is reached and all databases are in use.
    
    apply patch from @davisp edited for rcouch.
  3. Remove couch_ref_counter and use process monitors

    benoitc committed Jul 4, 2012
    This patch removes the ref counting code that used process links and a
    gen_server to manage when databases are idle. This is important ground
    work for the refactoring of couch_server which relies on having a sane
    interface to managing database.
    
    This code has two major parts. The first part removes the gen_server
    from couch_db.erl and instead relies on checking who's monitoring the
    database's couch_file gen_server. The database is idle when this list
    only includes the updater and possible the couch_stats_collector which
    monitors open databases.
    
    The second half is how couch_file's are managed by listening for who is
    monitoring them. If they're monitored by only zero or one process then
    they close themselves. This allows for the semantics of staying open
    long enough to handle any current connections while being replaced with
    a new couch_file (ie, due to compaction).
    
    Applied patch from @davisp edited with some additions for rcouch.
  4. Remove second fd from couch_db_updater

    benoitc committed Jul 4, 2012
    This reverts the change to use a second file descriptor for
    couch_db_udpaters to split read and writes. This is ground work for the
    next few patches that change how databases are managed
    
    apply patch from @davisp edited for rcouch.
Commits on Jul 4, 2012
  1. fix test

    benoitc committed Jul 4, 2012
  2. allows couch_collate upgrade

    benoitc committed Jul 4, 2012
  3. Handle ddoc_updated event correctly.

    rnewson authored and benoitc committed Jul 4, 2012
    COUCHDB-1309 introduced a new update event of the form {ddoc_updated,
    {DbName, DDocId}}. Unfortunately it did not update
    couch_db_update_notifier with a clause that can marshal this to JSON
    successfully, breaking all uses of [update_notification]
    
    This commit improves event encoding so that the above renders as
    {"type":"ddoc_updated","db":"DbName","id":"DDocId"}
    
    COUCHDB-1508
  4. fix time issue.

    benoitc committed Jul 4, 2012
  5. whitespaces

    benoitc committed Jul 4, 2012
  6. fix couch_httpd_proxy.

    benoitc committed Jul 4, 2012
    use mochicow request module to receive data.
  7. fix changes test

    benoitc committed Jul 4, 2012
  8. fix format

    benoitc committed Jul 4, 2012
Commits on Jul 3, 2012