[PYCBC-129] Develop Content: deliver create the content behind the agreed upon TOC Created: 12/Jun/13 Updated: 18/Jun/13 Resolved: 18/Jun/13 |
|
| Status: | Resolved |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| 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 | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
Per major docs process, need to come up with all of the content behind our Python 1.0 documentation.
|
| Comments |
| Comment by Mark Nunberg [ 13/Jun/13 ] |
|
Getting Started section (Asciidoc).
Additionally attached is a screenshot used by a section in the 'Getting Started' |
| Comment by Mark Nunberg [ 14/Jun/13 ] |
| Still left to do: Tutorial, Logging/Debugging |
| Comment by Mark Nunberg [ 14/Jun/13 ] |
| sample HTML output |
| Comment by Mark Nunberg [ 14/Jun/13 ] |
| Added contributing and advanced sections |
| Comment by Mark Nunberg [ 14/Jun/13 ] |
| Sample HTML output |
| Comment by Mark Nunberg [ 14/Jun/13 ] |
| Tutorial |
| Comment by Mark Nunberg [ 17/Jun/13 ] |
|
Note that I'm working on some newer revisions; deleting existing stuff (as I've heavily modified it locally) -- will post on monday. |
| Comment by Mark Nunberg [ 17/Jun/13 ] |
|
I've submitted a pull request here:
https://github.com/couchbase/docs/pull/224 |
| Comment by Karen Zeller [ 18/Jun/13 ] |
| Merged and validated. |
| Comment by Mark Nunberg [ 18/Jun/13 ] |
| There will be another PR coming up soon fixing some minor API changes which have taken place during the review process.. |
| Comment by Mark Nunberg [ 18/Jun/13 ] |
| I think this can be resolved? We might have some other issues in the docs, but I think the bulk of it is done. |
| Comment by Karen Zeller [ 18/Jun/13 ] |
| Yes! |
[PYCBC-71] Supporting _all_docs in the SDK Created: 15/Nov/12 Updated: 18/Jun/13 Resolved: 18/Jun/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Volker Mische | Assignee: | Mark Nunberg |
| Resolution: | Won't Fix | 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). |
| Comments |
| Comment by Mark Nunberg [ 18/Jun/13 ] |
| _all_docs is an internal function - it shouldn't be exposed to the user. It's simple enough to use an HTTP client -- plus we have a node list |
[PYCBC-57] Provide Error Handling Consistent with Other SDKs Created: 24/Aug/12 Updated: 18/Jun/13 Resolved: 18/Jun/13 |
|
| Status: | Resolved |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 0.11.1 |
| 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 |
|
Need to provides consistent error messages and error handling. Needs to be more consistent with other SDKS, and underlying memcached protocol
|
[PYCBC-36] Implement observe command Created: 12/Jul/12 Updated: 18/Jun/13 Resolved: 18/Jun/13 |
|
| Status: | Resolved |
| 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: | Fixed | 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-126] Provide better handling at fork Created: 04/Jun/13 Updated: 18/Jun/13 Resolved: 18/Jun/13 |
|
| Status: | Closed |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| 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 | ||
| Comments |
| Comment by Mark Nunberg [ 18/Jun/13 ] |
| No sane way to handle this. |
[PYCBC-43] Update the getting started to match the Beer sample DB Created: 12/Jul/12 Updated: 18/Jun/13 Resolved: 18/Jun/13 |
|
| Status: | Resolved |
| Project: | Couchbase Python Client Library |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
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.
|
| Comments |
| Comment by Mark Nunberg [ 18/Jun/13 ] |
| Fixed in the docs. |
[PYCBC-82] Error handling documentation Created: 05/Feb/13 Updated: 18/Jun/13 |
|
| Status: | In Progress |
| Project: | Couchbase Python Client Library |
| Component/s: | docs |
| Affects Version/s: | 0.8.0 |
| Fix Version/s: | 1.0 Beta |
| 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-131] Return more informative error on empty string to get Created: 13/Jun/13 Updated: 17/Jun/13 |
|
| Status: | In Progress |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.11.1 |
| Fix Version/s: | 1.0 Beta |
| 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 |
|
couchbase.exceptions.CouchbaseError: <RC=0x7[Invalid arguments], Operational Error, Results=1, C Source=(src/multiresult.c,147)>
Should display the key or object. |
[PYCBC-132] Lock without TTL fails with 'encoding error' Created: 13/Jun/13 Updated: 17/Jun/13 |
|
| Status: | In Progress |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.11.1 |
| Fix Version/s: | 1.0 Beta |
| 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 should fail with an ArgumentError instead. It also seems the value does end up being sent to the server.
|
[PYCBC-135] Allow transcoder to be either an instance or a class Created: 14/Jun/13 Updated: 17/Jun/13 |
|
| Status: | In Progress |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 1.0.0 |
| 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 | ||
| Description |
|
There's been some confusion about folks passing a class object instead of an instance. It should be simple enough to check this during construction.
|
[PYCBC-139] unlock_multi does not complain about missing cas Created: 17/Jun/13 Updated: 17/Jun/13 |
|
| Status: | In Progress |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.11.1 |
| Fix Version/s: | 1.0 Beta |
| 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-134] Client will crash if _multi methods are passed lists with duplicate keys Created: 14/Jun/13 Updated: 17/Jun/13 |
|
| Status: | In Progress |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.10.0, 0.11.1 |
| Fix Version/s: | None |
| 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 |
|
c.get_multi(["foo", "foo"])
|
[PYCBC-130] Segmentation fault when specifying hos:port as host params Created: 13/Jun/13 Updated: 17/Jun/13 Resolved: 17/Jun/13 |
|
| Status: | Resolved |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.9.0 |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Pavel Paulau | Assignee: | Mark Nunberg |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | Ubuntu 13.04 64-bit, CentOS 6.3 64-bit | ||
| Description |
|
(gdb) bt
#0 0x00007f5f90bcb57f in lcb_destroy () from /usr/lib/libcouchbase.so.2 #1 0x00007f5f90de8f0e in __pyx_pf_9couchbase_12libcouchbase_10Connection_4__dealloc__ (__pyx_v_self=<optimized out>) at couchbase/libcouchbase.c:4657 #2 __pyx_pw_9couchbase_12libcouchbase_10Connection_5__dealloc__ (__pyx_v_self=0x7f5f9230c978) at couchbase/libcouchbase.c:4623 #3 __pyx_tp_dealloc_9couchbase_12libcouchbase_Connection (o=0x7f5f9230c978) at couchbase/libcouchbase.c:10903 #4 0x00000000004b1a53 in ?? () #5 0x000000000047c19d in PyEval_EvalFrameEx () #6 0x00000000004e09aa in PyEval_EvalCodeEx () #7 0x000000000047c034 in PyEval_EvalFrameEx () #8 0x00000000004e09aa in PyEval_EvalCodeEx () #9 0x0000000000540412 in PyEval_EvalCode () #10 0x000000000054088b in ?? () #11 0x00000000004f6454 in PyRun_StringFlags () #12 0x000000000042a472 in PyRun_SimpleStringFlags () #13 0x0000000000466885 in Py_Main () #14 0x00007f5f912faea5 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6 #15 0x00000000004e1635 in _start () Using host="127.0.0.1:8091" instead of host="127.0.0.1", port=8091 causes fault. Not sure if it affects the most recent code base. |
| Comments |
| Comment by Mark Nunberg [ 13/Jun/13 ] |
|
Actually it does, and there is a fix in progress -- see |
[PYCBC-128] Client crashes if invalid hostname is passed Created: 07/Jun/13 Updated: 17/Jun/13 Resolved: 17/Jun/13 |
|
| Status: | Resolved |
| Project: | Couchbase Python Client Library |
| Component/s: | None |
| Affects Version/s: | 0.11.1 |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Task | 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 |
|
def test_invalid_hostname(self):
self.assertRaises(InvalidError, Connection, bucket='default', host='12345:qwer###') Will crash because the lcb_t object is not cleared when lcb_create fails. |
| Comments |
| Comment by Mark Nunberg [ 07/Jun/13 ] |
| http://review.couchbase.org/#/c/26830/ |
[PYCBC-125] Add lock option for Connection object Created: 04/Jun/13 Updated: 17/Jun/13 Resolved: 17/Jun/13 |
|
| Status: | Resolved |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.10.0, 0.11.0, 0.11.1 |
| Fix Version/s: | 1.0 Beta |
| 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 |
|
Add an explicit option to the constructor to lock the object - to prevent simulatenous access from multiple threads.
|
| Comments |
| Comment by Mark Nunberg [ 04/Jun/13 ] |
| While we ask users to do this manually, it turns out it's a bit of a chore to debug when something goes wrong. Having this option built-in makes it easier to figure out what's wrong :) |
[PYCBC-138] _multi arith functions not setting amount properly Created: 17/Jun/13 Updated: 17/Jun/13 |
|
| Status: | In Progress |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.11.1 |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Task | Priority: | Critical |
| 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 |
|
Fix in progress. This is because we don't have a nice python-level wrapper for these functions, so the delta is never set.
|
| Comments |
| Comment by Mark Nunberg [ 17/Jun/13 ] |
| http://review.couchbase.org/26986 |
[PYCBC-136] quiet parameter not being passed from Couchbase.connect Created: 16/Jun/13 Updated: 17/Jun/13 |
|
| Status: | In Progress |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.11.1 |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Task | Priority: | Critical |
| 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/Jun/13 ] |
| http://review.couchbase.org/26984 |
[PYCBC-137] Fix up connection.py module to conform to 'pep8' Created: 17/Jun/13 Updated: 17/Jun/13 |
|
| Status: | In Progress |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 1.0 Beta |
| Fix Version/s: | 1.0.0 |
| 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/Jun/13 ] |
|
13:31 <+pavelpaulau> $ pep8 couchbase/ | wc -l 13:31 <+pavelpaulau> 207 13:31 <+pavelpaulau> something to fix as well 13:31 <+pavelpaulau> and it's getting worse |
| Comment by Mark Nunberg [ 17/Jun/13 ] |
| http://review.couchbase.org/26983 |
[PYCBC-113] TOC for Python 1.0 Created: 15/May/13 Updated: 14/Jun/13 Resolved: 12/Jun/13 |
|
| Status: | Resolved |
| Project: | Couchbase Python Client Library |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Matt Ingenthron | Assignee: | Matt Ingenthron |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| 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 |
| Comment by Matt Ingenthron [ 29/May/13 ] |
|
In response to your comments... > 2.3 Connection Management (it's a simple object, there's no global pooling yet) True, but there is a discussion here about to create and manage connection objects. I think that's critical to mention, if only a few paragraphs. > 3.4 Views (we don't have a stable view API yet) True, but we will have by 1.0. > 3.8 "" Yeah, if this isn't in 1.0, that's fine to leave it out. > 3.5 "" This will be needed for 1.0, so it should be in. > 4.4 We don't have any significant logging infrastructure in the SDK Okay to leave it out for now then, sure. Should there be a mention about logging in this section though? |
| Comment by Mark Nunberg [ 29/May/13 ] |
| Most of the relevant logging would be inside libcouchbase -- which doesn't really support logging yet. I guess with the packet queue fixes this should be doable, though; but that's fairly ahead. |
| Comment by Karen Zeller [ 30/May/13 ] |
|
TOC Review Feedback: "3.5 Applying Persistence Constraints [ NYI ] “ I suppose you will be talking about the “PersistTo and ReplicateTo” parameters. What is the correct “word” for this, I see persistence constraints, persistence requirement, or even durability: http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-durability.html http://www.couchbase.com/docs/couchbase-sdk-net-1.2/couchbase-sdk-net-store-set.html Just to be sure with use the same all the time [CHANGED TO "Durability Requirements"] |
| Comment by Matt Ingenthron [ 30/May/13 ] |
|
To Mark's comments: That's fair, but look at it from a user perspective. Maybe we just need to state there is no logging in the python client and logging of most cases with Python is typically handled by the platform it's running on, flask, etc. Then the developer should just know to/how to log return values that don't make sense. It's worth a discussion just so a user wondering about logging knows what they need to do. |
| Comment by Matt Ingenthron [ 12/Jun/13 ] |
|
Reviewed with Mark, and we've settled on this. We'll open the ticket on delivering the pieces for the next step. ---- 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 [ in review ] 3.5 Error Handling 3.6 JSON & Object Serialization 3.7 Design Document Management 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 (this will not be in the docbook docs, but we'll check that all of these are covered in the python generated docs) 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 |
[PYCBC-133] Provide class-level methods by which to not print out long values Created: 13/Jun/13 Updated: 13/Jun/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | 0.11.1 |
| Fix Version/s: | None |
| 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 [ 13/Jun/13 ] |
| If a value is several long KBs and it has an exception, the screen will not be happy :) |
[PYCBC-12] client should provide some way of asynchronously running multiple ops in parallel Created: 22/Aug/11 Updated: 12/Jun/13 Resolved: 12/Jun/13 |
|
| Status: | Resolved |
| Project: | Couchbase Python Client Library |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | 0.11.1 |
| Security Level: | Public |
| Type: | Improvement | Priority: | Minor |
| 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 |
|
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. |
| Comments |
| Comment by Matt Ingenthron [ 12/Jun/13 ] |
| This is supported with current multiget. |
[PYCBC-102] New Python 1.0 Guide Created: 08/May/13 Updated: 12/Jun/13 |
|
| Status: | Open |
| Project: | Couchbase Python Client Library |
| Component/s: | docs |
| Affects Version/s: | None |
| Fix Version/s: | 1.0 Beta |
| 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-9] an interface to paginate across large view results is needed Created: 22/Aug/11 Updated: 12/Jun/13 |
|
| Status: | In Progress |
| 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 |