[PYCBC-105] Provide simple 'raw' view API Created: 10/May/13  Updated: 17/May/13  Resolved: 17/May/13

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

Type: New Feature Priority: Blocker
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
This API will just provide a means by which a user can get a view results. Paths will be passed verbatim to LCB, and the view payload may be handled as a subclass of the Result object

 Comments   
Comment by Rami Chowdhury [ 11/May/13 ]
A simple implementation of this with the existing pylibcouchbase Cython code is in progress, based on: https://github.com/couchbase/couchbase-python-client/pull/21 -- we're starting to use this branch of the client at Esplorio and would be happy to work on it.
Comment by Mark Nunberg [ 12/May/13 ]
We're in the process of moving away from the Cython version and using something in the Python C API (for several reasons).
Comment by Rami Chowdhury [ 12/May/13 ]
Is there a publicly-visible branch where that work is going on? At the very least I'd like to see how work is going and how ready it is, and will probably want to contribute some work if possible.
Comment by Mark Nunberg [ 12/May/13 ]
https://github.com/mnunberg/couchbase-python-client/tree/pylibcouchbase

It'll be merged into our actual repository shortly. If you wish to partake in the review process, you may comment here:

http://review.couchbase.org/#/c/26234/

Comment by Rami Chowdhury [ 12/May/13 ]
Great, thanks for the links. How soon is it expected to be merged, out of curiosity? It'll take me a little bit to get up to speed with the C code, anyway.
Comment by Mark Nunberg [ 12/May/13 ]
sometime next week it will be pushed, though makor changes from that link are not expected
Comment by Mark Nunberg [ 17/May/13 ]
https://github.com/couchbase/couchbase-python-client/commit/676a6806cec6b3df0c0653d05c15dba5d6a332bb




[PYCBC-112] Add test to ensure objects can be pretty-printed Created: 14/May/13  Updated: 16/May/13  Resolved: 16/May/13

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

Type: Task Priority: Critical
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Write tests to ensure Result objects can be repr'd and stringified without errors.




[PYCBC-90] Allow FMT_PLAIN for 'normal' python strings. Created: 26/Apr/13  Updated: 17/May/13  Resolved: 17/May/13

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

Type: Task Priority: Critical
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Currently simple strings, i.e. "str" will not properly be set in "plain" mode. The library should apply some heuristics to determine if the string is a simple "byte" string, or whether it needs some special encoding.

 Comments   
Comment by Mark Nunberg [ 30/Apr/13 ]
http://review.couchbase.org/#/c/25948/
Comment by Mark Nunberg [ 11/May/13 ]
We're using FMT_BYTES and FMT_UTF8 to disambiguate between the two now
Comment by Mark Nunberg [ 17/May/13 ]
PYCBC-103 introduces a FMT_UTF8 flag. Heuristics should not be performed by default because of the ambiguity of Python's types. We don't want to accidentally stringify an object that's got a __str__ method implemented (and every object does).




[PYCBC-53] improve bucket creation defaults Created: 07/Aug/12  Updated: 07/Aug/12  Resolved: 07/Aug/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 0.7.2
Security Level: Public

Type: Improvement Priority: Major
Reporter: Benjamin Young Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Benjamin Young [ 07/Aug/12 ]
http://review.couchbase.org/#change,19287

ramQuotaMB is now set to 100 by default
authType is set to sasl by default

Several asserts were added for better error
catching and reporting on invalid combinations
or values.

Additionally, server-side validation
is now being done to check for port duplicates,
name taken, and similar checks.




[PYCBC-51] install fails owing to missing version Created: 07/Aug/12  Updated: 07/Aug/12  Resolved: 07/Aug/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 0.7.2
Security Level: Public

Type: Bug Priority: Major
Reporter: Matt Ingenthron Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Trying to install via PyPi with 0.7.1, ran into this issue:


(pyenv)ingenthr-mbp:~ ingenthr$ pip install couchbase
Downloading/unpacking couchbase
  Downloading couchbase-0.7.1.post1.tar.gz
  Running setup.py egg_info for package couchbase
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
      File "/Users/ingenthr/opt/pyenv/build/couchbase/setup.py", line 25, in <module>
        from version import get_git_version
    ImportError: No module named version
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 14, in <module>

  File "/Users/ingenthr/opt/pyenv/build/couchbase/setup.py", line 25, in <module>

    from version import get_git_version

ImportError: No module named version

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /Users/ingenthr/opt/pyenv/build/couchbase
Storing complete log in /Users/ingenthr/.pip/pip.log





[PYCBC-48] Fatal warning during client installation Created: 31/Jul/12  Updated: 07/Aug/12  Resolved: 07/Aug/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.7
Fix Version/s: 0.7.1
Security Level: Public

Type: Bug Priority: Major
Reporter: Pavel Paulau Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: virtualenv --no-site-packages -p python2.7 test_install_2.7
virtualenv --no-site-packages -p python2.6 test_install_2.6


 Description   
> Steps to reproduce:
pip install couchbase

> Expected output:

Downloading/unpacking couchbase
  Downloading couchbase-0.7.0.tar.gz
  Running setup.py egg_info for package couchbase

> Actual output:

Downloading/unpacking couchbase
  Downloading couchbase-0.7.0.tar.gz
  Running setup.py egg_info for package couchbase
    fatal: Not a git repository (or any of the parent directories): .git

> Tip:
def get_version():
    try:
        p = subprocess.Popen('git describe', stdout=subprocess.PIPE,
                             shell=True)
        version = p.communicate()[0].strip()
    except:
        version = ''
    return version

 Comments   
Comment by Pavel Paulau [ 31/Jul/12 ]
Raising to major because it may fail completely if end user does't have git (not sure about this, though).




[PYCBC-46] Unittests covering > 50% of the code Created: 25/Jul/12  Updated: 25/Jul/12  Resolved: 25/Jul/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 0.7
Security Level: Public

Type: New Feature Priority: Major
Reporter: Benjamin Young Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Benjamin Young [ 25/Jul/12 ]
python setup.py nosetests generates HTML coverage reports in the 'cover' folder of the source folder.

0.7 will be 59% "covered" at the time of release.




[PYCBC-45] Remove Couchbase.save({'_id':'key', 'json':'doc'}) in favor of .set() doing key name detection Created: 24/Jul/12  Updated: 30/Aug/12  Resolved: 30/Aug/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 0.8.0
Security Level: Public

Type: Improvement Priority: Major
Reporter: Benjamin Young Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Flagged:
Release Note

 Description   
It seems .save() was added to do some special handling (_design/doc PUTing). It leans on doc._id which is going away in 2.0, so it "smells" if nothing else.

Additionally, leaning on .set() and cb['bucket']['key'] = 'value' for the API will give us great consistency and less confusion.

.save() should be deprecated
.set() should use JSON by default
.set() should handle keys named '_design/(*)' via the HTTP API

 Comments   
Comment by Benjamin Young [ 30/Aug/12 ]
http://review.couchbase.org/#/c/20165/




[PYCBC-39] Add Design document management, including error handling Created: 12/Jul/12  Updated: 30/Aug/12  Resolved: 30/Aug/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 0.8.0
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Add the additional functionality needed to create and replace design documents. This will likely be an extension on the Bucket class.


 Comments   
Comment by Matt Ingenthron [ 24/Aug/12 ]
Since this is mostly done, please either complete error handling or file specific bugs on the types that need to be handled and close this.
Comment by Benjamin Young [ 30/Aug/12 ]
Needs further exploration, so throwing to 0.9.0:
http://www.couchbase.com/issues/browse/PYCBC-64




[PYCBC-40] RESTful Bucket Flushing Created: 12/Jul/12  Updated: 30/Aug/12  Resolved: 30/Aug/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 0.8.0
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Add the ability to call the RESTful bucket flush.


 Comments   
Comment by Benjamin Young [ 30/Aug/12 ]
http://review.couchbase.org/#/c/20389/




[PYCBC-35] Invalid reference made to create_view Created: 02/Jul/12  Updated: 24/Aug/12  Resolved: 24/Aug/12

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

Type: Bug Priority: Major
Reporter: Mike Wiederhold Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
See this forum post for details.

http://www.couchbase.com/forums/thread/python-client-library-import-bug-and-fix

 Comments   
Comment by Benjamin Young [ 24/Aug/12 ]
Done some time ago.




[PYCBC-31] python SDK disables all logging Created: 21/May/12  Updated: 03/Aug/12  Resolved: 03/Aug/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 1.0
Fix Version/s: 0.7
Security Level: Public

Type: Bug Priority: Major
Reporter: Steve Yen Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
took a few hours to find why logging in my python app stopped working, and it's because I started using the couchbase python SDK which strangely disables logging...

  logging.disable(logging.ERROR)

here...

  https://github.com/couchbase/couchbase-python-client/blob/master/couchbase/client.py#L33

the temporary workaround in my app was to call...

  logging.disable(logging.NOTSET)

but, that's just a hack workaround against a socially awkward (read: rude) implementation.



 Comments   
Comment by Benjamin Young [ 03/Aug/12 ]
Fixed here: http://review.couchbase.org/17039




[PYCBC-20] couchbase client doesn't work against a bucket with dedicated port and no password Created: 26/Dec/11  Updated: 31/Aug/12  Resolved: 31/Aug/12

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

Type: Bug Priority: Major
Reporter: Farshid Ghods Assignee: Farshid Ghods
Resolution: Incomplete Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
this impacts cbworkloadgen

 Comments   
Comment by Farshid Ghods [ 26/Dec/11 ]
this type of bucket is an ascii bucket so python client does not need to support this client
Comment by Matt Ingenthron [ 17/Feb/12 ]
There is no such thing as an ascii bucket, really. Moxi must be talking to it over binary. So what's the auth?

Farshid, you were the reporter here too. Should this be closed?
Comment by Bin Cui [ 13/Aug/12 ]
Reassign back to farshid




[PYCBC-19] use zlib.crc32 in couchbaseclient.py Created: 26/Nov/11  Updated: 07/Dec/11  Resolved: 07/Dec/11

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

Type: Bug Priority: Major
Reporter: Farshid Ghods Assignee: Matt Ingenthron
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Farshid Ghods [ 07/Dec/11 ]
https://github.com/couchbase/couchbase-python-client/commit/a9a0d666835fcde8465e4b78a4561b3c38f78c7a




[PYCBC-16] increment from two clients seems to not work Created: 07/Sep/11  Updated: 30/Aug/12  Resolved: 30/Aug/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.5
Fix Version/s: 0.8.0
Security Level: Public

Type: Bug Priority: Major
Reporter: Matt Ingenthron Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
This was originally observed with an older version, and in trying to reproduce it the latest change seems to show incr/decr is further broken. Still, this should be an easy test to add since it's been verified to fail.

from pymembase.membaseclient import VBucketAwareMembaseClient
client_one = VBucketAwareMembaseClient('http://host/pools/default&#39;,&#39;default&#39;,&#39;&#39;)
client_two = VBucketAwareMembaseClient('http://host/pools/default&#39;,&#39;default&#39;,&#39;&#39;)

# Client one sets a numeric key
client_one.set('jacob',0,0,'20')
client_one.get('jacob')

# Client two tries to increment this numeric key
client_two.incr('jacob')
# This returns (0, cas) - it should be 21!
# Client two can keep incrementing this weird key
client_two.incr('jacob')
# Returns (1, cas)

# However - if client two gets the key...
client_two.get('jacob')
client_two.incr('jacob')
# (21, cas)
# !!!

p.s.: want to thank oliland from IRC on reporting this

 Comments   
Comment by Matt Ingenthron [ 07/Sep/11 ]
Could not reproduce this with another client.
Comment by Oli Kingshott [ 08/Sep/11 ]
Analyzing the binary protocol in Wireshark shows that the VBucketID is not set for the second client when it calls incr() without doing a get() first. Will try and see how this relates to the source code.
Comment by Benjamin Young [ 01/Jun/12 ]
I've added the above code (nearly) as a test case here:
https://github.com/BigBlueHat/couchbase-python-client/commit/e3e31cdf7950abb35012fa06195ffea4c6710019

I'd love to get a few others to test it. It was failing, now it isn't. I've only tested it against 1.8.0 thus far.
Comment by Matt Ingenthron [ 24/Aug/12 ]
@benjamin to run this test again with current codebase and current server, then close if it can't be duplicated.
Comment by Benjamin Young [ 30/Aug/12 ]
http://review.couchbase.org/#/c/20369/




[PYCBC-17] client does not exit cleanly on interpreter exit Created: 08/Sep/11  Updated: 06/Apr/12  Resolved: 06/Apr/12

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

Type: Bug Priority: Major
Reporter: Oli Kingshott Assignee: Farshid Ghods
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: all


 Description   
The couchbase client does not exit cleanly when the interpreter exits - i.e. does not disconnect unless you call client.done()

This can be fixed by daemonizing the CommandDispatcher threads. See http://docs.python.org/library/threading.html#threading.Thread.daemon

 Comments   
Comment by Benjamin Young [ 06/Apr/12 ]
Looks like this patch date 8/11/11 (merged on the 25th) does the "daemonization":
http://review.couchbase.org/#change,8889




[PYCBC-14] incr() and decr() not working with VBucketAwareMembaseClient / Membase 1.7 Created: 06/Sep/11  Updated: 31/May/12  Resolved: 31/May/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.5
Fix Version/s: 0.7
Security Level: Public

Type: Bug Priority: Major
Reporter: Oli Kingshott Assignee: Farshid Ghods
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Client platform: Linux / Windows
Server platform: Membase Server 1.7.1 with 1 active server with a Membase VBucket - any authentication

Attachments: File incr.py    

 Description   
See reproduction code attached. When executed it spits out a lot of errors ('amount') and eventually times out while still erroring in the background.

 Comments   
Comment by Matt Ingenthron [ 06/Sep/11 ]
Oli described what he'd found on investigation to me, and I've now posted a change for review:
http://review.couchbase.org/#change,9404
Comment by Matt Ingenthron [ 07/Sep/11 ]
Fix went through, but seems to have been incorrect (testing 0.5-19-g0680cfe):


>>> client_one.incr('jacob')
Exception in thread dispatcher-thread:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 522, in __bootstrap_inner
    self.run()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 477, in run
    self.__target(*self.__args, **self.__kwargs)
  File "couchbaseclient.py", line 651, in _start_dispatcher
    self.dispatcher.dispatch()
  File "couchbaseclient.py", line 954, in dispatch
    self.do(item)
  File "couchbaseclient.py", line 1089, in do
    amount = item["amt"]
KeyError: 'amt'

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "couchbaseclient.py", line 908, in incr
    return self._respond(item, event)
  File "couchbaseclient.py", line 820, in _respond
    raise MemcachedTimeoutException(item, timeout)
exception.MemcachedTimeoutException: timeout - memcached did not return in 30 second during incr operation for key jacob
Comment by Oli Kingshott [ 08/Sep/11 ]
This must be for a later build as I can confirm the patch works for release 0.5.
Comment by Benjamin Young [ 31/May/12 ]
The patch Matt mentioned does seem to have fixed the issue. Current incr() tests pass just fine.




[PYCBC-3] decr() function fails gracelessly Created: 11/Aug/11  Updated: 12/Aug/11  Resolved: 12/Aug/11

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

Type: Bug Priority: Major
Reporter: Tyler Mitchell Assignee: Keith Batten
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: OSX 10.6, Python 2.6

Flagged:
Impediment

 Description   
While learning more about the functions in the vbucketawareclient I tried .decr() with minimal parameters. I lost control of my Python session as it didn't really fail gracefully. I wasn't really trying to make it work, but think this is broken :) and really hard to test further because of this tie-up.

Test script:

from couchbase.couchbaseclient import VBucketAwareCouchbaseClient as client
server = "http://localhost:8091/pools/default"
v = client(server,"default","")
# returns 11210
v.set("TESTKEY",0,0,"TESTVALUE")
# returns (4020540899, 602, '')
v.decr("TESTKEY",1)
#[2011-08-11 16:51:52,415] - [couchbaseclient] [4320661504] - ERROR - 'amount'
#[2011-08-11 16:51:52,627] - [couchbaseclient] [4320661504] - ERROR - 'amount'
#[2011-08-11 16:51:52,827] - [couchbaseclient] [4320661504] - ERROR - 'amount'
#.. never ends

 Comments   
Comment by Farshid Ghods [ 12/Aug/11 ]
Assigning to Keith.
Comment by Tyler Mitchell [ 12/Aug/11 ]
Latest fix did the trick. http://review.couchbase.org/#change,8915




[PYCBC-88] Add support for increment/decrement Created: 26/Apr/13  Updated: 30/Apr/13  Resolved: 30/Apr/13

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

Type: New Feature Priority: Major
Reporter: Matt Ingenthron Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Add support for increment and decrement.




[PYCBC-89] Implement add/replace Created: 26/Apr/13  Updated: 30/Apr/13  Resolved: 30/Apr/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.9.0
Fix Version/s: 0.9.0
Security Level: Public

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[PYCBC-70] shutdown in client takes over 2 seconds Created: 08/Nov/12  Updated: 04/May/13  Resolved: 04/May/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: 0.8.0
Fix Version/s: 0.9.0
Security Level: Public

Type: Bug Priority: Major
Reporter: Matt Ingenthron Assignee: Mark Nunberg
Resolution: Incomplete Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The shutdown function in the Couchbase object seems to take over 2 seconds.

From the discussion with the bug reporter:
@ingenthr it looks like the mc_client.done() is the culprit. the bucket is being deleted every request, calling mc_client.done() which is taking 2.3 sec to finish asa @ 2:00

oh? thanks for tracing that down! I'll get an issue filed ingenthr @ 2:00
perezd [~derek@23-24-210-193-static.hfc.comcastbusiness.net] entered the room. 2:00

client.Bucket asa @ 2:01
perezd left the room (quit: Client Quit). 2:01

that's interesting ingenthr @ 2:03
I wonder what it's doing there 2:03
 
is it bad to not properly shutdown? asa @ 2:08
looks like there is self._dispatcher_stopped_event.wait(2) 2:08
 
well, I think there's a configuration thread. it may leak something? I'm not certain to be honest ingenthr @ 2:08

comment it out and suddenly it iis very fast. asa @ 2:08
line 66 in couchbaseclient.py 2:09
 
heh ingenthr @ 2:09
well, this has been the area we need to fix I beleive 2:09
 
asa @ 2:10





[PYCBC-44] Updated screencast for /develop pages Created: 12/Jul/12  Updated: 10/May/13  Resolved: 10/May/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 1.0
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Mark Nunberg
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Create an updated screencast to ship with the new 2.0 developer SDKs

 Comments   
Comment by Matt Ingenthron [ 10/May/13 ]
We've decided to defer this.




[PYCBC-107] Support py3's 'dict_keys' for multi methods Created: 12/May/13  Updated: 15/May/13  Resolved: 15/May/13

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

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
'dict_keys' should be supported, rather than forcing users to do list(d.keys()).

 Comments   
Comment by Mark Nunberg [ 13/May/13 ]
http://review.couchbase.org/#/c/26276/
Comment by Mark Nunberg [ 15/May/13 ]
https://github.com/couchbase/couchbase-python-client/commit/8ecbc8ec9f84d20f05046063e027083384906f42




[PYCBC-61] Provide Get and Lock Created: 24/Aug/12  Updated: 15/May/13  Resolved: 15/May/13

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

Type: Improvement Priority: Major
Reporter: Karen Zeller Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Provide get and lock as an API method.

 Comments   
Comment by Mark Nunberg [ 13/May/13 ]
http://review.couchbase.org/#/c/26277/
Comment by Mark Nunberg [ 15/May/13 ]
https://github.com/couchbase/couchbase-python-client/commit/9152cfabe257ccc4199f0ab13b298eb84cff840d




[PYCBC-100] add apache 2.0 copyright headers to repo, appropriate files Created: 01/May/13  Updated: 16/May/13  Resolved: 16/May/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 0.11
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
See summary.




[PYCBC-114] Internal base management implementation Created: 15/May/13  Updated: 16/May/13  Resolved: 16/May/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.11
Fix Version/s: 0.11
Security Level: Public

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
This is a 'basic' HTTP implementation. This will be the basis for views as well. As it stands now, this is an unstable API (i.e. the interface may (and probably *will*)) change. This task is just to get the code bits in order so that we're able to do less work when adjusting APIs




[PYCBC-108] Pass ascii=False to json.dumps Created: 12/May/13  Updated: 16/May/13  Resolved: 16/May/13

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

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
This will decrease the data size for UTF-8 strings. However this will store JSON as non-ascii. Is this supported? (it should be, as JSON says it's utf-8 by definition).




[PYCBC-111] Memory leak on bad arguments Created: 14/May/13  Updated: 16/May/13  Resolved: 16/May/13

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

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
There may be a memory leak in the MultiResult object if an error is thrown after the MultiResult object is allocated.

 Comments   
Comment by Mark Nunberg [ 14/May/13 ]
http://review.couchbase.org/26289




[PYCBC-115] Add touch command Created: 15/May/13  Updated: 16/May/13  Resolved: 16/May/13

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

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[PYCBC-116] Review error messages to ensure they're concise, informative, actionable Created: 16/May/13  Updated: 19/May/13  Resolved: 19/May/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: 0.11
Fix Version/s: 1.0 Beta
Security Level: Public

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
There are some like "Couldn't connect", which should be more from a user perspective.




[PYCBC-59] Provide Standardized Logging Created: 24/Aug/12  Updated: 19/May/13  Resolved: 19/May/13

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

Type: Improvement Priority: Major
Reporter: Karen Zeller Assignee: Mark Nunberg
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Provides the consistent level of logging provided by other SDKs. Provide more information on configuring logging for developers.

 Comments   
Comment by Mark Nunberg [ 19/May/13 ]
logging at the sdk level is a task which will be delegated to lcb




[PYCBC-92] Provide 'codec' options for keys and values Created: 26/Apr/13  Updated: 21/May/13  Resolved: 21/May/13

Status: Resolved
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.9.0
Fix Version/s: 0.11
Security Level: Public

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
This will be a preliminary interface, and would allow users to circumvent (either for interoperability or for bugs in the client) "hard coded" encoding rules (pun intended)

The constructor for the Connection class should accept a 'codec' which is an object providing the
following functions:

To encode:
encode_key(self, key) => key_as_bytearray

To decode:
decode_key(self, bytearray) => whatever

To encode a value; should return the bytearray and flags to use
encode_value(self, value) => (bytearray, flags)

To decode a value, function should look at flags and return a bytearray
possibly examining flags.

decode_value(self, value, flags) => bytearray

 Comments   
Comment by Mark Nunberg [ 30/Apr/13 ]
http://review.couchbase.org/#/c/25948/




[PYCBC-119] Add bucket attribute to see currently connected-to bucket Created: 17/May/13  Updated: 21/May/13  Resolved: 21/May/13

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

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[PYCBC-118] Provide nicer __str__/__repr__ for connection object Created: 17/May/13  Updated: 21/May/13  Resolved: 21/May/13

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

Type: Task Priority: Major
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[PYCBC-52] Install dependencies via setup.py rather than including them in the source distribution Created: 07/Aug/12  Updated: 07/Aug/12  Resolved: 07/Aug/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 0.7.2
Security Level: Public

Type: Improvement Priority: Minor
Reporter: Benjamin Young Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Get all the dependencies from PyPi




[PYCBC-50] remove dependencies on pre-Python 2.6 "shims" (uuid, simplejson) Created: 03/Aug/12  Updated: 24/Aug/12  Resolved: 24/Aug/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: None
Affects Version/s: None
Fix Version/s: 0.7.2
Security Level: Public

Type: Improvement Priority: Minor
Reporter: Benjamin Young Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Benjamin Young [ 24/Aug/12 ]
http://review.couchbase.org/#/c/19286/ - simplejson
http://review.couchbase.org/#/c/19285/ - uuid




[PYCBC-2] Update README file with simple example for quickstart Created: 05/Aug/11  Updated: 22/Aug/11  Resolved: 22/Aug/11

Status: Resolved
Project: Couchbase Python Client Library
Component/s: docs
Affects Version/s: None
Fix Version/s: 0.7
Security Level: Public

Type: Task Priority: Minor
Reporter: Tyler Mitchell Assignee: Keith Batten
Resolution: Fixed Votes: 0
Labels: documentation
Remaining Estimate: 2h
Time Spent: Not Specified
Original Estimate: 2h


 Description   
Current README needs some lovin'




[PYCBC-106] Expose server list Created: 10/May/13  Updated: 15/May/13  Resolved: 15/May/13

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

Type: New Feature Priority: Minor
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
This might be needed for more advanced handling of views, or integration of views into a more efficient, "native" HTTP client.

 Comments   
Comment by Mark Nunberg [ 13/May/13 ]
http://review.couchbase.org/26281
Comment by Mark Nunberg [ 15/May/13 ]
https://github.com/couchbase/couchbase-python-client/commit/369a03f6f78d7a0ba5e0e847fa5284c5df0ccc25




[PYCBC-15] client can't set() integer values Created: 06/Sep/11  Updated: 24/Jul/12  Resolved: 24/Jul/12

Status: Resolved
Project: Couchbase Python Client Library
Component/s: library
Affects Version/s: 0.5
Fix Version/s: 0.7
Security Level: Public

Type: Bug Priority: Trivial
Reporter: Oli Kingshott Assignee: Benjamin Young
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: any

Attachments: Text File added-deliberately-failing-test-for-PYCBC-15.patch     File integer.py    

 Description   
Attempting to set an integer value with the python client will produce:

TypeError: object of type 'int' has no len()

We should be getting the object length from the string (unicode?) representation of the object passed into set().

 Comments   
Comment by Benjamin Young [ 06/Apr/12 ]
Failing test submitted to Gerrit: http://review.couchbase.org/#change,14631
Comment by Benjamin Young [ 06/Apr/12 ]
Someone with a deeper understanding of the Memcached protocol should handle this one. Thanks.
Comment by Benjamin Young [ 09/Apr/12 ]
Formalized simpletest.py addition as a patch for this case.
Comment by Benjamin Young [ 01/Jun/12 ]
Failing test case also added here:
https://github.com/BigBlueHat/couchbase-python-client/commit/668c8a85d74005a3780573ab4685b5c4df49381e
Comment by Benjamin Young [ 24/Jul/12 ]
http://review.couchbase.org/#change,18357




Generated at Fri May 24 03:23:41 CDT 2013 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.