Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Couchbase .NET client library (official), based on the Enyim memcached client
C# Shell

NCBC-925: .NET Client 2.1.1 leaks connections when bucket does not exist

Motivation
----------
If the .NET Couchbase Client attempts to .GetBucket() on a bucket that's
in the configuration, but does not exist, the client will throw an
AggregateException. Additionally, the client will leak connections (equal
to the min pool size) for every attempt.

Modifications
-------------
If bootstrapping fails for an IP/host the client will dispose of the
IOStrategy which will call Dipose on the internal ConnectionPool.

Results
-------
All connections are closed when boostrapping fails.

Change-Id: Iff8bf050f77a16ec2572dbab999741ced286f2ad
Reviewed-on: http://review.couchbase.org/53907
Tested-by: Jeffry Morris <jeffrymorris@gmail.com>
Reviewed-by: Simon Baslé <simon@couchbase.com>
latest commit 95b9d41522
@jeffrymorris jeffrymorris authored

README.md

Official Couchbase .NET SDK

  • master is 2.0 development branch
  • release13 is 1.3.X development branch

Running the Unit Tests

To run the unit tests (for master), the following are required:

  1. Couchbase Server >= 3.0 installed on localhost
  2. N1QL DP4 downloaded, copied to disk and connected to your localhost Couchbase Server: see here.
  3. The "beer-sample" sample Bucket and data set installed. This can be installed by logging into the Couchbase Console (http://localhost:8091) and then Settings->Sample Buckets.
  4. The following buckets installed on localhost:
    1. "default" - the standard default bucket
    2. "authenticated" - a Couchbase bucket with a password of "secret"
    3. "memcached" - a Memcached bucket with no password
  5. Install an SSL certificate (copied from the Couchbase console) if you wish to run the SSL/TLS tests

Note that some tests require a cluster (Observe tests and Replica Read tests for example) and will fail if running on localhost.

Pull Requests and Submissions

Being an Open Source project, the Couchbase SDK depends upon feedback and submissions from the community. If you feel as if you want to submit a bug fix or a feature, please post a Pull Request. The Pull Request will go through a formal code review process and merged after being +2'd by a Couchbase Engineer. In order to accept a submission, Couchbase requires that all contributors sign the Contributor License Agreement (CLA). You can do this by creating an account in Gerrit, our official Code Review system. After you have created your account, login and check the CLA checkbox.

Once the CLA is signed, a Couchbase engineer will push the pull request to Gerrit and one or more Couchbase engineers will review the submission. If it looks good they will then +2 the changeset and merge it with master. In addition, if the submission needs more work, you will need to amend the Changeset with another Patchset. Note that is strongly encouraged to submit a Unit Test with each submission and also include a description of the submission, what changed and what the result is.

Something went wrong with that request. Please try again.