[CCBC-216] Change 'lcb_wait' semantics Created: 22/May/13 Updated: 22/May/13 |
|
| Status: | Open |
| Project: | Couchbase C client library libcouchbase |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
Currently we have 'wait' and 'breakout' which is optimized and termed for a synchronous model.
We should rename these functions (though we can still maintain aliases) to something like: lcb_operations_flush: Which indicates that the user has finished sending requests, and that packets should be sent And: lcb_operations_done_callback Which will be called when the operations have been completed. Effectively this is the same as lcb_wait and the stop_event_loop callback, but the usage and purpose of those two existing functions aren't clear. |
[CCBC-215] Test whether server gets reconnected when user idle for longer than timeout interval Created: 22/May/13 Updated: 22/May/13 |
|
| Status: | Open |
| Project: | Couchbase C client library libcouchbase |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Task | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
see inline discussion here: http://review.couchbase.org/#/c/26462/2/src/timeout.c
Basically, the semantics of the timeouts aren't clear - the timeout will unconditionally purge the server and disconnect if the timeout hits, even if there is nothing waiting. In practice this might not be a bug, but it means needless connection code to the server (and SASL auth) is being executed each time. |
[CCBC-214] Re-design internal operations in a queue/linked list structure Created: 21/May/13 Updated: 21/May/13 |
|
| Status: | Open |
| Project: | Couchbase C client library libcouchbase |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Improvement | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
[CCBC-213] Unify internal connect() routines Created: 21/May/13 Updated: 21/May/13 |
|
| Status: | In Progress |
| Project: | Couchbase C client library libcouchbase |
| Component/s: | library |
| Affects Version/s: | None |
| Fix Version/s: | None |
| 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 | ||
| Issue Links: |
|
||||||||
| Description |
|
This will unify the connection routines in terms of error handling and callback invocations.
|
[CCBC-212] IO Enhancements Created: 21/May/13 Updated: 22/May/13 |
|
| Status: | Open |
| Project: | Couchbase C client library libcouchbase |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Epic | Priority: | Major |
| Reporter: | Mark Nunberg | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Epic Name: | IO Enhancements | ||||||||||||||||
| Description |
|
This super bug is an umbrella task for refactoring our IO system to be more streamlined, readable, and compatible with other I/O models.
|
[CCBC-211] libcouchbase may touch a failed node after failover Created: 21/May/13 Updated: 21/May/13 |
|
| Status: | Open |
| Project: | Couchbase C client library libcouchbase |
| Component/s: | library |
| Affects Version/s: | 2.0.6 |
| Fix Version/s: | None |
| Security Level: | Public |
| Type: | Bug | Priority: | Major |
| Reporter: | Ivan Chernetsky | Assignee: | Sergey Avseyev |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: | Observed on CentOS (details in the description) | ||
| Description |
|
Library version: v2.0.6 (compiled from the source code, on x64)
Server version: v2.0.1 Number of nodes in my test setup: 3 (2 x CentOS 6.2 x64, and 1 x CentOS 5.8 x86, if it's of any relevance) Steps to reproduce: 1. Create a new cluster 2. Print the returned value by lcb_get_server_list function (there shoud be 3 servers printed) 3. Bring down network on one of servers 4. Try to put several values, until one of them is routed to the failed node. The library should return an error, which is expected. 5. Repeat 2 6. Manually fail over the failed node. 7. Print the returned value by lcb_get_server_list function (there should be 2 servers printed) 8. Try to put several values, until one of them is routed to the failed node. This behaviour is not expected. 9. Start rebalance. 10. While rebalancing takes place, a request might be routed to the failed node. It is not expected as well. 11. Once rebalance is completed, no requests are routed to the failed node. It is as expected. Thanks in advance for your support. |