[CCBC-193] libcouchbase build is not checking install properly Created: 22/Mar/13  Updated: 22/Mar/13

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

Type: Bug Priority: Blocker
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
I was trying to package the PHP client, which depends on libcouchase, and it is was refusing to build on some systems.

After looking into it a bit, there may be a couple of problems, but the big one is in the summary.

One problem is that it seems the dpkg -i doesn't actually get run. I added an echo of the label in there, and see that in the console output in Jenkins, but I don't see the lines under the label run. I'm stumped there.




[CCBC-208] libvbucket CRC32 hashing function returns wrong hashes Created: 09/May/13  Updated: 09/May/13

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6
Fix Version/s: None
Security Level: Public

Type: Bug Priority: Blocker
Reporter: Orfeas Zafeiris Assignee: Matt Ingenthron
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Windows & Linux (debian)


 Description   
It seems that the CRC32 hashing function in libvbucket (hash_crc32()) returns an invalid hash.

For instance, hashing the key '1234567890' returns 9757 (0x261D), while it should return 639479525 (0x261DAEE5).

Every key I tried (on both win and linux) returns a 16bit hash.

The problem seems to be on line 85 in crc32.c.

Changing the return expression to 'return crc ^ ~0;' fixes the problem and computes the correct hash.

 Comments   
Comment by Sergey Avseyev [ 09/May/13 ]
The algorithm based on CRC32, but it isn't CRC32, for example java client does the same: https://github.com/dustin/java-memcached-client/blob/master/src/main/java/net/spy/memcached/DefaultHashAlgorithm.java#L103-108
Comment by Sergey Avseyev [ 09/May/13 ]
Do we have official documentation about "crc32-based hash" used in vbucket algorithm?
Comment by Orfeas Zafeiris [ 09/May/13 ]
I see, however the function name and the comments in vbucket.c make it really confusing for people developing their own clients for interacting with couchbase.




[CCBC-184] There are a lot of connections are established after restarting Couchbase server Created: 18/Feb/13  Updated: 25/Feb/13

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

Type: Bug Priority: Critical
Reporter: Haster Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Linux, HP-UX
libcouchbase-2.0.3
Couchbase Server 1.8.1


 Description   
1) Start Couchbase Server
2) Start to recieve some key from Couchbase server using a client based on libcouchbase library. We use about 250 threads for receiving key
3) Restart Couchbase server
4) After that a lot of connections are created (all of then in ESTABLISHED state). And soon quota for handlers is over.

 Comments   
Comment by Trond Norbye [ 21/Feb/13 ]
I'm not sure I understand the problem here. Are you seeing all of the connections on the server node or on the client node (or is this the same machine)?

If this is on the client nodes, are the "old" connections not properly shut down? or does it seem like it is creating multiple new connections per libcouchbase instance?
Comment by Haster [ 25/Feb/13 ]
The sockets are created on client side.
We investigate this problem and found that this truble happend than we try to get many values from Couchbase.
lcb_get();
lcb_get();
...
lcb_get();
lcb_wait();
And if we have temporary errors libcouchbase make reconnect many times.
I don't know is this bug or not. But we avoid this problem by receiving one get a time and waiting if temporary error is happend




[CCBC-162] API reference uses old names, not current lcb_* names Created: 03/Jan/13  Updated: 31/Jan/13

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

Type: Bug Priority: Critical
Reporter: Tim Smith Assignee: MC Brown
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: http://www.couchbase.com/docs/couchbase-sdk-c-2.0/api-reference-summary.html


 Description   
The API reference for all functions uses libcouchbase_* names (libcouchbase_create, etc.) instead of the correct lcb_* names (lcb_create, etc.).

 Comments   
Comment by Trond Norbye [ 29/Jan/13 ]
The manual pages for libcouchbase use the correct names :)
Comment by Karen Zeller [ 29/Jan/13 ]
There is something wrong. At this page, I get: Sorry. We can’t seem to find that page. Can you let me know where this actually appears (name guide, section, page, etc)
Comment by Tim Smith [ 30/Jan/13 ]
There's something even bigger wrong, because the page is missing. There's no reference material at all now in the C client library docs, the TOC has:

1. Getting Started
1.1. Downloading the Couchbase Client Library
1.2. Installing from Source: Linux and Mac OS X
1.3. Installing from Source: Microsoft Windows
1.4. Installing on CentOS/ReHat
1.5. Installing on Ubuntu
1.6. Hello C Couchbase
2. Tutorial
2.1. Simple Example
2.2. Additional Resources
A. Release Notes

The reference page that lists all of the functions, etc., has been removed entirely. Is it supposed to be auto-generated, and perhaps that process is failing? I don't know.
Comment by Karen Zeller [ 30/Jan/13 ]
I'm going to ask MC to look at this as it appears to be the production system. I noticed a couple pages that had correctly linked as cross references in the past are also 404 missing...
Comment by MC Brown [ 31/Jan/13 ]
Matt and I agreed to temporarily remove the API reference from the documentation because we know it needs significant updating. The source material for the API is based on the document that Trond produced last year, and which I have no ability to change or fix at the moment, but I'll work to get that updated.




[CCBC-209] Make Windows builds work with jom (via CMake) Created: 09/May/13  Updated: 07/Jun/13

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

Type: Improvement Priority: Critical
Reporter: Mark Nunberg Assignee: Trond Norbye
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Jom supports parallel-make for windows' nmake (the equivalent to normal make's '-j' option). Right now compiling on windows is painfully slow.

Another alternative would be to make a solution file.


http://qt-project.org/wiki/jom

 Comments   
Comment by Trond Norbye [ 10/May/13 ]
what is stopping the current makefile for being executed by a parallel make?
Comment by Trond Norbye [ 06/Jun/13 ]
Closing the issue since the question hasn't been answered for almost a month
Comment by Mark Nunberg [ 06/Jun/13 ]
Sorry - I didn't see the reply here --

In any event, it seems that JOM doesn't work nicely with implicit rules. For another project I simply wrote a tiny script to generate the proper NMakefile - and now compilation is much quicker. There may be other ways to do this. If you're OK with having the NMakefile auto-generated by a script (at commit-time -- this doesn't have to be shipped with the dist) assign this back to me
Comment by Trond Norbye [ 06/Jun/13 ]
Ok, I thinkI'd rather have us use cmake for the windows build since it may generate solution files for MSVC in addition to these jom files. Creating the CMakeList.txt should be pretty straight forward (I'm doing that for the rest of the server currently)
Comment by Mark Nunberg [ 06/Jun/13 ]
Ok, this sounds good - does cmake do concurrent builds? -- (or produce jom-grokable Makefiles) -- in any event, .sln files would be nice to have as well.

Feel free to rename this bug to "Use CMake for windows" or close this one and make a new one for CMake
Comment by Trond Norbye [ 06/Jun/13 ]
You would run it like: cmake -G "JOM Makefiles" (or -G "NMake Makefiles" etc) That would then produce the kind of makefile you would want to build it with. With more effort we could always replace the entire autoconf with this and just create a small wrapper script called configure which would call cmake with the correct options and have it run tests to detect the stuff we do today). That would on the other hand be a bit more work (and it would require all of our deployments to have cmake installed in order to build it ;))
Comment by Trond Norbye [ 06/Jun/13 ]
current status is: http://review.couchbase.org/#/c/26795/ I need to add more stuff and better tests before closing this bug




[CCBC-200] lcb_make_http_request doesn't respect timeouts Created: 05/Apr/13  Updated: 05/Apr/13

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

Type: Bug Priority: Major
Reporter: matthew newhook Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Windows 7, VS2010

Attachments: Text File testcase.cpp    

 Description   
Run the attached testcase on Windows (after fixing the host and such). The lcb_wait after calling lcb_make_http_request will hang for a very long time (perhaps forever) if the server is no longer accessible.

I tested this by starting the client. When it prints "sleeping" I pull the ethernet cable on my machine. If the lcb_make_http_request is replaced by lcb_get then you'll get a timeout which is expected.




[CCBC-199] Problem with a newly created memcached bucket Created: 02/Apr/13  Updated: 02/Apr/13

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

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


 Description   
See: http://www.couchbase.com/forums/thread/libcouchbase-problem-newly-created-memcached-bucket





[CCBC-195] config cache will crash client due to relocating buffers Created: 01/Apr/13  Updated: 02/Apr/13

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

During a cluster configuration change, the buffers are relocated while they are being processed. This causes crashes.

A solution would be to "request" a configuration refresh and have that take place once it is safe to move buffers around (i.e. once we are out of the buffer processing call chain).

 Comments   
Comment by dongzaixx [ 02/Apr/13 ]
Same Issue: http://www.couchbase.com/issues/browse/CCBC-188




[CCBC-194] Please add support for setsockopt() SO_KEEPALIVE & TCP_KEEPIDLE Created: 25/Mar/13  Updated: 25/Mar/13

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

Type: Task Priority: Major
Reporter: Michael Leib Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: CentOS 6.x, Linux


 Description   
Please add support for setsockopt() options SO_KEEPALIVE & TCP_KEEPIDLE through (suggestion)
lcb_connect() or some other such api so that I can control the connection's ability to not timeout
and have a firewall cause a disconnection from lack of inactivity...without such control, receive
NETWORK_ERROR from couchbase apis.

I cannot adjust the firewall, so I need to keep the connection alive.

 Comments   
Comment by Mark Nunberg [ 25/Mar/13 ]
As a workaround, you can wrap your own IOPS structure, and override the socket creation bits so as to set your own socket options.




[CCBC-187] Set TCP_NODELAY flag Created: 25/Feb/13  Updated: 25/Feb/13

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

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


 Description   
We think it is good idea to set TCP_NODELAY flag to switch off the Nagle mode
(don't wait for sending a short packets)
Couchbase server, as we think, use this flag




[CCBC-186] Request to provide concrete examples in the documentation for OBSERVE functionality Created: 21/Feb/13  Updated: 21/Feb/13

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: Saran Kumar Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
http://support.couchbase.com/tickets/2608

Customer are interested in using OBSERVE functionality to allow them to check whether items have been replicated successfully, as they are worried about unreplicated items.

https://github.com/couchbase/libcouchbase/blob/master/man/man3couchbase/lcb_observe.3couchbase.txt
has basic info on the OBSERE functionality in libcouchbase, but we need to provide concrete examples on how to check multiple keys having been replicated successfully (they do a bulk write, so should be more efficient to wait for all of them, rather than wait for them individually)

Examples provided to the customer :

You will find the below example very useful for simple operations :

https://github.com/couchbase/php-ext-couchbase/blob/master/simple_observe.c

The below example would provide more insights when you have any performance or reliability issues :

https://github.com/couchbase/php-ext-couchbase/blob/master/observe.c

The basic idea here is to constantly "poll" the keys (sleeping within a given interval) until all of them are declared as "OK". The structures involved are the "observe_expectation" (persistence/replication requirements), the "pollprefs" (i.e. timeout, interval, etc.) and the "keystate" - this keeps tabs on how the actual status of each key matches up with the specified criteria. The lcb_observe callback is called for each "status report" for each key from each server; so it is necessary to check and see if the requirements have been met during each individual update.




[CCBC-183] Implement approach to specify behaviour for lcb_get_replica() Created: 15/Feb/13  Updated: 15/Feb/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: Sergey Avseyev Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
The users might want to ask only first or single replica




[CCBC-177] Docs: Reference installation Created: 11/Feb/13  Updated: 11/Feb/13

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

Type: Improvement Priority: Major
Reporter: Perry Krug Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Customers have lots of choices at their fingertips, and many of those choices will result in a non-functioning installation, or at least a lot of time spent figuring out what the right pieces are.

Can we please provide as much details as possible about a reference installation that we can be sure will work for a customer who is just getting started? This is outside of our support for any one operatin system, but more about telling the customer "if you install with these versions and packages, this code will work"

-OS
-other packages/modules required and/or tested with




[CCBC-174] Error handling documentation Created: 05/Feb/13  Updated: 05/Feb/13

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

Type: Improvement Priority: Major
Reporter: Perry Krug Assignee: Sergey Avseyev
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.




[CCBC-170] After upgrading to 2.0.2 with CBC163, I now get timesouts again!!! Created: 22/Jan/13  Updated: 06/Feb/13

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

Type: Bug Priority: Major
Reporter: Michael Leib Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: CentsOS 5.X, 64 Bit, libev version


 Description   
I was using 2.0.0 beta3 with the patch for TIMEOUTS manually applied....this was working fine but I had high CPU. This ran for weeks (if not a month) without any
timeouts at all...I was the happiest with lcb as I had been in a long time. However, after getting some complaints from my server admins and NOC, I upgraded to
2.0.2 with the fix for high CPU...

I rebuilt all modules and rolled to production. It's now been about 4 hours and I have received 2 timeouts as to where I had NONE for weeks without this change.

The load is now normal though but somehow something has broken because of this fix.

I looked at the change with CBC-163, but I don't see how this could have broken the code...but, it has - I promise. Can someone please take a look?

HELP!

 Comments   
Comment by Michael Leib [ 06/Feb/13 ]
I have changed my code around so that I have an ev_timer throttle the millions of lcb_get() requests that I need to make over multiple request chunks from a queue rather than doing it all in a single loop and then letting libev handle it all and that appears to be working. There is still be a problem with the latest code if you do millions of requests within a function call before control is returned to the libev event loop. This doesn't happen everytime, but it does happen frequently enough.

Keeping the number of lcb_get() calls sitting on the event stack low makes a BIG difference.

Once again, with the version that didn't have the high-load fix implemented worked great (except for the load)...when the fix was applied, large amounts of pending events cause TIMEOUT returns from lcb_get(),
Comment by Michael Leib [ 06/Feb/13 ]
And, of course, event with an ev_timer throttle of .01 secs, performance is about 1/4 of what it was when I just threw everything on the queue -
basically about 5k/sec throughput vs 20k/sec just focusing on lcb_get() returns. My CB Cluster (2 servers) is reporting 50K ops/sec consistently
without issue.




[CCBC-152] Provide lcb_check to (weakly) check for the existence of a key Created: 21/Dec/12  Updated: 21/Dec/12

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

Type: New Feature 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 API will be a variant of OBSERVE and shall do a simple probe against the master node to see if the key exists in cache.

We need to have this in libcouchbase as normal observe is implemented by 'broadcasting' to all the nodes




[CCBC-135] lcb_server_purge_implicit_responses: Assertion `nr == sizeof(req)' failed Created: 04/Dec/12  Updated: 14/Dec/12

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

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

Attachments: File core    

 Description   
Cannot reproduce, this is all the info I have

FAIL GetMulti - MgetOrdered [tests/phpt/GetMulti/MgetOrdered.phpt]

mnunberg@csure:/sources/lcb2.0-repo/php$ cat tests/phpt/GetMulti/*.out
PHP_COUCHBASE_OK
php: src/server.c:799: lcb_server_purge_implicit_responses: Assertion `nr == sizeof(req)' failed.

*Might* be related to CCBC-120

To reiterate again, I cannot reproduce this - I just happened to notice it

 Comments   
Comment by Mark Nunberg [ 05/Dec/12 ]
#0 0x00007f4d29d00475 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007f4d29d036f0 in *__GI_abort () at abort.c:92
#2 0x00007f4d29cf9621 in *__GI___assert_fail (assertion=0x7f4d28a88fd3 "nr == sizeof(req)",
    file=<optimized out>, line=799, function=0x7f4d28a893c0 "lcb_server_purge_implicit_responses")
    at assert.c:81
#3 0x00007f4d28a7ab53 in lcb_server_purge_implicit_responses (c=0x2c35ff0, seqno=34,
    end=1354691478793889000) at src/server.c:799
#4 0x00007f4d28a79a56 in lcb_server_destroy (server=0x2c35ff0) at src/server.c:394
#5 0x00007f4d28a74ba5 in lcb_destroy (instance=0x2c83ed0) at src/instance.c:347
#6 0x00007f4d28c9b836 in php_couchbase_res_dtor (rsrc=<optimized out>)
    at /sources/lcb2.0-repo/php/couchbase.c:43
#7 0x00000000006ae89e in list_entry_destructor (ptr=0x7f4d27d177d8)
    at /tmp/buildd/php5-5.4.4/Zend/zend_list.c:183
#8 0x00000000006ac6bd in zend_hash_del_key_or_index (ht=0xdb8750, arKey=0x0, nKeyLength=0, h=56,
    flag=753497888) at /tmp/buildd/php5-5.4.4/Zend/zend_hash.c:531
#9 0x00000000006ae9b1 in _zend_list_delete (id=14243) at /tmp/buildd/php5-5.4.4/Zend/zend_list.c:57
#10 0x000000000068fa5a in _zval_ptr_dtor (zval_ptr=0x7f4d27d175d8)
    at /tmp/buildd/php5-5.4.4/Zend/zend_variables.h:35
#11 0x00000000006bf947 in zend_object_std_dtor (object=0x7f4d27c9c978)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:54
#12 0x00000000006bf979 in zend_objects_free_object_storage (object=0x7f4d27c9c978)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:137
#13 0x00000000006c5693 in zend_objects_store_del_ref_by_handle_ex (handle=753383344, handlers=0x37a3)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects_API.c:220
#14 0x00000000006c56b3 in zend_objects_store_del_ref (zobject=0x7f4d27ca0b60)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects_API.c:172
#15 0x000000000068fa5a in _zval_ptr_dtor (zval_ptr=0x7f4d27cfc130)
    at /tmp/buildd/php5-5.4.4/Zend/zend_variables.h:35
#16 0x00000000006ac7b8 in zend_hash_destroy (ht=0x7f4d27cfd508)
    at /tmp/buildd/php5-5.4.4/Zend/zend_hash.c:560
#17 0x00000000006bf8ec in zend_object_std_dtor (object=0x7f4d27cb9900)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:44
#18 0x00000000006bf979 in zend_objects_free_object_storage (object=0x7f4d27cb9900)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:137
#19 0x00000000006c5693 in zend_objects_store_del_ref_by_handle_ex (handle=753383728, handlers=0x37a3)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects_API.c:220
#20 0x00000000006c56b3 in zend_objects_store_del_ref (zobject=0x7f4d27cb9100)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects_API.c:172
#21 0x000000000068fa5a in _zval_ptr_dtor (zval_ptr=0x7f4d27cb9a78)
    at /tmp/buildd/php5-5.4.4/Zend/zend_variables.h:35
#22 0x00000000006ac7b8 in zend_hash_destroy (ht=0x7f4d27cb9c58)
    at /tmp/buildd/php5-5.4.4/Zend/zend_hash.c:560
---Type <return> to continue, or q <return> to quit---
#23 0x000000000069d9f7 in _zval_dtor_func (zvalue=0x7f4d27cb9d38)
    at /tmp/buildd/php5-5.4.4/Zend/zend_variables.c:43
#24 0x000000000068fa5a in _zval_ptr_dtor (zval_ptr=0x7f4d27e325b0)
    at /tmp/buildd/php5-5.4.4/Zend/zend_variables.h:35
#25 0x00000000006bf947 in zend_object_std_dtor (object=0x7f4d27cf8fa8)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:54
#26 0x00000000006bf979 in zend_objects_free_object_storage (object=0x7f4d27cf8fa8)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:137
#27 0x00000000006c51c7 in zend_objects_store_free_object_storage (objects=0xdb8880)
    at /tmp/buildd/php5-5.4.4/Zend/zend_objects_API.c:92
#28 0x000000000068ffbc in shutdown_executor () at /tmp/buildd/php5-5.4.4/Zend/zend_execute_API.c:297
#29 0x000000000069e9e5 in zend_deactivate () at /tmp/buildd/php5-5.4.4/Zend/zend.c:941
#30 0x000000000063e36a in php_request_shutdown (dummy=0x37a3) at /tmp/buildd/php5-5.4.4/main/main.c:1781
#31 0x0000000000748374 in do_cli (argc=0, argv=0x7fff0f1f03e5)
    at /tmp/buildd/php5-5.4.4/sapi/cli/php_cli.c:1174
#32 0x00000000004310ca in main (argc=32767, argv=0x2a5e210)
    at /tmp/buildd/php5-5.4.4/sapi/cli/php_cli.c:1361
(gdb)
Comment by Mark Nunberg [ 05/Dec/12 ]
Core Dump -- self-compiled versions of lcb and php-ext
Comment by Matt Ingenthron [ 14/Dec/12 ]
Talking with Mark, he can't regularly repro this, but does still see it randomly




[CCBC-111] Make iops functions 'private', and discourage calls to run_event_loop/stop_event_loop Created: 22/Oct/12  Updated: 10/Dec/12

Status: Open
Project: Couchbase C client library libcouchbase
Component/s: library
Affects Version/s: 2.0.0beta2
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   
There's quite a bit of user code which calls io->run_event_loop and io->stop_event_loop.

These functions are largely private and are intended for use by libcouchbase itself. The fact that they are public API is only accidental, due to the fact that they are part of the iops structure.

These functions should never be called by user code:

1) They are a source of confusion (especially when mixed with lcb_wait)
2) They prevent any kind of wrapping/sanity logic done by lcb_wait (some already exists, and some can be implemented in future versions)

The following should be done

1) Remove the iops structure definition from being included by the main header file. Thus, #include <libcouchbase/couchbase.h> should not allow a dereference of the iops structure. Rather the iops structure should be defined in a new header file (iops.h) - so that users who want to explicitly manipulate and write event loop plugins can include it, but should otherwise not be present in 'user' code. types.h should include a predeclaration of the structure so that it may still be passed around as a simple pointer value.

2) Document the purpose of run_event_loop/stop_event_loop. Make it very clear that lcb_wait should be used in all synchronous use cases. If we have any examples using run_event_loop/stop_event_loop, remove them.

3) [ Optional? ] - In order to further discourage users from using these functions, throw a compiler warning/error for those functions unless LIBCOUCHBASE_INTERNAL is defined - tbd




[CCBC-110] Implement lcb_reconnect() which will reconnect all dead sockets Created: 17/Oct/12  Updated: 20/Nov/12

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

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


 Description   
This functionality very important for long-living connection handles

 Comments   
Comment by Matt Ingenthron [ 20/Nov/12 ]
This issue needs more of a description.

As discussed with Sergey, it's visible when using libcouchbase in a completely asynchronous app with an external event loop. According to Sergey, this does not affect any of our main use cases with Ruby/PHP/node and rebuilding the connection.




[CCBC-108] Allow per-command retries for not-my-vbucket and other transient errors Created: 04/Oct/12  Updated: 10/Dec/12

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


 Description   
We should avoid the possibility of 'infinite' errors and allow the user the ability of seeing the 'real' error which caused the command to fail..

http://review.couchbase.org/13177




[CCBC-127] libvbucket RPM is missing /usr/lib64/libvbucket.la file Created: 16/Nov/12  Updated: 16/Nov/12

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

Type: Bug Priority: Major
Reporter: Tim Smith Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: libvbucket1-1.8.0.4-1
centos 5.5 couchbase repo
x86_64


 Description   
The libvbucket1 rpm does not include the libvbucket.la file. The libcouchbase.la file references libvbucket.la as a dependency.

Linking via libtool against libcouchbase fails because of this. For example, compiling the php-ext-couchbase package fails like:

/bin/sh /root/code/php-ext-couchbase/libtool --mode=link cc -DPHP_ATOM_INC -I/root/code/php-ext-couchbase/include -I/root/code/php-ext-couchbase/main -I/root/code/php-ext-couchbase -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/include/ -DHAVE_CONFIG_H -g -O2 -o couchbase.la -export-dynamic -avoid-version -prefer-pic -module -rpath /root/code/php-ext-couchbase/modules compress.lo couchbase.lo fastlz/fastlz.lo -lz -lcouchbase
grep: /usr/lib64/libvbucket.la: No such file or directory
/bin/sed: can't read /usr/lib64/libvbucket.la: No such file or directory
libtool: link: `/usr/lib64/libvbucket.la' is not a valid libtool archive
make: *** [couchbase.la] Error 1

I created a fake libvbucket.la by copying /usr/lib64/libcouchbase.la and editing it, and it allowed the compile to succeed.






[CCBC-116] Heavy errors during short network loss Created: 07/Nov/12  Updated: 14/Nov/12

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

Type: Bug 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   
During network loss to the nodes, there are heavy network errors - a combination of both timed-out operations as well as operations which fail with a network error. Might we want to provide an option to retry these operations?



 Comments   
Comment by Matt Ingenthron [ 14/Nov/12 ]
While this would be nice, I think failure of operations during network loss is okay as long as we highlight the loss up the chain appropriately. Leaving this as major.




[CCBC-83] Update the getting started to match the Beer sample DB Created: 12/Jul/12  Updated: 18/Oct/12

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

Type: Improvement Priority: Major
Reporter: Matt Ingenthron Assignee: Sergey Avseyev
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.


 Comments   
Comment by Matt Ingenthron [ 13/Sep/12 ]
Sergey: Can you update the getting started web page to do some gets/sets against the beer sample DB?
Comment by Sergey Avseyev [ 13/Sep/12 ]
Ok, will do it on staging
Comment by Matt Ingenthron [ 18/Oct/12 ]
I think this is closeable, right?




[CCBC-84] Updated screencast for /develop pages Created: 12/Jul/12  Updated: 12/Jul/12

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

Type: Improvement 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   
Create an updated screencast to ship with the new 2.0 developer SDKs




[CCBC-49] API reference is complete Created: 12/Jan/12  Updated: 10/Dec/12

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

Type: New Feature 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





[CCBC-205] Provide stricter semantics/behavior for configuration cache. Created: 30/Apr/13  Updated: 01/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: Trond Norbye
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
We may want to create a 'cache-only' mode in which creation of the client fails if the cache cannot be created (e.g. a bad path was passed, or the file is not writeable, etc.)

Currently, the cache is mostly a transparent extra, but there is no way for a user to determine whether the mechanism is at all working.




[CCBC-207] Failed connection attempts will hang until timeout interval is reached on win32 Created: 08/May/13  Updated: 08/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: 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   
Failed connection errors are not detected in the select() call. This is because the select call does not add the socket to the exception fdset.

MSDN documentation states that failed connections are delivered through exceptfds, and that only successful connections are delivered as writability notifications. See http://msdn.microsoft.com/en-us/library/windows/desktop/ms740141(v=vs.85).aspx




[CCBC-198] Instance should close REST connection upon receiving valid config cache Created: 01/Apr/13  Updated: 11/May/13

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


 Description   
If a valid config cache configuration is received, there is no point in keeping the REST socket open; (one of the reasons someone would even want to use a cached config is in order to reduce load from the server - so we should try to minimize connections in such cases).

Close the socket immediately (or eventually) if a valid configuration is obtained. Re-open as necessary.




[CCBC-137] libcouchbase test improvements Created: 31/Aug/12  Updated: 11/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 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-138 allow libcouchbase tests to be execut... Technical task Closed Mark Nunberg  
CCBC-139 add timeout tests for libcouchbase Technical task Open Mark Nunberg  
CCBC-140 add http tests to libcouchbase Technical task Closed Mark Nunberg  
CCBC-141 test libcouchbase lock functionality Technical task Closed Mark Nunberg  
CCBC-142 test libcouchbase observe functionality Technical task Open Mark Nunberg  

 Description   
Generic improvements and fixes for libcouchbase test suite




libcouchbase test improvements (CCBC-137)

[CCBC-139] add timeout tests for libcouchbase Created: 31/Aug/12  Updated: 08/Dec/12

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: 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 Farshid Ghods [ 31/Aug/12 ]
1- timeout to a server that is down
2- timeout a server that is slow
Comment by Mark Nunberg [ 05/Sep/12 ]
Apparently there are some new tests for this already.. I'll document them again during next pass




libcouchbase test improvements (CCBC-137)

[CCBC-142] test libcouchbase observe functionality Created: 10/Sep/12  Updated: 08/Dec/12

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





[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:
Dependency
blocks CCBC-212 IO Enhancements Open




[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:
Dependency
blocks CCBC-212 IO Enhancements Open

 Description   
This will unify the connection routines in terms of error handling and callback invocations.




[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-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.




[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:
Dependency
blocks CCBC-212 IO Enhancements Open

 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-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:
Dependency
depends on CCBC-216 Change 'lcb_wait' semantics Open
depends on CCBC-214 Re-design internal operations in a qu... Open
depends on CCBC-213 Unify internal connect() routines In Progress
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-129] Add libevent support for win32 Created: 20/Nov/12  Updated: 21/Nov/12

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

Type: New Feature Priority: Minor
Reporter: Brett Harrison Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Zip Archive win32libevent.zip    

 Description   
I created a NMakefile and made changes to the code to support libevent on windows.

Files affected:
iofactory.c
plugin-libevent.c

New file:
NMakefile.libevent

I uploaded a zipfile of the changes if you are interested in merging them.

 Comments   
Comment by Sergey Avseyev [ 21/Nov/12 ]
it would be awesome if you can move your patch to our review system. http://review.couchbase.com
Comment by Brett Harrison [ 21/Nov/12 ]
Is there a guild on how to use the review system? If you can explain the steps I'll upload the patch.
Comment by Matt Ingenthron [ 21/Nov/12 ]
It's roughly http://www.couchbase.com/wiki/display/couchbase/Contributing+Changes

Repo tool isn't required for this project though
Comment by Matt Ingenthron [ 21/Nov/12 ]
Also, Brett: saw your CLA on review.couchbase.org and you're all set.




[CCBC-101] allow google test suite to be preserved between invocations of make distclean and friends Created: 18/Sep/12  Updated: 18/Sep/12

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

Type: Improvement Priority: Minor
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   
additionally we should make it into a DSO and link the tests against that.. would make it somewhat quicker..

This is obviously not a major issue.. but would be nice :)




[CCBC-78] Improved Sample Code for "Simple Example" Created: 05/Jul/12  Updated: 05/Jul/12

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

Type: Improvement Priority: Minor
Reporter: Karen Zeller Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: customer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: all platforms


 Description   
Hi,

I received a variety of content corrections from a customer for the C SDK. I made all possible, however some require changes in the sample code the SDK Team provides. The existing sample code is here:

http://www.couchbase.com/docs/couchbase-sdk-c-1.0/simple_example.html

The customer requests:

- The tutorial example bails from callbacks with exit(), rather than
passing control back to main (after setting a global flag, for example,
or one passed in via the cookie, etc.).
- The tutorial should also show use of libcouchbase_remove() and what to
expect from libcouchbase_mget() afterwards (the latter is in the Python
docs, but not the C docs).
- The tutorial should use libcouchbase_destroy().
- Some mention of whether a disconnect is needed or not would be
appropriate.

Let me know if you are able to demonstrate use of these other methods in the sample code and send the code. I will add the new sample and document.

Also let me know if a C client needs to be destroyed and if so how.








[CCBC-161] libcouchbase_flush wrongly documented to "flush entire cluster" Created: 03/Jan/13  Updated: 02/May/13

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

Type: Bug Priority: Minor
Reporter: Tim Smith Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: http://www.couchbase.com/docs/couchbase-sdk-c-2.0/api-reference-summary.html#table-couchbase-sdk-c-summary


 Description   
The docs say that libcouchbase_flush() will "Flush the entire cluster" and "libcouchbase_flush may be used to remove all key/value pairs from the entire cluster."

It actually flushes a bucket, not the entire cluster.




[CCBC-206] Improve libcouchbase rpm instructions Created: 19/Feb/13  Updated: 02/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: Improvement Priority: Minor
Reporter: James Mauss Assignee: Sergey Avseyev
Resolution: Unresolved Votes: 0
Labels: info-request
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
There is currently no documentation about installing libcouchbase from the rpm or deb files.
The only documentation is for installation with yum or apt-get.

Since some packages are optional, more instructions would be nice.

 Comments   
Comment by Karen Zeller [ 28/Mar/13 ]
Hi,

Can you point me to any information about rpm install for the SDK on github, or anywhere else. Assign back to me to document.


Thanks,

Karen
Comment by Karen Zeller [ 02/May/13 ]
Can you close this and reopen this under the Couchbase C Client Library project?

We're doing massive housekeeping on docs requests and want to keep this separate from server.


Thanks!




Generated at Wed Jun 19 11:13:09 CDT 2013 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.