[CCBC-530] Pillowfight performance drops to near-0 during rebalance Created: 23/Oct/14  Updated: 23/Oct/14

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

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

Attachments: PNG File Screen Shot 2014-10-23 at 11.54.58 AM.png    

 Description   
Running this pillowfight command which should be very light in usage:
cbc-pillowfight -U couchbase://ec2-54-176-27-210.us-west-1.compute.amazonaws.com/event_stream?retry_backoff=0.0 -t 4 -B 1 -I 300000 -m 1024 -M 1024 -c -1

I rebalance one node out of the cluster and the performance becomes very erratic during the rebalance and then returns to very smooth once completed. See attached screenshot for what I'm observing.

According to Mark, an improvement could be made to have the client keep using the ffmap as it gets NMV responses instead of throwing it away each time.






[CCBC-529] Return error for ignored command options Created: 22/Oct/14  Updated: 22/Oct/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: None
Fix Version/s: 2.4.4
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   
The library should return an error code if a command structure contains an option that does not make sense for a given command, or conflicts with another option specific in the same structure




[CCBC-528] Large observe packets may cause partial buffers to be sent Created: 18/Oct/14  Updated: 21/Oct/14  Resolved: 21/Oct/14

Status: Resolved
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: 2.4.0
Fix Version/s: 2.4.4
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   
If a single output buffer for an observe command exceeds 512 bytes, the library may silently drop subsequent items to be appended to the command body.

This is normally not an issue in practice as the observe buffers are typically issued on a per-key basis; and since a key is never larger than 256b, the library accidentally never runs into this bug. This only seems to be an issue with so-called "multi observe" or "multi endure" commands.




[CCBC-527] Durability timeouts may be a bit jumpy Created: 18/Oct/14  Updated: 20/Oct/14

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: 2.3.0, 2.4.3
Fix Version/s: 2.4.4
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   
Durability timeouts may be a bit jumpy due to the code still using the older ns-to-us conversion. Sometimes the values might be subject to integer overflow and cause incorrect timeout behavior.

 Comments   
Comment by ivulfson [ 20/Oct/14 ]
This issue was exhibited while testing the perl Couchbase client. The issue is described in detail here:

https://github.com/mnunberg/perl-Couchbase-Client/issues/25

I've tested Mark's fix in his libcouchbase master branch, and it works.




Generated at Thu Oct 23 15:52:58 CDT 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.