Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 24, 2015
  1. @ajdavis
  2. @ajdavis

    typo in authentication doc

    ajdavis authored
  3. @ajdavis
  4. @ajdavis
Commits on Apr 23, 2015
  1. @ajdavis

    Merge pull request #223 from ajdavis/CDRIVER-619-tls-loop-on-error

    ajdavis authored
    CDRIVER-619 fail fast after TLS socket hangup
Commits on Apr 22, 2015
  1. @ajdavis

    fix mongoc_collection_command test for MongoDB 3.1

    ajdavis authored
    The test had been querying collections with random names like
    $cmd.sys.inprog_12345, which returned the currentOp, the same as
    $cmd.sys.inprog, on legacy servers, but not since SERVER 7775.
    Now if we query "$cmd.sys.inprog" exactly, the test still works.
Commits on Apr 21, 2015
  1. @ajdavis
  2. @ajdavis
  3. @ajdavis

    Spelling.

    ajdavis authored
Commits on Apr 12, 2015
  1. @ajdavis

    Merge pull request #220 from jeroenooms/ansi-fixes

    ajdavis authored
    ANSI C warnings
Commits on Apr 11, 2015
  1. @jeroenooms
  2. @ajdavis

    CDRIVER-612: Fix indentation.

    ajdavis authored
  3. @ajdavis

    Merge pull request #214 from ajdavis/CDRIVER-513-missing-docs

    ajdavis authored
    CDRIVER-513 missing docs
  4. @ajdavis

    CDRIVER-612: Compiler warning on Solaris.

    ajdavis authored
    The EXIT macro is a return statement.
Commits on Apr 8, 2015
  1. @hanumantmk

    CDRIVER-481 adding --enable-shm-counters

    hanumantmk authored
    New configure flag to enable/disable shared memory performance counters.
Commits on Apr 7, 2015
  1. @ajdavis

    Merge branch 'pr-193'

    ajdavis authored
    # By Jason Carey (hanumantmk)
    # Via Jason Carey (hanumantmk)
    * pr-193:
      prerelease version
    
    Conflicts:
    	CMakeLists.txt
    	build/autotools/Versions.m4
Commits on Apr 6, 2015
  1. @ajdavis

    CDRIVER-606 Call mongoc_init () in test-secondary

    ajdavis authored
    Besides being a correct use of libmongoc, it also fixes building with
    "./configure --disable-shared --enable-static" and clang on Mac.
  2. @ajdavis
  3. @ajdavis

    Spelling.

    ajdavis authored
  4. @ajdavis
  5. @ajdavis

    Merge branch 'pr-194'

    ajdavis authored
    * pr-194:
      CDRIVER-580: fsync or j in write concern imply GLE
      Use write concern macros instead of magic numbers
Commits on Apr 5, 2015
  1. @ajdavis

    Spelling.

    ajdavis authored
  2. @ajdavis
  3. @ajdavis

    Spelling.

    ajdavis authored
  4. @ajdavis
  5. @ajdavis
  6. @ajdavis

    Merge pull request #189 from ajdavis/CDRIVER-560-client-pool-private-h

    ajdavis authored
    CDRIVER-560: Include private header in mongoc-client-pool.c.
  7. @ajdavis
Commits on Apr 3, 2015
  1. @ajdavis
Commits on Apr 1, 2015
  1. @hanumantmk

    post release bump

    hanumantmk authored
  2. @hanumantmk

    Release 1.1.4

    hanumantmk authored
    Signed-off-by: Jason Carey (hanumantmk) <jcarey@argv.me>
Commits on Mar 26, 2015
  1. @jmikola

    CDRIVER-580: fsync or j in write concern imply GLE

    jmikola authored
    The fsync and journal options should imply a GLE; however, they logically conflict with w=0 and w=-1, so the write concern should be considered invalid with errors raised during URI parsing or write command execution.
    
    If fsync or journal have been specified (true or false), they should be included in the write concern BSON.
Commits on Mar 24, 2015
  1. @hanumantmk

    updated libbson ref

    hanumantmk authored
  2. @ac000 @hanumantmk

    client pool: Prevent a deadlock in mongoc_client_pool_pop()

    ac000 authored hanumantmk committed
    I was seeing deadlocks in the client when it lost contact with mongo.
    The client was getting stuck on a futex in mongoc_client_pool_pop(),
    specifically
    
        mongoc_cond_wait(&pool->cond, &pool->mutex);
    
    and never making any progress even when mongo came back on-line.
    
    This problem was introduced by commit a8c1da4 ("Client pool tries to
    repair unhealthy connections...") which started shutting down excess
    connections, i.e where there were more connections than minPoolSize.
    
    As part of this it would also decrement pool->size. This all happens in
    mongoc_client_pool_push()
    
    The problem here was that if you had a single active connection and a
    minPoolSize of 0 (the default) then it would try to remove the oldest
    client from the queue (in this case there wasn't one) and then decrement
    pool->size.
    
    pool->size would now be 0.
    
    Then we move into the trying to deal with duff connections part of the
    above commit. In this case, with no working mongo, it will want to
    destroy this connection, which it does but it will also again decrement
    pool->size, which now equals -1, except pool->size is a unit32_t
    
    Then in mongoc_client_pool_pop() we have this check
    
         if (pool->size < pool->max_pool_size) {
    
    pool->size is now some _large_ number, UINT32_MAX perhaps. and so that
    evaluates to false and then we move to the else branch which then
    executes
    
        mongoc_cond_wait(&pool->cond, &pool->mutex);
    
    and this is where we get stuck. It thinks there is too many connections
    and at the same time nothing is ever going to be returned to the queue
    (we only had a single active connection) and even we did return a
    connection to the pool, UINT32_MAX - 1 is still likely going to be >
    pool->max_pool_size.
    
    So to avoid this problem we simply don't want to try and remove
    connections from the queue that don't exist and more importantly don't
    decrement pool->size when we don't actually remove an old connection.
    
    After this change, I can start mango, start the client, kill mongo,
    client shows errors, but keeps trying to re-connect, restart mongo and
    client is then happy again.
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
    
    Closes #187
  3. @ac000 @hanumantmk

    client pool: Add some missing locking in _push()

    ac000 authored hanumantmk committed
    Commit a8c1da4 ("Client pool tries to repair unhealthy connections...")
    introduced more code to mongoc_client_pool_push() operating on the
    connection pool. However locking was missing on the first if () section
    which deals with various aspects of the connection pool and requires
    locking.
    
    Protect the if () with a mongoc_mutex_lock/unlock using pool->mutex.
    
    Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
Something went wrong with that request. Please try again.