Handle API/ABI modifications from 2.x => 3.0/2.4 (CCBC-377)

[CCBC-378] lcb_socket_t is DWORD on Win32, not int Created: 20/Apr/14  Updated: 20/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: None
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Technical 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





[CCBC-377] Handle API/ABI modifications from 2.x => 3.0/2.4 Created: 20/Apr/14  Updated: 20/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: None
Affects Version/s: 2.4.0
Fix Version/s: 2.4.0
Security Level: Public

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

Sub-Tasks:
Key
Summary
Type
Status
Assignee
CCBC-378 lcb_socket_t is DWORD on Win32, not int Technical task Open Mark Nunberg  

 Description   
This is a parent task for handling/documenting API/ABI changes and removals between those versions.




[CCBC-376] Memory leak in cJSON/VBucket config parsing Created: 20/Apr/14  Updated: 20/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: 2.3.0
Fix Version/s: 2.3.1, 2.4.0
Security Level: Public

Type: Bug 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





[CCBC-375] Migrate to Doxygen Created: 17/Apr/14  Updated: 17/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: docs
Affects Version/s: None
Fix Version/s: 2.4.0
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





[CCBC-374] Implement SSL Transport For 3.0 Server Created: 17/Apr/14  Updated: 17/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: None
Fix Version/s: 2.4.0
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





[CCBC-373] FORWARDPORT (2.4) - lcb_get_host/lcb_get_port may not return host:port for same host Created: 17/Apr/14  Updated: 17/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: 2.3.0
Fix Version/s: 2.4.0
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   
These two API calls select a host at random if there is no current "Rest Host"

 Comments   
Comment by Mark Nunberg [ 17/Apr/14 ]
CCBC-370




[CCBC-372] FORWARDPORT (2.4) - Couchbase::Error::Invalid: failed to schedule document request (key="/pools/default/buckets/default/ddocs", error=0x07) after upgrade to 2.3 Created: 17/Apr/14  Updated: 17/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: None
Affects Version/s: 2.3.0
Fix Version/s: 2.4.0
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   
http://www.couchbase.com/communities/q-and-a/error-after-updating-libcouchbase-22-23

Assigning to sergey first to see if this is not a ruby issue. I've tried something similar on Python and have it working as expected.

 Comments   
Comment by Mark Nunberg [ 17/Apr/14 ]
CCBC-367




[CCBC-371] FORWARDPORT (2.4) - Incorrect error raised when using node_list: property Created: 17/Apr/14  Updated: 17/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: 2.3.0, 2.4.0
Fix Version/s: 2.4.0
Security Level: Public

Type: Bug 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   
If you use the node_list property and try to connect to a cluster for a bucket that doesn't exist, you get:
Couchbase::Error::Timeout instead of Couchbase::Error::BucketNotFound

This can mess up scripts that rescue the BucketNotFound and create the bucket if it's not there. Timeout implies other problems (connectivity problems) which isn't the case.

gems/ruby-2.1.0/gems/couchbase-1.3.6/lib/couchbase.rb:63:in `initialize': No more bootstrap providers remain (error=0x17) (Couchbase::Error::Timeout)


 Comments   
Comment by Mark Nunberg [ 17/Apr/14 ]
CCBC-368




[CCBC-370] lcb_get_host/lcb_get_port may not return host:port for same host Created: 17/Apr/14  Updated: 17/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: 2.3.0
Fix Version/s: 2.3.1
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   
These two API calls select a host at random if there is no current "Rest Host"




[CCBC-369] lcb_create manpage does not mention v2 layout of struct lcb_create_st Created: 17/Apr/14  Updated: 17/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: docs
Affects Version/s: None
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Major
Reporter: Sergey Avseyev Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified





[CCBC-367] Couchbase::Error::Invalid: failed to schedule document request (key="/pools/default/buckets/default/ddocs", error=0x07) after upgrade to 2.3 Created: 16/Apr/14  Updated: 17/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: None
Affects Version/s: 2.3.0
Fix Version/s: 2.3.1
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   
http://www.couchbase.com/communities/q-and-a/error-after-updating-libcouchbase-22-23

Assigning to sergey first to see if this is not a ruby issue. I've tried something similar on Python and have it working as expected.

 Comments   
Comment by Mark Nunberg [ 16/Apr/14 ]
This works similarly the same inside libcouchbase:

from couchbase.admin import Admin
Admin("Administrator", "123456").http_request("/pools/default/buckets/default/ddocs")


Sergey, are using the 'raw' request? Maybe that's the issue.
Comment by Sergey Avseyev [ 17/Apr/14 ]
This is libcouchbase bug.

https://github.com/couchbase/libcouchbase/blob/master/src/http.c#L475 lcb_confmon_get_rest_host(instance->confmon); returns NULL as host, therefore it will get invalid base ":" later in https://github.com/couchbase/libcouchbase/blob/master/src/http.c#L481
Comment by Sergey Avseyev [ 17/Apr/14 ]
and ruby uses management request to get list of design documents




[CCBC-365] Restore syncmode functionality (if needed) Created: 15/Apr/14  Updated: 16/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: .future
Fix Version/s: .future
Security Level: Public

Type: Task Priority: Critical
Reporter: Mark Nunberg Assignee: Mark Nunberg
Resolution: Unresolved Votes: 0
Labels: packet-ng
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Comments   
Comment by Matt Ingenthron [ 16/Apr/14 ]
Curious, what does this one mean?
Comment by Mark Nunberg [ 16/Apr/14 ]
In the process of converting the operations to use an entirely different buffer and object system, much of the code has been isolated so far from the "Core" with the aim of creating isolated and well defined modules within the library itself.

The "Syncmode" was introduced in 1.x and its entire purpose is to implicitly call lcb_wait() after each operation. As such it provided a fairly intrusive and cumbersome internal API to be had.

It is optional behavior and the only thing that relies on it currently is the PHP extension - though it would be about 10 minutes work to adapt the PHP extension to call lcb_wait explicitly. We've removed/disabled this either temporarily or indefinitely (the bug is basically here to provide a reminder to restore it if needed) depending on how compatible packet-ng will end up being.
Comment by Matt Ingenthron [ 16/Apr/14 ]
Thanks for the description. It's only broken in .future I'll assume since that's what the bug says.




[CCBC-364] cbc-pillowfight slow during topology changes Created: 15/Apr/14  Updated: 17/Apr/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: 2.3.0
Fix Version/s: 2.3.1
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   
When using CCCP, pillowfight exhibits a performance drop during a topology change. This may be related to not comparing the rev of various configurations received.



 Comments   
Comment by Mark Nunberg [ 15/Apr/14 ]
This _may_ be related to CCBC-332 - but I'm not sure at the moment.
Comment by Mark Nunberg [ 15/Apr/14 ]
Workaround is to use -C HTTP




[CCBC-363] Documentation for homebrew install points to unmaintained repository Created: 15/Apr/14  Updated: 15/Apr/14  Resolved: 15/Apr/14

Status: Resolved
Project: Couchbase C client library libcouchbase
Component/s: None
Affects Version/s: 2.3.0
Fix Version/s: .next
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   
http://docs.couchbase.com/couchbase-sdk-c-2.3/index.html#installing-using-packages-on-mac-os-x

 Comments   
Comment by Mark Nunberg [ 15/Apr/14 ]
Fixed:

http://docs.couchbase.com/couchbase-sdk-c-2.3/#installing-using-packages-on-mac-os-x




Generated at Sun Apr 20 17:00:33 CDT 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.