[PYCBC-119] Add bucket attribute to see currently connected-to bucket Created: 17/May/13 Updated: 17/May/13 |
|
| Status: | Open |
| 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: | Unresolved | 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: 17/May/13 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
[PYCBC-117] Conncache test failing on Windows Created: 17/May/13 Updated: 17/May/13 |
|
| Status: | In Progress |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Comments |
| Comment by Mark Nunberg [ 17/May/13 ] |
| sb.st_size is 0, this is because Python deletes the NamedTemporaryFile by default |
[PYCBC-116] Review error messages to ensure they're concise, informative, actionable Created: 16/May/13 Updated: 16/May/13 |
|
| Status: | Open |
| 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: | Unresolved | 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-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-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-113] TOC for Python 1.0 Created: 15/May/13 Updated: 15/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Matt Ingenthron |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
For the upcoming 1.0 Python client, we'll need to come up with a TOC. Likely something like MB-7714.
|
| Comments |
| Comment by Karen Zeller [ 15/May/13 ] |
|
Not sure who is the subject matter expert on Python but we need input on the topics. Here is the TOC for Java-next-gen:
1. Getting Started 1.1 Preparations 1.2 Hello Couchbase 1.3 Next Steps 2. Tutorial 2.1 Preparations 2.2 Quickstart 2.3 Connection Management 2.4 The Welcome Page 2.5 Managing Beers 2.6 Wrapping Up 3. Using the APIs 3.1 Connection Management 3.2 Retreiving Data 3.3 Mutating Data 3.4 Working with Views 3.5 Applying Persistence Constraints 3.6 Error Handling 3.7 JSON & Object Serialization 3.8 Design Document Management 4. Advanced Usage 4.1 Bulk Loading 4.2 Working with Documents 4.3 Advanced Topics 4.4 Logging & Debugging 5. API Reference 5.1 Method Summary 5.2 Connecting & Disconnecting 5.3 Retreiving Data 5.4 Mutating Data 5.5 Management Operations 5.6 Other Useful Operations A. Release Notes B. Contributing B.1 General Information B.2 Source Code Styleguide |
| Comment by Matt Ingenthron [ 15/May/13 ] |
|
Mark ist he SME.
Mark: Using this as a base (unless you have feedback to the contrary), can you edit up a TOC for the Python 1.0 release in this ticket? |
| Comment by Mark Nunberg [ 15/May/13 ] |
|
I'd probably want to nix (for now):
2.3 Connection Management (it's a simple object, there's no global pooling yet) 3.4 Views (we don't have a stable view API yet) 3.8 "" 3.5 "" 4.4 We don't have any significant logging infrastructure in the SDK We might want to split 'Preparations' into 'Installing the SDK' and 'Installing the cluster' Thus: -------------------------------------------------------------------------------------------------------------------------- 1. Getting Started 1.1 Setting up the cluster 1.2 Installing the SDK 1.3 Hello Couchbase 1.4 Next Steps 2. Tutorial 2.1 Preparations 2.2 Quickstart 2.3 Connection Management 2.4 The Welcome Page 2.5 Managing Beers 2.6 Wrapping Up 3. Using the APIs 3.1 Connecting 3.2 Retreiving Data 3.3 Mutating Data 3.4 Working with Views [ NYI (Not Yet implemented) ] 3.5 Applying Persistence Constraints [ NYI ] 3.6 Error Handling 3.7 JSON & Object Serialization 3.8 Design Document Management [ NYI ] 4. Advanced Usage 4.1 Bulk Loading 4.2 Notes for using with (and without) threads (maybe this belogns in advanced)? 4.3 Working with Documents 4.4 Advanced Topics 4.5 Logging & Debugging 5. API Reference 5.1 Method Summary 5.2 Initialization 5.3 Retreiving Data 5.4 Mutating Data 5.5 Management Operations 5.6 Other Useful Operations A. Release Notes B. Contributing B.1 General Information B.2 Source Code Styleguide |
| Comment by Mark Nunberg [ 15/May/13 ] |
| Assigning back to you for review |
[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-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-110] Document C Internals Created: 13/May/13 Updated: 16/May/13 Resolved: 16/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | docs, 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 | ||
| Comments |
| Comment by Mark Nunberg [ 13/May/13 ] |
| http://review.couchbase.org/26288 |
[PYCBC-109] Test for negative TTL Created: 13/May/13 Updated: 17/May/13 |
|
| Status: | In Progress |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.9.0 |
| Fix Version/s: | 0.11 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Comments |
| Comment by Mark Nunberg [ 17/May/13 ] |
| http://review.couchbase.org/#/c/26375/ |
[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-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-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-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-104] Provide unlock command Created: 10/May/13 Updated: 13/May/13 Resolved: 13/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 0.11 |
| Security Level: | Public |
| Type: | New Feature | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Mark Nunberg |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
This is already in the library. It just needs tests and documentations.
|
| Comments |
| Comment by Mark Nunberg [ 13/May/13 ] |
|
|
[PYCBC-103] Rewrite in Python C API Created: 09/May/13 Updated: 15/May/13 Resolved: 15/May/13 |
|
| Status: | Closed |
| 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: | 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 | ||
| Comments |
| Comment by Mark Nunberg [ 09/May/13 ] |
| The decision to rewrite this in C is better ability to debug as well as more scalability and control for future development, particularly with things like custom event loops. |
[PYCBC-102] New Python 1.0 Guide Created: 08/May/13 Updated: 08/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | Karen Zeller | Assignee: | Matt Ingenthron |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | info-request | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
MarkN the component lead.
Matt: will have schedule next week. |
[PYCBC-101] warnings at compilation time Created: 02/May/13 Updated: 10/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.9.0 |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Minor |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | unknown linux | ||
| Description |
|
$ pip install couchbase==0.9
Downloading/unpacking couchbase Downloading couchbase-0.9.tar.gz (105Kb): 105Kb downloaded Running setup.py egg_info for package couchbase importerror Installing collected packages: couchbase Running setup.py install for couchbase importerror building 'couchbase/libcouchbase' extension gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -I/usr/include/python3.2mu -c couchbase/libcouchbase.c -o build/temp.linux-x86_64-3.2/couchbase/libcouchbase.o couchbase/libcouchbase.c:880:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] couchbase/libcouchbase.c:5376:18: warning: function declaration isn’t a prototype [-Wstrict-prototypes] gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-3.2/couchbase/libcouchbase.o -lcouchbase -o build/lib.linux-x86_64-3.2/couchbase/libcouchbase.cpython-32mu.so |
| Comments |
| Comment by Mark Nunberg [ 10/May/13 ] |
| Fixed in the new rewrite |
[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-99] Post Python Sphinx Docs output Created: 01/May/13 Updated: 01/May/13 Resolved: 01/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.9.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Karen Zeller | Assignee: | Karen Zeller |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
Week of May 7
|
| Comments |
| Comment by Matt Ingenthron [ 01/May/13 ] |
| Karen: Please post these docs and let me know the URL when done. |
| Comment by Karen Zeller [ 01/May/13 ] |
| Available here: http://www.couchbase.com/autodocs/ |
| Comment by Karen Zeller [ 01/May/13 ] |
| Available here: http://www.couchbase.com/autodocs/ |
[PYCBC-98] Multi methods should not raise exceptions Created: 30/Apr/13 Updated: 17/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| 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: | 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 |
|
Multi methods should not raise exceptions. Instead they should return a custom dict with a field indicating whether all operations succeeded or not.
|
| Comments |
| Comment by Mark Nunberg [ 10/May/13 ] |
| Exceptions contain the affected results. |
| Comment by Mark Nunberg [ 17/May/13 ] |
| Multi methods will raise exceptions, but the exception object itself will contain information about other possibly successful operations. |
[PYCBC-97] Allow for host list to be passed instead of single string Created: 30/Apr/13 Updated: 02/May/13 Resolved: 02/May/13 |
|
| Status: | Closed |
| 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: | 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 | ||
| Comments |
| Comment by Mark Nunberg [ 30/Apr/13 ] |
| http://review.couchbase.org/25996 |
[PYCBC-96] Allow better handling of lcb errors in error callbacks Created: 30/Apr/13 Updated: 02/May/13 Resolved: 02/May/13 |
|
| Status: | Closed |
| 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: | 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 |
|
Currently lcb errors are missed. We should add something which exposes them properly
|
| Comments |
| Comment by Mark Nunberg [ 30/Apr/13 ] |
| http://review.couchbase.org/25995 |
[PYCBC-95] Don't require username and password parameters Created: 30/Apr/13 Updated: 02/May/13 Resolved: 02/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.9.0 |
| Fix Version/s: | 0.10.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 | ||
| Comments |
| Comment by Mark Nunberg [ 30/Apr/13 ] |
| http://review.couchbase.org/25993 |
[PYCBC-94] allow for an option to configure the instance using the libcouchbase configuration cache Created: 30/Apr/13 Updated: 02/May/13 Resolved: 02/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.9.0 |
| Fix Version/s: | 0.10.0 |
| 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 may be some deployments where many instances will be created. For those, it would be desirable to be able to configure the use of the libcouchbase configuration cache to avoid needing to maintain many HTTP configuration streams.
|
| Comments |
| Comment by Mark Nunberg [ 30/Apr/13 ] |
| http://review.couchbase.org/25991 |
| Comment by Perry Krug [ 01/May/13 ] |
| Thanks Mark. Can we also make sure this gets documented in the python git page as well as our /develop documentation page? |
[PYCBC-93] Don't encode bytearray keys Created: 29/Apr/13 Updated: 10/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Volker Mische | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
If a key is a bytearray, the Python client shouldn't try to encode it as UTF-8, but just pass the byte on.
|
[PYCBC-92] Provide 'codec' options for keys and values Created: 26/Apr/13 Updated: 11/May/13 |
|
| Status: | In Progress |
| 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: | Unresolved | 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-91] ensure client can be used with UTF-16 formatted strings for keys Created: 26/Apr/13 Updated: 10/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Task | 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 |
|
We have a requirement that the client be able to work with UTF-16 encoded strings.
In the ideal case, I think, this would just be if the environment were UTF-16 we simply encode the bytes when sending the key as UTF-16, and no special setup is required. If that's not possible, then we need to ensure that passing a UTF-16 encoded string as a key flows through to the server and back unharmed. Tests needed. |
| Comments |
| Comment by Mark Nunberg [ 10/May/13 ] |
| Standard python unicode objects are supported |
[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-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-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-87] Implement append/prepend Created: 26/Apr/13 Updated: 11/May/13 Resolved: 30/Apr/13 |
|
| Status: | Closed |
| 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: | Blocker |
| 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 |
|
Append is needed in version 0.9.
|
[PYCBC-86] Implement delete command Created: 25/Apr/13 Updated: 28/Apr/13 Resolved: 28/Apr/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| 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 |
|
Implement the delete command on top of the new pylibcouchbase.
|
| Comments |
| Comment by Volker Mische [ 28/Apr/13 ] |
| Merged http://review.couchbase.org/25906 |
[PYCBC-85] Client Download Link doesn't work without referrer Created: 27/Mar/13 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.9.0 |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | Muthu Kumar | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | download, issue, link, referer | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
There is a HTTP Referer issue with the download link
wget "http://packages.couchbase.com/clients/python/couchbase-0.8.2.tar.gz" doesn't work wget --referer=http://www.couchbase.com/develop/python/next "http://packages.couchbase.com/clients/python/couchbase-0.8.2.tar.gz" - this works Please fix. |
[PYCBC-84] Implement multi-get Created: 09/Feb/13 Updated: 11/May/13 Resolved: 21/Feb/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.8.1 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Mike Wiederhold | Assignee: | Mark Nunberg |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
http://www.couchbase.com/forums/thread/how-retrive-multiple-documents-python
Please follow up with the user who posted this in the forums upon completion. |
| Comments |
| Comment by Mike Wiederhold [ 21/Feb/13 ] |
|
Duplicate of |
[PYCBC-83] Python client fails to encode view parameters Created: 09/Feb/13 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.8.1 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Mike Wiederhold | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
http://www.couchbase.com/forums/thread/reporting-issue-python-client-bucket-viewoptions-needs-encode-options
During querying a view, if the option is not encoded, it generates an error. Example: bucket.view("_design/beer/_view/by_name", limit=10, key="##") The "##" characters generates: "invalid UTF-8 JSON: {{error,insufficient_data},"[\"NONE"}" The Couchbase Python client code should encode all the params in the client.py: view() method. Please follow up with the user who posted the issue on the forums once this issue is resolved. |
[PYCBC-82] Error handling documentation Created: 05/Feb/13 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | docs |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Perry Krug | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Please create some documentation specifying possible error/failures to operations, what they "look" like in the logs/exceptions/stack traces and what our recommendation is on how to handle them.
i.e. tmp_oom, timeouts (connection/operation/java-internal/etc), "get miss" (it's technically a failure, let's make it overly obvious what it means), CAS failure, add() failure, replace() failure, Some of this should be covered in the API reference, but this bug is specifically for a single page where this information is aggregated that a customer/user could read about how to handle errors. |
[PYCBC-81] Write the Getting Started with Python on Mac OS X section of the essentials guide Created: 04/Feb/13 Updated: 04/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | MC Brown | Assignee: | Robin Johnson |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Write the Getting started with Python on Mac OS X section of the Essentials Guide
Needs to cover: Installation of the Python module and any pre-requisites Writing your first (small) app using Couchbase and Python Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images. |
[PYCBC-80] Write the Getting Started with Python on Linux section of the essentials guide Created: 04/Feb/13 Updated: 04/Feb/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | MC Brown | Assignee: | Robin Johnson |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Write the Getting started with Python Linux (Redhat and Debian) section of the Essentials Guide
Needs to cover: Installation of the Python module and any pre-requisites Writing your first (small) app using Couchbase and Python Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images. |
[PYCBC-79] Create bucket function does not allow user to set the bucket type Created: 26/Jan/13 Updated: 26/Jan/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Tug Grall | Assignee: | Tug Grall |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Create bucket function does not allow user to set the bucket type
We should add the bucket type to the list of parameters it is possible to work around this with the rest interface like: couchbase = Couchbase("127.0.0.1:8091", "Administrator", "password") #get the rest interface rest = couchbase._rest() rest.create_bucket(bucket='myBucket', ramQuotaMB=160, authType='sasl', saslPassword='password', replicaNumber=0, bucketType='couchbase') |
[PYCBC-78] Fix response.json incompatibility with requests module v1.0+ Created: 10/Jan/13 Updated: 16/May/13 Resolved: 16/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.11 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | John Zablocki | Assignee: | John Zablocki |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Prior to the 1.0.0 release of requests, response.json was a property. client.py tries to read config as json using a property, not callable
|
[PYCBC-77] Staged Installs fail because pythonlibdir is not taking care of the DESTDIR Variable Created: 04/Jan/13 Updated: 10/May/13 Resolved: 10/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: | Bug | Priority: | Major |
| Reporter: | Thomas Stein | Assignee: | Mark Nunberg |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | Gentoo Linux / glibc 2.16.0 / gcc 4.6.3 | ||
| Description |
|
Hello.
Staged install fails because in couchbase-examples/Makefile.am the following is set: bindir=$(DESTDIR)$(localbindir) pythonlibdir=$(libdir)/python Is there a special reason $(DESTDIR) is missing for pythonlibdir? best regards Thomas |
| Comments |
| Comment by Mark Nunberg [ 10/May/13 ] |
| rewrite |
[PYCBC-76] It doesn't work with the latest python requests package Created: 26/Dec/12 Updated: 02/May/13 Resolved: 02/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 1.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Critical |
| Reporter: | by zhang | Assignee: | Mark Nunberg |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Ubuntu 12.04/12.10
Requests: 1.0.4 (the latest version from pip install) Couchbase python client library: HEAD from github |
||
| Description |
|
When I try to connect Couchbase as
self.client = Couchbase('127.0.0.1', 'user', 'pwd) I get this error: couchbase-python-client/couchbase/client.py", line 61, in __init__ self.couch_api_base = config["nodes"][0].get("couchApiBase") TypeError: 'instancemethod' object has no attribute '__getitem__' If I revert requests to 0.14.2, then everything is good. From http://pypi.python.org/pypi/requests: (version 1.0.0) This is not a backwards compatible change. |
| Comments |
| Comment by rabbit [ 07/Jan/13 ] |
| This needs to be fixed ASAP. A quick fix is to add requests==0.14.2 in requirements.txt |
| Comment by Mark Nunberg [ 02/May/13 ] |
| Using libcouchbase for io |
[PYCBC-75] Fixed "got not my vb error" problem that was causing a "30 second timeout" from memcached Created: 13/Dec/12 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.9.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Philip Gatt | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | 4h | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | 4h | ||
| Description |
|
Fixed "got not my vb error" problem that was causing a "30 second timeout" from the memcached client.
The code that was in there just had a little bug. I fixed a broken if statement and things started working. I tested this during a rebalance, saw the errors, and also saw my client continue to function fine. Patch is here: https://github.com/couchbase/couchbase-python-client/pull/14/files |
[PYCBC-74] Get and Lock only sets time for default of 15 seconds Created: 06/Dec/12 Updated: 11/May/13 Resolved: 11/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.11 |
| Security Level: | Public |
| Type: | Bug | Priority: | Minor |
| Reporter: | James Mauss | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
bucket.getl(key,5) //unlocked after 15 seconds
bucket.getl(key,30) //unlocked after 15 seconds |
| Comments |
| Comment by Mark Nunberg [ 11/May/13 ] |
| We'll be using libcouchbase for this |
[PYCBC-73] WARNING:client:unknown flags on get: 2000000 Created: 26/Nov/12 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.9.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | by zhang | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | Mac. python27, Couchbase 2.0 | ||
| Description |
|
I was seeing these warnings suddenly from 2 days ago:
WARNING:client:unknown flags on get: 2000000 I modified the python client library to log the values, and they look good, (actually are int) One thing might be related: I did cbbackup and cbrestore before I saw these warnings. |
[PYCBC-72] requests.get should always use auth= Created: 19/Nov/12 Updated: 02/May/13 Resolved: 02/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.8.1 |
| Security Level: | Public |
| Type: | Bug | Priority: | Critical |
| Reporter: | Tommie McAfee | Assignee: | Mark Nunberg |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | system-test | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Multi-bucket usecases fail when authentication to bucket is invalid.
Here auth is set correctly: https://github.com/couchbase/couchbase-python-client/blob/master/couchbase/rest_client.py#L293 but missing here: https://github.com/couchbase/couchbase-python-client/blob/master/couchbase/couchbaseclient.py#L349 https://github.com/couchbase/couchbase-python-client/blob/master/couchbase/rest_client.py#L177 |
| Comments |
| Comment by Mark Nunberg [ 02/May/13 ] |
| Using libcouchbase for this now |
[PYCBC-71] Supporting _all_docs in the SDK Created: 15/Nov/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Volker Mische | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The Python SDK currently doesn't seem to support _all_docs at the moment.
I remember that it was possible in the past with something like `.view("_all_docs")`, but I think this is the wrong way to do it. _all_docs should really have its own method. The reasons are: - _all_docs and Views are a different thing, this should not be hidden to the user - _all_docs uses raw collation and not Unicode collation as Views do - I'm not sure about this one, but it could be the case, that _all_docs also contains not yet persisted items (as opposed to views). |
[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-69] requests module update required to keep up with changing API Created: 28/Oct/12 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| 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: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
In requests 0.14, the API changed slightly and thus we need to update our use of the API.
Workaround: Change line line 282 in couchbase/rest_client.py - def _http_request(self, api, method='GET', params='', headers=None, + def _http_request(self, api, method='GET', params=None, headers=None, |
| Comments |
| Comment by Matt Ingenthron [ 28/Oct/12 ] |
| http://review.couchbase.org/#/c/21631/ |
[PYCBC-68] cannot delete design doc Created: 18/Sep/12 Updated: 17/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.11 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
This may be related to the _rev changes with design docs recently. It could also be related to authentication changes.
http://www.couchbase.com/forums/thread/python-client-delete-design-doc |
| Comments |
| Comment by Matt Ingenthron [ 18/Sep/12 ] |
|
From the bug reporter:
Server is 2.0.0. I've updated the python client to 0.8.0 and the problem remains although with a different error message; File "/Volumes/DATA/dv/epic/server/venv/lib/python2.7/site-packages/couchbase/client.py", line 254, in delete rest.delete_view(self.name, view) AttributeError: 'RestConnection' object has no attribute 'delete_view' I think the problem lies simply within the Python client; inspecting client.py:254 there's a call to a non existent function delete_view().. probably should be RestConnection.delete_design_doc(). |
[PYCBC-67] Unified client should not raise an exception when key is not found Created: 18/Sep/12 Updated: 10/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | John Zablocki | Assignee: | John Zablocki |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Comments |
| Comment by Mark Nunberg [ 10/May/13 ] |
| 'quiet' option available for get methods |
[PYCBC-66] get method should support unicode keys Created: 18/Sep/12 Updated: 10/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | John Zablocki | Assignee: | John Zablocki |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The dictionary list returned by the view method contains unicode objects for id/key/value - not strings. To use the row["id"] value in a bucket.get, it's necessary to __str__() that value.
|
| Comments |
| Comment by Mark Nunberg [ 10/May/13 ] |
| Unicode objects are now allowed |
[PYCBC-65] Unified client needs to support password protected buckets on view queries Created: 18/Sep/12 Updated: 10/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | John Zablocki | Assignee: | John Zablocki |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Comments |
| Comment by Mark Nunberg [ 10/May/13 ] |
| This will be handled by libcouchbase |
[PYCBC-64] Improve design document management error handling Created: 30/Aug/12 Updated: 17/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.11 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Benjamin Young | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The most likely error that needs better handling is invalid JavaScript.
|
| Comments |
| Comment by Benjamin Young [ 31/Aug/12 ] |
|
Docs for potential errors:
http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-designdoc-api-retrieving.html |
[PYCBC-63] include docs over binary protocol Created: 30/Aug/12 Updated: 07/May/13 Resolved: 07/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Benjamin Young | 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, the include_docs=true parameter pulls in content over HTTP. It's less optimized and less performant than pulling the same content via a get_multi() request.
However, get_multi() is currently broken over the binary protocol. This commit shows some progress on the API design: http://review.couchbase.org/#/c/20349/ That would allow the developer to make a request like: users = cb['default']['_design/game']['users_by_points'].results().docs() and get back the content of each user's document, regardless of it being a JSON doc or not. Currently, that code is broken and the implementation is knowingly bad due to having to work around the current lack of .get_multi() on CouchbaseClient and the brokenness of .get_multi() on the MemcachedClient. The current code in that commit returns only the last document requested in the list of results. |
[PYCBC-62] get_multi() doesn't work over binary client Created: 30/Aug/12 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.7.2 |
| Fix Version/s: | 0.9.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Benjamin Young | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Flagged: |
Release Note, Impediment
|
||||||||
| Description |
|
The MemcachedClient.get_multi() method works fine over 11211 (moxi), but fails against 11210. The implementation is using the suggested n-1 getq's + noop:
http://code.google.com/p/memcached/wiki/BinaryProtocolRevamped#Get,_Get_Quietly,_Get_Key,_Get_Key_Quietly |
| Comments |
| Comment by Benjamin Young [ 30/Aug/12 ] |
| The unified CouchbaseClient selects it's port via the HTTP node info API, and thus selects the binary port. |
[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-60] Consistent Order of Method Parameters Created: 24/Aug/12 Updated: 11/May/13 Resolved: 11/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| 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 consistent, predictable order for method parameters as other SDKS.
|
| Comments |
| Comment by Mark Nunberg [ 11/May/13 ] |
| We'll be using keyword arguments rather than positional ones. In fact, I should probably prototype it as such |
[PYCBC-59] Provide Standardized Logging Created: 24/Aug/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| 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: | Unresolved | 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.
|
[PYCBC-58] Provide Consistent Timeouts Created: 24/Aug/12 Updated: 10/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| 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 |
|
Provides the consistent level of time outs with other SDKs. Provide ability to set timeouts at: 1) connection, 2) authentication, and 3) ops level.
|
[PYCBC-57] Provide Error Handling Consistent with Other SDKs Created: 24/Aug/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Need to provides consistent error messages and error handling. Needs to be more consistent with other SDKS, and underlying memcached protocol
|
[PYCBC-56] document thoughts on using async-core for IO oriented parallelism Created: 24/Aug/12 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.9.0 |
| 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 |
|
Related to |
| Comments |
| Comment by Mark Nunberg [ 04/May/13 ] |
|
This is an interesting thought.
In any event, I'd like to model the async as it's done in Perl, where it's essentially layered. |
[PYCBC-55] Memcached bucket operations fail via the unified client Created: 08/Aug/12 Updated: 02/May/13 Resolved: 02/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Benjamin Young | Assignee: | Mark Nunberg |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Flagged: |
Release Note, Impediment
|
| Description |
|
http://www.couchbase.com/forums/thread/python-memcached-bucket-does-it-work
|
| Comments |
| Comment by Matt Ingenthron [ 18/Apr/13 ] |
| This is now in progress for the 0.9 release. The 0.9 changes the API and architecture dramatically, but is much more correct and built atop libcouchbase. |
| Comment by Mark Nunberg [ 02/May/13 ] |
| This is now handled by libcouchbase |
[PYCBC-54] Unable to connect to cluster if any of the nodes are down Created: 08/Aug/12 Updated: 02/May/13 Resolved: 02/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Critical |
| Reporter: | Benjamin Young | Assignee: | Mark Nunberg |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Flagged: |
Release Note, Impediment
|
| Description |
|
http://www.couchbase.com/forums/thread/python-client-broken-pipe-when-one-node-down
|
| Comments |
| Comment by Mark Nunberg [ 02/May/13 ] |
| Now handled by libcouchbase |
[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-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-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-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-49] implement get_multi() in unified client Created: 01/Aug/12 Updated: 10/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Benjamin Young | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
[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-47] make setup.py work for installation (and tests) Created: 25/Jul/12 Updated: 11/May/13 Resolved: 11/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Benjamin Young | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Flagged: |
Release Note
|
| Description |
|
python setup.py install should be our preferred route of installation and prep us for PyPi listing.
|
[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-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-43] Update the getting started to match the Beer sample DB Created: 12/Jul/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Once the sample DB has been integrated into the server, update the getting started (both on the web page and in the documentation) to use the sample database.
|
[PYCBC-42] Add a unit/integration test validation of OBSERVE + view stale=false Created: 12/Jul/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Ensure that when a synchronous set is used with the new low-level observe, the index is fully updated when querying with view=false.
|
[PYCBC-41] View error options at query time Created: 12/Jul/12 Updated: 17/May/13 |
|
| Status: | Open |
| 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: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
At view query time, we need to ensure the developer has the ability to add an "on_error" parameter with values of either "stop" or "continue".
|
[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-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-38] Replica read command Created: 12/Jul/12 Updated: 17/May/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Implement a simple replica read command
|
[PYCBC-37] Highlevel synchronous mutation operations atop observe Created: 12/Jul/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
[PYCBC-36] Implement observe command Created: 12/Jul/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Add the basic low level observe command
|
[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-34] Exception is not thrown or caught anywhere in the code base Created: 18/Jun/12 Updated: 13/May/13 Resolved: 10/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: | Task | Priority: | Major |
| Reporter: | Mike Wiederhold | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Catching Exception masks programming errors and should not be thrown or caught anywhere.
|
| Comments |
| Comment by Mark Nunberg [ 10/May/13 ] |
| Rewrite |
[PYCBC-33] Many operations are timing out during rebalancing Created: 18/May/12 Updated: 11/May/13 Resolved: 11/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | wenxiang | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Couchbase 1.8.0 Community
Ubuntu 12.04 Server Cluster of 3 servers, 8GB ram each Linux RAID 10, 4 x WD RE4 drives |
||
| Description |
|
I tried adding a fourth server with similar specs to the cluster, and found that during the rebalancing, a large number of operations simply timed out after about 30 secs.
The same behavior was observed using the VBucketAware Python client, local Moxi servers and telnetting directly to the CB servers. I was under the impression that if the client/Moxi hits a wrong server during rebalancing it's supposed to immediately return a "not my vbucket" error so it can immediately figure out the actual server to query? |
| Comments |
| Comment by Mark Nunberg [ 11/May/13 ] |
| handled by LCB |
[PYCBC-32] python SDK should use TCP NODELAY? Created: 21/May/12 Updated: 11/May/13 Resolved: 28/Aug/12 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 0.8.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Steve Yen | Assignee: | Matt Ingenthron |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
I noticed while writing a python app that going through server-side moxi against a 2 node cluster was faster than using the python smart client 1.0. Not 100% sure why, but a quick grep shows the python client is not using TCP NODELAY. Like...
s.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) |
| Comments |
| Comment by Benjamin Young [ 28/Aug/12 ] |
| http://review.couchbase.org/#/c/20263/ |
[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-30] Drop "VBucketAware" from Python SDK naming Created: 17/May/12 Updated: 11/May/13 Resolved: 25/May/12 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Benjamin Young | Assignee: | Mike Wiederhold |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Flagged: |
Release Note
|
| Description |
|
Mike W. has good ideas. This is one of them.
We want to get this renaming done prior to the next release, so we don't miss the boat on changing it. Additionally, we should be sure to deprecate the old naming (not just drop it altogether) as it's still in doc/samples/etc and eradicating those will take some time... |
[PYCBC-29] Setting a non-existant key from VBucketAwareCouchbaseClient throws an exception instead of returning None Created: 16/May/12 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.9.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Benjamin Young | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The docs don't match the code. We need to determine which one is correct (or which route we'd prefer taking), write some tests, and make the docs and code match.
Reported via http://disq.us/78w7hy?imp=7fd22085-2821-40da-9b3f-0e5134554a91&thread=574422822&zone=email_notification&event=shortener_click Using couchbase-python-client v0.6.0 from the MB 2.0 DP SDK downloads, the above doesn't seem to be true. I am seeing the following exception thrown (instead of None being returned) when trying to get a non-existant key from a VBucketAwareCouchbaseClient: couchbase.couchbaseclient.MemcachedError: Memcached error #1: Not found Also, the get function doesn't return object but a tuple, with the object is in position 2. |
[PYCBC-28] performance with python client library is sub-standard Created: 04/Apr/12 Updated: 02/May/13 Resolved: 02/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.5, 0.6, 0.7 |
| Fix Version/s: | 0.9.0, 0.10.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Critical |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
Current basic tests with Python show the client library is not capable of the same kind of throughput we would expect from a basic client library. It's unclear if this owing to the fact that we're not that close to the IO or there's something just wrong in the current client library.
|
| Comments |
| Comment by Matt Ingenthron [ 04/Apr/12 ] |
| Added a contributed test for throughput. |
| Comment by Benjamin Young [ 22/Jun/12 ] |
| Pavel's raised his hand to take on this task. Glad to have you on board, Pavel! |
| Comment by Pavel Paulau [ 25/Jul/12 ] |
|
Returning this task back to because it's well beyond my scope.
I'll continue to work on that as part of other task: http://www.couchbase.com/issues/browse/CBD-464 |
| Comment by Mark Nunberg [ 02/May/13 ] |
| Performance is better with the libcouchbase -based version |
[PYCBC-27] support errors on views Created: 22/Mar/12 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | New Feature | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
Views now have some options on capturing errors and stopping on errors as documented here:
http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-writing-errors.html The client needs to support these. |
[PYCBC-26] Client throws intermittent "Exception in thread dispatcher-thread" errors Created: 22/Mar/12 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.5 |
| Fix Version/s: | 0.9.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | John Zablocki | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | Windows 7, Python 2.7 | ||
| Description |
|
While working on the changes for 0.6, I started to get these errors. They went away after some time and I haven't seen them since (though I've used the Python client minimally since the 0.6 release). However, a user reported a similar experience on the forums today. I don't have steps to recreate, but wanted to make note of this as it's no longer isolated to my setup.
http://www.couchbase.com/forums/comment/reply/1001642#comment-form Exception in thread dispatcher-thread (most likely raised during interpreter shutdown): Traceback (most recent call last): File "/usr/lib64/python2.6/threading.py", line 532, in __bootstrap_inner File "/usr/lib64/python2.6/threading.py", line 484, in run File "/usr/lib/python2.6/site-packages/couchbase/couchbaseclient.py", line 661, in _start_dispatcher File "/usr/lib/python2.6/site-packages/couchbase/couchbaseclient.py", line 968, in dispatch File "/usr/lib64/python2.6/Queue.py", line 174, in get <type 'exceptions.TypeError'>: 'NoneType' object is not callable |
| Comments |
| Comment by James Boylan [ 30/Apr/12 ] |
| I have also seen this issue manifest on a Linux system running the 0.6 Client Library for Python. Tested both with Python 2.6 and 2.7. It seems to stem from the threading being done in the client library. ie, threads don't seem to be exiting correctly resulting in the error. |
[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-24] Rebalance results in clients hanging Created: 04/Mar/12 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 0.9.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | nerdynick | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Using the latest version from Github. If you rebalance the cluster while activity is going on from a client. The client hangs with a Not My vBucket error. Even after the rebalance has finished it continues to hang.
|
| Comments |
| Comment by Mark Nunberg [ 04/May/13 ] |
| see LCB |
[PYCBC-23] Error using cas Created: 02/Mar/12 Updated: 11/May/13 Resolved: 01/Sep/12 |
|
| Status: | Closed |
| 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: | Mike Wiederhold | Assignee: | Benjamin Young |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
http://www.couchbase.com/forums/thread/cas-error
|
| Comments |
| Comment by by zhang [ 03/Mar/12 ] |
|
P.S. it's also on the latest couchbase-python-client.
I create a diff (https://github.com/couchbase/couchbase-python-client/pull/4) to walk around this issue. Who can take a look at it? |
| Comment by F M [ 18/Jun/12 ] |
| Hi is there a work-around for this problem? It seems I can't use cas with python SDK. |
| Comment by Benjamin Young [ 01/Sep/12 ] |
|
It seemed to work fine in my tests. Check this commit for how I tested cas(): http://review.couchbase.org/#/c/20429/ If something about those tests look incorrect, please comment here. Thanks! |
[PYCBC-22] A user has reported Dump is broken Created: 02/Mar/12 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| 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: | Mike Wiederhold | Assignee: | Mark Nunberg |
| Resolution: | Won't Fix | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
http://www.couchbase.com/forums/thread/dump-all-keys-bucket
Another user here: http://www.couchbase.com/forums/thread/get-all-key-names-bucket-php |
[PYCBC-21] docloader fails due to some encoding issue on beers sample data Created: 11/Jan/12 Updated: 11/May/13 Resolved: 07/Feb/12 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Aleksey Kondratenko | Assignee: | Benjamin Young |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
See http://review.couchbase.org/#change,11440
|
| Comments |
| Comment by Benjamin Young [ 31/Jan/12 ] |
| http://review.couchbase.org/#change,12710 |
| Comment by Aleksey Kondratenko [ 02/Feb/12 ] |
|
re-opening because fix is not merged |
| Comment by Dipti Borkar [ 19/Jun/12 ] |
| Was this fixed? I see the issue resolved now. |
[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-18] Add prepend method to vbucketawarecouchbase client Created: 19/Nov/11 Updated: 11/May/13 Resolved: 26/Nov/11 |
|
| Status: | Closed |
| 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: | Farshid Ghods |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Comments |
| Comment by Farshid Ghods [ 26/Nov/11 ] |
| http://review.couchbase.org/#change,11170,patchset=1 |
[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-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','default','') client_two = VBucketAwareMembaseClient('http://host/pools/default','default','') # 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-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: |
|
| 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 |
[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: |
|
| 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-13] print statements everywhere Created: 06/Sep/11 Updated: 11/May/13 Resolved: 13/Oct/11 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.5 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Oli Kingshott | Assignee: | Farshid Ghods |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | all | ||
| Description |
|
A lot of print statements are left around the python client library which breaks WSGI - including when you connect.
|
| Comments |
| Comment by Farshid Ghods [ 29/Sep/11 ] |
|
there are print statements only when there is an exception.
were you using pycouchtests ? |
| Comment by Farshid Ghods [ 29/Sep/11 ] |
|
./couchbase/couchbaseclient.py: print ex
./couchbase/couchbaseclient.py: print ex ./couchbase/couchbaseclient.py: print ex ./couchbase/httplib2/__init__.py: print "connect: (%s, %s)" % (self.host, self.port) ./couchbase/httplib2/__init__.py: print 'connect fail:', (self.host, self.port) ./couchbase/migrator/migrator_couchbase.py: print 'unable to set key {0}'.format(str(record['id'])) ./couchbase/utils/couchbase-migrator.py: print "Error: %s\n" % err ./couchbase/utils/couchbase-migrator.py: print """\ ./couchbase/utils/couchbase-migrator.py: print "Sources:" ./couchbase/utils/couchbase-migrator.py: print " " + source['type'] ./couchbase/utils/couchbase-migrator.py: print " " + source['example'] ./couchbase/utils/couchbase-migrator.py: print ./couchbase/utils/couchbase-migrator.py: print ./couchbase/utils/couchbase-migrator.py: print "Destinations:" ./couchbase/utils/couchbase-migrator.py: print " " + destination['type'] ./couchbase/utils/couchbase-migrator.py: print " " + destination['example'] ./couchbase/utils/couchbase-migrator.py: print ./couchbase/utils/couchbase-migrator.py: print 'migrated {0} items'.format(count) ./couchbase/utils/pycouchtest.py: def print_stats(self): ./couchbase/utils/pycouchtest.py: print msg.format(self._thread_id, self._stats["total_time"] / self._stats["samples"], ./couchbase/utils/pycouchtest.py: parser.print_help() ./couchbase/utils/pycouchtest.py: worker.print_stats() ./couchbase/utils/pycouchtest.py: print "" |
| Comment by Matt Ingenthron [ 13/Oct/11 ] |
| Discussion with Farshid indicated this is no longer an issue. Oli, please clarify if there's something we need to address here. Thanks! |
[PYCBC-12] client should provide some way of asynchronously running multiple ops in parallel Created: 22/Aug/11 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Currently, if one has to get multiple items to do something, they must all be done in serial.
get A get B get C print "A + B + C is " A + B + C it'd be better if A, B and C could all be fetched without blocking, and only when going to access them, would the request be blocked. |
[PYCBC-11] a disconnected or misbehaving connection may cause instability in the client library Created: 22/Aug/11 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 0.9.0 |
| Security Level: | Public |
| Type: | Bug | 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 |
|
This bug has not actually been observed, but it is expected that something like a stale connection (one where the server is gone, but no TCP timeout or RST packet has been received) could cause the client to continue to write to something not there forever. The client library should be more resiliant.
|
| Comments |
| Comment by Matt Ingenthron [ 13/Oct/11 ] |
| I believe this is closeable, correct? |
[PYCBC-10] object should serialize and deserialize when being persisted to the cluster Created: 22/Aug/11 Updated: 11/May/13 Resolved: 30/Aug/12 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 0.8.0 |
| Security Level: | Public |
| Type: | New Feature | Priority: | Critical |
| 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 |
|
With most other client libraries, objects are automatically serialized when being stored and retrieved from the system. This client library should have similar functionality.
For example, the Java spymemcached client library reserves the flags field for itself, and will set flags to indicate the datatype. One datatype is a serialized Java object. One good option would also be to allow serialization into JSON, since there is good, built in support for JSON since 2.6 (I believe). |
| Comments |
| Comment by Farshid Ghods [ 07/Sep/11 ] |
|
looking into native python serialization
http://docs.python.org/library/pickle.html |
| Comment by Farshid Ghods [ 29/Sep/11 ] |
|
got the pickle ( native python) serialization working. ( will upload to gerrit after testing )
Matt, based on your comment 1- i will use flags now to differentiate between objects/values we have to deserialize before sending it back to the client or not 2- how about other operations like append or prepend ? |
| Comment by Matt Ingenthron [ 24/Aug/12 ] |
| In 0.8 we'll make sure error handling is done appropriate, should be it's own bug, but this is good enough for now. |
| Comment by Benjamin Young [ 30/Aug/12 ] |
| http://review.couchbase.org/#/c/20376/ |
[PYCBC-9] an interface to paginate across large view results is needed Created: 22/Aug/11 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | New Feature | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
There can be some situations where querying a view returns results that way too large for the client to handle. In these cases, either the client library API or implementation of some Python specific API can allow for one to iterate over Views which have very large results.
The Ruby client does this with streaming. The Java client does this with traditional pagination: http://guide.couchdb.org/draft/recipes.html#pagination |
[PYCBC-8] creating and destroying design docs with views from the client library should be available Created: 22/Aug/11 Updated: 26/Apr/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 1.0 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | New Feature | Priority: | Minor |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Separate from accessing views, there should be methods of creating and destroying views and the associated design documents.
|
[PYCBC-7] An interface to access Couchbase Views is needed Created: 22/Aug/11 Updated: 11/May/13 |
|
| Status: | Reopened |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.8.0 |
| Security Level: | Public |
| Type: | New Feature | Priority: | Critical |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Flagged: |
Release Note
|
| Description |
|
Need an interface to be able to access Couchbase Views. Even without the ability to create and delete views, accessing view results is important, as views can be created through the Web UI interface.
The specific implementation should be specific to, and familiar to the surrounding language and library, but it should have some general capabilities: - List views from a given cluster - Instantiate an Object that represents a view on a given cluster - Assemble query parameters for a View - Retrieve non-reduced results from a View * Be able to get the underlying document from the non-reduced results (this request should flow over binprot) - Retrieve reduced results from a View (the format is the same, but there is no associated docid) |
| Comments |
| Comment by Farshid Ghods [ 29/Sep/11 ] |
|
looking at the readme files now seems like some view functionalities are already implemented : # save a design document # right now with no _rev, we can only create, we can't update try: doc_id = newbucket.save(design) except: doc_id = "_design/testing" rows = newbucket.view("_design/testing/_view/all") for row in rows: print row Keith, can you please go through this checklist and let us know which features need to be worked on ? |
| Comment by Benjamin Young [ 06/Apr/12 ] |
|
Keith, can you get us an update on the status of this issue? Much thanks! |
| Comment by Benjamin Young [ 17/May/12 ] |
| Think you're leading this charge. :) Thanks! |
| Comment by Matt Ingenthron [ 24/Aug/12 ] |
| @benjamin is completing this in 0.8 |
| Comment by Benjamin Young [ 30/Aug/12 ] |
|
The one remaining piece--"include docs over binary protocol" is stalled due to get_multi() However, the API can still handle include_docs over HTTP, so I'm closing this one, and adding another one for include docs over binary protocol. |
| Comment by Benjamin Young [ 30/Aug/12 ] |
|
http://www.couchbase.com/issues/browse/PYCBC-63
Binary protocol improvements related to this API & include_docs |
[PYCBC-6] some bugs on sending data Created: 22/Aug/11 Updated: 04/May/13 Resolved: 04/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.9.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | need_info, needs-better-definition | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
At times, sending data can get hung up. This is well known by Farshid, who can offer details. Just filing the bug for tracking.
|
| Comments |
| Comment by Farshid Ghods [ 07/Sep/11 ] |
|
found the solution and fix is merged to mc_bin_client in testrunner. Keith can you crossport the changes when you get a chance ? |
| Comment by Benjamin Young [ 17/May/12 ] |
| Keith, any updates on this? Thanks. |
| Comment by Benjamin Young [ 31/May/12 ] |
| Farshid, do you know the exact commits or "area" of mc_bin_client that fixed this issue in testrunner? I'll be glad to do the "porting" if so. |
| Comment by Matt Ingenthron [ 13/Jul/12 ] |
|
Assigning to Farshid who can hopefully help fill us in. Farshid: do you remember July 2011? Do you remember it well enough to recall what this issue was that was fixed and merged in mc_bin_client? We want to make sure it's in the updates. |
| Comment by Farshid Ghods [ 26/Jul/12 ] |
| yes the bug was that we were not using tcp_nodelay when creating a connection to memcached |
[PYCBC-5] down server can hang the Python client Created: 22/Aug/11 Updated: 10/May/13 Resolved: 10/May/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.10.0 |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Since servers may die without resetting the TCP socket, the Python client has to have some kind of timeout on any given operation. Clients should not hang forever.
In the Java client, we implement a continuious operation timeout, where a certain number of timeouts on a connection will cause the client library to close/reopen the connection to the server. |
| Comments |
| Comment by Mark Nunberg [ 10/May/13 ] |
| LCB |
[PYCBC-4] cannot handle topology changes Created: 22/Aug/11 Updated: 11/May/13 Resolved: 29/Sep/11 |
|
| Status: | Closed |
| 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: | Matt Ingenthron | Assignee: | Farshid Ghods |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
The current Python client cannot handle topology changes dynamically. It should learn to do so in one of two ways.
1) Implement handling of fast-forward map. 2) Implement retry of nodes. When a node is added to the cluster and rebalance is started, a new map is published with a fast-forward section and an updated node list with the new node listed. The python client should handle not-my-vbucket errors by trying the fast forward map, or should retry each node (maybe twice?) until some node takes the item. |
| Comments |
| Comment by Farshid Ghods [ 29/Sep/11 ] |
| https://github.com/couchbase/couchbase-python-client/commit/3f315ec8c6ea73ef03f49f5b0f79ddcd9389ad19 |
[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-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-1] error format is changing Created: 27/Jul/11 Updated: 11/May/13 Resolved: 31/Aug/12 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| 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 |
|
The error format is changing, need to ensure that's updated in the client.
Rough example format: {"total_rows":0,"rows":[ ], "errors": [{"from":"127.0.0.1:5984","reason":"Design document `_design/testfoobar` missing in database `test_db_b`."}, {"from":"http://localhost:5984/_view_merge/","reason":"Design document `_design/testfoobar` missing in database `test_db_c`."}]} |
| Comments |
| Comment by Matt Ingenthron [ 28/Jul/11 ] |
|
Here's a better example of the format. It changed slightly again.
{"total_rows":0,"rows":[ ], "errors":[ {"from":"local","reason":"Design document `_design/testfoobar` missing in database `test_db_b`."}, {"from":"http://localhost:5984/_view_merge/","reason":"Design document `_design/testfoobar` missing in database `test_db_c`."} ]} |
| Comment by Benjamin Young [ 06/Apr/12 ] |
| So the key difference here is the use of a keyword "local" in place of the IP addres and port combo? |
| Comment by Matt Ingenthron [ 24/Aug/12 ] |
| I guess so. Best thing is just to make sure access to the errors is available for now. |
| Comment by Benjamin Young [ 31/Aug/12 ] |
|
http://review.couchbase.org/#/c/20404/ It's a bit basic, but functional. |