[PYCBC-25] vBucket Aware client accepts only 1 server Created: 04/Mar/12  Updated: 13/May/13  Resolved: 02/May/13

Status: Closed
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: None
Fix Version/s: 0.10.0
Security Level: Public

Type: Improvement Priority: Major
Reporter: nerdynick Assignee: Mark Nunberg
Resolution: Duplicate Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The vBucket Aware client only accepts 1 server. So if that server is down at the time of initial connection. The client will never connect. This results in users needing to write special code to handle this or put a Load Balance in between. Which a balancer would reduce performance. Client should ideally take a collection of servers like Standard Memcached Clients do, and auto connect to a different one if it fails connection.

 Comments   
Comment by nerdynick [ 10/Mar/12 ]
I've created a patch to resolve this. The patch also provides other fixes/improvements to passing in server configs. You can now pass username/password via URL Strings. URL String parsing now uses urlparse with support for Python 3.0 version of urlparse. You can also pass a preconfigured dict in the internal format.

https://github.com/nerdynick/couchbase-python-client/commit/dc7fe00a49f8d012d28286811ee8ac3ddbfd34e9
https://github.com/nerdynick/couchbase-python-client/commit/6fad7ca01c6dd0cd6895aed8a81c70c301bbaa5d

There are also a 2 other commits before that remove the disabling of logging. As this effects application logging not just Couchbase logging. It also contains a minor patch that turns the Dispatcher into an inherited Thread vs using a function. Allows everything to be a little more contained.
Comment by Benjamin Young [ 10/Apr/12 ]
@nerdynick, thanks for the work you've put into fixing this issue! I'd love to get this patch into the Python SDK.

Would you mind shipping these in through our Gerrit Code Review system? Information on getting that setup is here:
http://www.couchbase.com/wiki/display/couchbase/Contributing+Changes

Once you've got that setup, it should be fairly straight forward to continue contributing--which we'd love!

Thanks much.
Comment by Matt Ingenthron [ 24/Aug/12 ]
@benjamin, can you followup with nick and see if he can just do the CLA clickthrough, and then we can integrate it ourselves?
Comment by Mark Nunberg [ 02/May/13 ]
Duplicate of PYCBC-97; fixed
Generated at Sat Jul 26 10:15:20 CDT 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.