<!--
RSS generated by JIRA (5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9) at Fri May 24 02:02:51 CDT 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://www.couchbase.com/issues/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+CCBC&tempMax=1000&field=key&field=summary
-->
<!-- If you wish to do custom client-side styling of RSS, uncomment this:
<?xml-stylesheet href="http://www.couchbase.com/issues/styles/jiraxml2html.xsl" type="text/xsl"?>
-->
<rss version="0.92">
    <channel>
        <title>Couchbase</title>
        <link>http://www.couchbase.com/issues/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+CCBC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="211" total="211"/>
                <build-info>
            <version>5.2.4</version>
            <build-number>845</build-number>
            <build-date>26-12-2012</build-date>
        </build-info>
<item>
            <title>[CCBC-216] Change &apos;lcb_wait&apos; semantics</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-216</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Currently we have &amp;#39;wait&amp;#39; and &amp;#39;breakout&amp;#39; which is optimized and termed for a synchronous model.&lt;br/&gt;
&lt;br/&gt;
We should rename these functions (though we can still maintain aliases) to something like:&lt;br/&gt;
&lt;br/&gt;
lcb_operations_flush:&lt;br/&gt;
&lt;br/&gt;
Which indicates that the user has finished sending requests, and that packets should be sent&lt;br/&gt;
&lt;br/&gt;
And:&lt;br/&gt;
lcb_operations_done_callback&lt;br/&gt;
&lt;br/&gt;
Which will be called when the operations have been completed.&lt;br/&gt;
&lt;br/&gt;
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&amp;#39;t clear.</description>
                <environment></environment>
            <key id="24390">CCBC-216</key>
            <summary>Change &apos;lcb_wait&apos; semantics</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Wed, 22 May 2013 10:53:37 -0500</created>
                <updated>Wed, 22 May 2013 10:53:51 -0500</updated>
                                                                    <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                        <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="24368">CCBC-212</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11383</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-215] Test whether server gets reconnected when user idle for longer than timeout interval</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-215</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>see inline discussion here: &lt;a href=&quot;http://review.couchbase.org/#/c/26462/2/src/timeout.c&quot;&gt;http://review.couchbase.org/#/c/26462/2/src/timeout.c&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Basically, the semantics of the timeouts aren&amp;#39;t clear - the timeout will unconditionally purge the server and disconnect if the timeout hits, even if there is nothing waiting.&lt;br/&gt;
&lt;br/&gt;
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.</description>
                <environment></environment>
            <key id="24385">CCBC-215</key>
            <summary>Test whether server gets reconnected when user idle for longer than timeout interval</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Wed, 22 May 2013 00:47:27 -0500</created>
                <updated>Wed, 22 May 2013 00:47:27 -0500</updated>
                                                                                    <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11378</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-214] Re-design internal operations in a queue/linked list structure</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-214</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="24370">CCBC-214</key>
            <summary>Re-design internal operations in a queue/linked list structure</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 May 2013 11:45:57 -0500</created>
                <updated>Tue, 21 May 2013 11:46:07 -0500</updated>
                                                                    <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                        <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="24368">CCBC-212</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11357</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-213] Unify internal connect() routines</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-213</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>This will unify the connection routines in terms of error handling and callback invocations.</description>
                <environment></environment>
            <key id="24369">CCBC-213</key>
            <summary>Unify internal connect() routines</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="3" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/inprogress.png">In Progress</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 May 2013 11:44:59 -0500</created>
                <updated>Tue, 21 May 2013 23:12:50 -0500</updated>
                                                                    <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                        <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="24368">CCBC-212</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11356</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-212] IO Enhancements</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-212</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <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.</description>
                <environment></environment>
            <key id="24368">CCBC-212</key>
            <summary>IO Enhancements</summary>
                <type id="5" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/epic.png">Epic</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 May 2013 11:44:01 -0500</created>
                <updated>Wed, 22 May 2013 10:53:51 -0500</updated>
                                                                                    <votes>0</votes>
                        <watches>1</watches>
                                                        <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                <outwardlinks description="depends on">
                            <issuelink>
            <issuekey id="24390">CCBC-216</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="24370">CCBC-214</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="24369">CCBC-213</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                            <customfield id="customfield_10085" key="com.pyxis.greenhopper.jira:gh-epic-color">
                <customfieldname>Epic Colour</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>#f7ddb4</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                <customfield id="customfield_10083" key="com.pyxis.greenhopper.jira:gh-epic-label">
                <customfieldname>Epic Name</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>IO Enhancements</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10084" key="com.pyxis.greenhopper.jira:gh-epic-status">
                <customfieldname>Epic Status</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10050"><![CDATA[To Do]]></customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                                                                                                <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11355</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-211] libcouchbase may touch a failed node after failover</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-211</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Library version: v2.0.6 (compiled from the source code, on x64)&lt;br/&gt;
Server version: v2.0.1&lt;br/&gt;
Number of nodes in my test setup: 3 (2 x CentOS 6.2 x64, and 1 x CentOS 5.8 x86, if it&amp;#39;s of any relevance)&lt;br/&gt;
&lt;br/&gt;
Steps to reproduce:&lt;br/&gt;
&lt;br/&gt;
1. Create a new cluster&lt;br/&gt;
2. Print the returned value by lcb_get_server_list function (there shoud be 3 servers printed)&lt;br/&gt;
3. Bring down network on one of servers&lt;br/&gt;
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.&lt;br/&gt;
5. Repeat 2&lt;br/&gt;
6. Manually fail over the failed node.&lt;br/&gt;
7. Print the returned value by lcb_get_server_list function (there should be 2 servers printed)&lt;br/&gt;
8. Try to put several values, until one of them is routed to the failed node. This behaviour is not expected.&lt;br/&gt;
9. Start rebalance.&lt;br/&gt;
10. While rebalancing takes place, a request might be routed to the failed node. It is not expected as well.&lt;br/&gt;
11. Once rebalance is completed, no requests are routed to the failed node. It is as expected.&lt;br/&gt;
&lt;br/&gt;
Thanks in advance for your support.</description>
                <environment>Observed on CentOS (details in the description)</environment>
            <key id="24366">CCBC-211</key>
            <summary>libcouchbase may touch a failed node after failover</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ichernetsky">Ivan Chernetsky</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 May 2013 10:24:35 -0500</created>
                <updated>Tue, 21 May 2013 10:24:35 -0500</updated>
                                    <version>2.0.6</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11353</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-210] segfault from lcb_wait and libev</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-210</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When running a test with a broken cluster, I happened to have PHP segfault after a long, long wait.&lt;br/&gt;
&lt;br/&gt;
#0  0xffffffffffffffff in ?? ()&lt;br/&gt;
#1  0x00002aab69d1fab4 in ?? () from /usr/lib64/libcouchbase.so.2&lt;br/&gt;
#2  0x00002aab69d16421 in ?? () from /usr/lib64/libcouchbase.so.2&lt;br/&gt;
#3  0x00002aab6b271e73 in ev_invoke_pending () from /usr/lib64/libev.so.4&lt;br/&gt;
#4  0x00002aab6b276688 in ev_run () from /usr/lib64/libev.so.4&lt;br/&gt;
#5  0x00002aab6b06dd86 in ?? () from /usr/lib64/libcouchbase_libev.so&lt;br/&gt;
#6  0x00002aab69d1e698 in lcb_wait () from /usr/lib64/libcouchbase.so.2&lt;br/&gt;
#7  0x00002aab69af22b3 in php_couchbase_view_impl (ht=2, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return_value=0x178de850, return_value_ptr=0x0, this_ptr=0x178dcf28, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return_value_used=1, oo=1, uri_only=0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/tmpwlG54H/couchbase-1.1.5/views.c:347&lt;br/&gt;
#8  0x00002aab69adfe86 in zim_couchbase_view (ht=395387424, return_value=0x1, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return_value_ptr=0x11, this_ptr=0x0, return_value_used=16)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/tmpwlG54H/couchbase-1.1.5/apidecl.c:768&lt;br/&gt;
#9  0x00000000005e78e9 in ?? ()&lt;br/&gt;
#10 0x00000000005bd9ab in execute ()&lt;br/&gt;
#11 0x0000000000599f45 in zend_execute_scripts ()&lt;br/&gt;
#12 0x000000000054ad48 in php_execute_script ()&lt;br/&gt;
#13 0x0000000000622cde in ?? ()&lt;br/&gt;
#14 0x0000003d16a1d994 in __libc_start_main () from /lib64/libc.so.6&lt;br/&gt;
#15 0x0000000000421789 in _start ()&lt;br/&gt;
</description>
                <environment></environment>
            <key id="24191">CCBC-210</key>
            <summary>segfault from lcb_wait and libev</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 10 May 2013 17:58:41 -0500</created>
                <updated>Thu, 16 May 2013 04:52:14 -0500</updated>
                                    <version>2.0.6</version>
                                <fixVersion>2.1.0</fixVersion>
                                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="57867" author="ingenthr" created="Fri, 10 May 2013 18:01:49 -0500"  >by the way, I always seem to get libev when installing libcouchbase2 on CentOS 5.8.  It has libevent 1.4.  Is this normal?</comment>
                    <comment id="58477" author="avsej" created="Thu, 16 May 2013 04:50:59 -0500"  >libcouchbase2 depends on virtual package libcouchbase2-backend, which is provided by libcouchbase2-libev and libcouchbase2-libevent. I think it picks libev version because of alphabetical order. By the time I&amp;#39;ve written package description I cannot found how to write alternaltion rule, like for DEB packages (which is also ordered) &lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/packaging/deb/control#L58&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/packaging/deb/control#L58&lt;/a&gt;.&lt;br/&gt;
&lt;br/&gt;
$ ls -1&lt;br/&gt;
libcouchbase2-2.0.6-1.x86_64.rpm&lt;br/&gt;
libcouchbase2-bin-2.0.6-1.x86_64.rpm&lt;br/&gt;
libcouchbase2-core-2.0.6-1.x86_64.rpm&lt;br/&gt;
libcouchbase2-libev-2.0.6-1.x86_64.rpm&lt;br/&gt;
libcouchbase2-libevent-2.0.6-1.x86_64.rpm&lt;br/&gt;
libcouchbase-debuginfo-2.0.6-1.x86_64.rpm&lt;br/&gt;
libcouchbase-devel-2.0.6-1.x86_64.rpm&lt;br/&gt;
</comment>
                    <comment id="58478" author="avsej" created="Thu, 16 May 2013 04:52:14 -0500"  >and the stacktrace not complete, is it possible to install debug symbols and reproduce it?</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11170</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-209] Make Windows builds work with jom</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-209</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Jom supports parallel-make for windows&amp;#39; nmake (the equivalent to normal make&amp;#39;s &amp;#39;-j&amp;#39; option). Right now compiling on windows is painfully slow.&lt;br/&gt;
&lt;br/&gt;
Another alternative would be to make a solution file.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://qt-project.org/wiki/jom&quot;&gt;http://qt-project.org/wiki/jom&lt;/a&gt;</description>
                <environment></environment>
            <key id="24179">CCBC-209</key>
            <summary>Make Windows builds work with jom</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Thu, 9 May 2013 23:25:14 -0500</created>
                <updated>Fri, 10 May 2013 01:29:45 -0500</updated>
                                                                    <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="57785" author="trond" created="Fri, 10 May 2013 01:29:45 -0500"  >what is stopping the current makefile for being executed by a parallel make? </comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11158</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-208] libvbucket CRC32 hashing function returns wrong hashes</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-208</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>It seems that the CRC32 hashing function in libvbucket (hash_crc32()) returns an invalid hash.&lt;br/&gt;
&lt;br/&gt;
For instance, hashing the key &amp;#39;1234567890&amp;#39; returns 9757 (0x261D), while it should return 639479525 (0x261DAEE5).&lt;br/&gt;
&lt;br/&gt;
Every key I tried (on both win and linux) returns a 16bit hash.&lt;br/&gt;
&lt;br/&gt;
The problem seems to be on line 85 in crc32.c.&lt;br/&gt;
&lt;br/&gt;
Changing the return expression to &amp;#39;return crc ^ ~0;&amp;#39; fixes the problem and computes the correct hash.</description>
                <environment>Windows &amp;amp; Linux (debian)</environment>
            <key id="24160">CCBC-208</key>
            <summary>libvbucket CRC32 hashing function returns wrong hashes</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="Orfeas Zafeiris">Orfeas Zafeiris</reporter>
                        <labels>
                    </labels>
                <created>Thu, 9 May 2013 12:40:13 -0500</created>
                <updated>Thu, 9 May 2013 14:02:28 -0500</updated>
                                    <version>2.0.0</version>
                <version>2.0.1</version>
                <version>2.0.2</version>
                <version>2.0.3</version>
                <version>2.0.4</version>
                <version>2.0.5</version>
                <version>2.0.6</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>3</watches>
                                                    <comments>
                    <comment id="57715" author="avsej" created="Thu, 9 May 2013 13:57:30 -0500"  >The algorithm based on CRC32, but it isn&amp;#39;t CRC32, for example java client does the same: &lt;a href=&quot;https://github.com/dustin/java-memcached-client/blob/master/src/main/java/net/spy/memcached/DefaultHashAlgorithm.java#L103-108&quot;&gt;https://github.com/dustin/java-memcached-client/blob/master/src/main/java/net/spy/memcached/DefaultHashAlgorithm.java#L103-108&lt;/a&gt;</comment>
                    <comment id="57716" author="avsej" created="Thu, 9 May 2013 13:59:09 -0500"  >Do we have official documentation about &amp;quot;crc32-based hash&amp;quot; used in vbucket algorithm? </comment>
                    <comment id="57718" author="Orfeas Zafeiris" created="Thu, 9 May 2013 14:02:28 -0500"  >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.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11131</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-207] Failed connection attempts will hang until timeout interval is reached on win32</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-207</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <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.&lt;br/&gt;
&lt;br/&gt;
MSDN documentation states that failed connections are delivered through exceptfds, and that only successful connections are delivered as writability notifications. See &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/desktop/ms740141(v=vs.85).aspx&quot;&gt;http://msdn.microsoft.com/en-us/library/windows/desktop/ms740141(v=vs.85).aspx&lt;/a&gt;</description>
                <environment></environment>
            <key id="24144">CCBC-207</key>
            <summary>Failed connection attempts will hang until timeout interval is reached on win32</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 May 2013 15:55:16 -0500</created>
                <updated>Wed, 8 May 2013 15:55:16 -0500</updated>
                                    <version>2.0.6</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11112</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-206] Improve libcouchbase rpm instructions</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-206</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>There is currently no documentation about installing libcouchbase from the rpm or deb files. &lt;br/&gt;
The only documentation is for installation with yum or apt-get. &lt;br/&gt;
&lt;br/&gt;
Since some packages are optional, more instructions would be nice. </description>
                <environment></environment>
            <key id="22780">CCBC-206</key>
            <summary>Improve libcouchbase rpm instructions</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="james.mauss">James Mauss</reporter>
                        <labels>
                        <label>info-request</label>
                    </labels>
                <created>Tue, 19 Feb 2013 16:23:56 -0600</created>
                <updated>Thu, 2 May 2013 16:35:16 -0500</updated>
                                                                                    <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="53783" author="kzeller" created="Thu, 28 Mar 2013 16:32:15 -0500"  >Hi,&lt;br/&gt;
&lt;br/&gt;
Can you point me to any information about rpm install for the SDK on github, or anywhere else. Assign back to me to document.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Thanks,&lt;br/&gt;
&lt;br/&gt;
Karen&lt;br/&gt;
</comment>
                    <comment id="57014" author="kzeller" created="Thu, 2 May 2013 16:17:19 -0500"  >Can you close this and reopen this under the Couchbase C Client Library project?&lt;br/&gt;
&lt;br/&gt;
We&amp;#39;re doing massive housekeeping on docs requests and want to keep this separate from server.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Thanks!</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10713</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-205] Provide stricter semantics/behavior for configuration cache.</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-205</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>We may want to create a &amp;#39;cache-only&amp;#39; 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.)&lt;br/&gt;
&lt;br/&gt;
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.</description>
                <environment></environment>
            <key id="24005">CCBC-205</key>
            <summary>Provide stricter semantics/behavior for configuration cache.</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 30 Apr 2013 17:57:30 -0500</created>
                <updated>Wed, 1 May 2013 16:43:06 -0500</updated>
                                                                    <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10941</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-204] configuration cache does not work for memcached buckets</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-204</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Currently, the configuration cache relies on not_my_vbucket responses as an indicator that the configuration needs to be updated.  In an environment with memcached buckets only though, there will not be such a response and thus we need another way to reliably update the configuration.&lt;br/&gt;
&lt;br/&gt;
One thought would be to simply ensure the configuration cache is not more than NN seconds old.  The process who has the configuration connection would simply need to touch it every NN-1 seconds if the configuration connection is still active.  &lt;br/&gt;
&lt;br/&gt;
If that process exits, then after NN seconds, processes will race to create a new configuration cache file.&lt;br/&gt;
&lt;br/&gt;
The only downside I can see is that certain failure modes (stale TCP socket) would still need to be handled.</description>
                <environment>multiplatform</environment>
            <key id="23964">CCBC-204</key>
            <summary>configuration cache does not work for memcached buckets</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Mon, 29 Apr 2013 11:18:22 -0500</created>
                <updated>Wed, 8 May 2013 06:31:57 -0500</updated>
                                    <version>2.0.6</version>
                                <fixVersion>2.1.0</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10891</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-202] Initial connect timeout not being observed</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-202</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Steps:&lt;br/&gt;
&lt;br/&gt;
1) Set the timeout to something small (say, 1 second)&lt;br/&gt;
2) Suspend the mock server&lt;br/&gt;
3) Try to connect to the mock&lt;br/&gt;
&lt;br/&gt;
This will hang the client until an actual connection error is received (or possibly is never received). The perl tests die with a SIGALRM in this case.&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;note &amp;quot;Suspending mock server&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$mock-&amp;gt;suspend_process();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$cbo-&amp;gt;timeout(2);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ok(!$cbo-&amp;gt;connect(), &amp;quot;Connect failed&amp;quot;);&lt;br/&gt;
&lt;br/&gt;
Needless to say, $cbo-&amp;gt;connect() stalls.</description>
                <environment></environment>
            <key id="23721">CCBC-202</key>
            <summary>Initial connect timeout not being observed</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="5" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Apr 2013 16:39:11 -0500</created>
                <updated>Mon, 6 May 2013 02:25:13 -0500</updated>
                    <resolved>Mon, 6 May 2013 02:25:12 -0500</resolved>
                            <version>2.0.5</version>
                                <fixVersion>2.0.6</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="55960" author="mnunberg" created="Tue, 23 Apr 2013 16:16:51 -0500"  >&lt;a href=&quot;http://review.couchbase.org/25711&quot;&gt;http://review.couchbase.org/25711&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10700</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-201] Pass Host HTTP header when doing bootstrap</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-201</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>According to HTTP/1.1 Host header is required.&lt;br/&gt;
&lt;br/&gt;
Either pass Host header or use HTTP/1.0</description>
                <environment></environment>
            <key id="23716">CCBC-201</key>
            <summary>Pass Host HTTP header when doing bootstrap</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="5" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Apr 2013 11:45:07 -0500</created>
                <updated>Mon, 6 May 2013 02:26:05 -0500</updated>
                    <resolved>Mon, 6 May 2013 02:25:57 -0500</resolved>
                            <version>2.0.5</version>
                                <fixVersion>2.0.6</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="57210" author="avsej" created="Mon, 6 May 2013 02:25:57 -0500"  >&lt;a href=&quot;http://review.couchbase.org/25822&quot;&gt;http://review.couchbase.org/25822&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                <customfield id="customfield_10010" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                <customfieldname>Flagged</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10010"><![CDATA[Release Note]]></customfieldvalue>
    
                </customfieldvalues>
            </customfield>
                                                                                                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10697</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-200] lcb_make_http_request doesn&apos;t respect timeouts</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-200</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <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.&lt;br/&gt;
&lt;br/&gt;
I tested this by starting the client. When it prints &amp;quot;sleeping&amp;quot; I pull the ethernet cable on my machine. If the lcb_make_http_request is replaced by lcb_get then you&amp;#39;ll get a timeout which is expected.</description>
                <environment>Windows 7, VS2010</environment>
            <key id="23544">CCBC-200</key>
            <summary>lcb_make_http_request doesn&apos;t respect timeouts</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="nosqlfoo">matthew newhook</reporter>
                        <labels>
                    </labels>
                <created>Fri, 5 Apr 2013 06:17:51 -0500</created>
                <updated>Fri, 5 Apr 2013 06:17:51 -0500</updated>
                                    <version>2.0.4</version>
                                                                <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                    <attachment id="17082" name="testcase.cpp" size="3653" author="nosqlfoo" created="Fri, 5 Apr 2013 06:17:51 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10383</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-199] Problem with a newly created memcached bucket</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-199</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>See: &lt;a href=&quot;http://www.couchbase.com/forums/thread/libcouchbase-problem-newly-created-memcached-bucket&quot;&gt;http://www.couchbase.com/forums/thread/libcouchbase-problem-newly-created-memcached-bucket&lt;/a&gt;&lt;br/&gt;
</description>
                <environment></environment>
            <key id="23492">CCBC-199</key>
            <summary>Problem with a newly created memcached bucket</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Tue, 2 Apr 2013 06:28:35 -0500</created>
                <updated>Tue, 2 Apr 2013 06:28:35 -0500</updated>
                                                                                    <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10334</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-198] Instance should close REST connection upon receiving valid config cache</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-198</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <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).&lt;br/&gt;
&lt;br/&gt;
Close the socket immediately (or eventually) if a valid configuration is obtained. Re-open as necessary.</description>
                <environment></environment>
            <key id="23475">CCBC-198</key>
            <summary>Instance should close REST connection upon receiving valid config cache</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 1 Apr 2013 12:54:01 -0500</created>
                <updated>Sat, 11 May 2013 13:28:28 -0500</updated>
                                    <version>2.0.5</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10321</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-197] configuration socket reconnects infinitely when using cached config</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-197</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The connection to the REST configuration socket is infinitely retried when a cached configuration is used. This is because the refresh_config_cache function calls apply_vbucket_config; which changes the vbucket configuration and relocates the buffers, but does not tell the instance to stop trying to connect to the REST node.&lt;br/&gt;
&lt;br/&gt;
The fix is to make it call the function which is called whenever a new configuration is received over the socket, and optionally close the socket and/or timers when the configuration is properly received.</description>
                <environment></environment>
            <key id="23474">CCBC-197</key>
            <summary>configuration socket reconnects infinitely when using cached config</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 1 Apr 2013 12:50:59 -0500</created>
                <updated>Thu, 16 May 2013 10:39:00 -0500</updated>
                    <resolved>Sat, 11 May 2013 13:28:43 -0500</resolved>
                            <version>2.0.5</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="58464" author="avsej" created="Wed, 15 May 2013 23:50:25 -0500"  >Could you refer to patxhset or version where it was fixed?</comment>
                    <comment id="58495" author="mnunberg" created="Thu, 16 May 2013 10:39:00 -0500"  >02c1e02800809b7d44a1e9124c548bdbddc8f626</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10320</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-196] Handle -1 return value from found_incorrect_master</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-196</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>If vbucket_found_incorrect_master returns a negative value, the code in parse_single will fail:&lt;br/&gt;
&lt;br/&gt;
assert((lcb_size_t)idx &amp;lt; instance-&amp;gt;nservers);&lt;br/&gt;
&lt;br/&gt;
This should be handled and the command should be failed out accordingly.</description>
                <environment></environment>
            <key id="23473">CCBC-196</key>
            <summary>Handle -1 return value from found_incorrect_master</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 1 Apr 2013 12:45:01 -0500</created>
                <updated>Mon, 6 May 2013 02:29:21 -0500</updated>
                    <resolved>Mon, 6 May 2013 02:29:15 -0500</resolved>
                            <version>2.0.5</version>
                                <fixVersion>2.0.5</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="57211" author="avsej" created="Mon, 6 May 2013 02:29:15 -0500"  >&lt;a href=&quot;https://github.com/couchbase/libcouchbase/commit/b2ad9312dfe25c792b03231166c80cf5761cafdd&quot;&gt;https://github.com/couchbase/libcouchbase/commit/b2ad9312dfe25c792b03231166c80cf5761cafdd&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10319</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-195] config cache will crash client due to relocating buffers</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-195</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>See &lt;a href=&quot;http://www.couchbase.com/issues/browse/CCBC-190&quot; title=&quot;Conncache configuration not passing integration tests&quot;&gt;CCBC-190&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
During a cluster configuration change, the buffers are relocated while they are being processed. This causes crashes.&lt;br/&gt;
&lt;br/&gt;
A solution would be to &amp;quot;request&amp;quot; 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).</description>
                <environment></environment>
            <key id="23472">CCBC-195</key>
            <summary>config cache will crash client due to relocating buffers</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 1 Apr 2013 12:42:36 -0500</created>
                <updated>Tue, 2 Apr 2013 03:30:20 -0500</updated>
                                    <version>2.0.5</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="53991" author="dongzaixx" created="Tue, 2 Apr 2013 03:30:20 -0500"  >Same Issue: &lt;a href=&quot;http://www.couchbase.com/issues/browse/CCBC-188&quot;&gt;http://www.couchbase.com/issues/browse/CCBC-188&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10318</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-194] Please add support for setsockopt()  SO_KEEPALIVE &amp; TCP_KEEPIDLE</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-194</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Please add support for setsockopt() options SO_KEEPALIVE &amp;amp; TCP_KEEPIDLE through (suggestion)&lt;br/&gt;
lcb_connect() or some other such api so that I can control the connection&amp;#39;s ability to not timeout&lt;br/&gt;
and have a firewall cause a disconnection from lack of inactivity...without such control, receive&lt;br/&gt;
NETWORK_ERROR from couchbase apis.&lt;br/&gt;
&lt;br/&gt;
I cannot adjust the firewall, so I need to keep the connection alive.</description>
                <environment>CentOS 6.x, Linux</environment>
            <key id="23367">CCBC-194</key>
            <summary>Please add support for setsockopt()  SO_KEEPALIVE &amp; TCP_KEEPIDLE</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mleib">Michael Leib</reporter>
                        <labels>
                    </labels>
                <created>Mon, 25 Mar 2013 09:54:38 -0500</created>
                <updated>Mon, 25 Mar 2013 12:25:05 -0500</updated>
                                    <version>2.0.4</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="53405" author="mnunberg" created="Mon, 25 Mar 2013 12:25:05 -0500"  >As a workaround, you can wrap your own IOPS structure, and override the socket creation bits so as to set your own socket options.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Mon, 25 Mar 2013 12:00:00 -0500</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Mon, 25 Mar 2013 12:00:00 -0500</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10208</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-193] libcouchbase build is not checking install properly</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-193</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>I was trying to package the PHP client, which depends on libcouchase, and it is was refusing to build on some systems.&lt;br/&gt;
&lt;br/&gt;
After looking into it a bit, there may be a couple of problems, but the big one is in the summary.&lt;br/&gt;
&lt;br/&gt;
One problem is that it seems the dpkg -i doesn&amp;#39;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&amp;#39;t see the lines under the label run.  I&amp;#39;m stumped there.</description>
                <environment></environment>
            <key id="23365">CCBC-193</key>
            <summary>libcouchbase build is not checking install properly</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Mar 2013 19:56:36 -0500</created>
                <updated>Fri, 22 Mar 2013 19:56:36 -0500</updated>
                                                                                    <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 22 Mar 2013 12:00:00 -0500</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 22 Mar 2013 12:00:00 -0500</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10205</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-192] Failure to handle host that has been removed from a cluster</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-192</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>We&amp;#39;re encountering an issue where both the Ruby and Perl clients get() method will consistently, repeatedly just return an error. On the Perl client it is &amp;quot;Temporary error. try again later&amp;quot;, and on Ruby it is &amp;quot;Bucket not found&amp;quot;.&lt;br/&gt;
&lt;br/&gt;
This occurs when we have several couchbase servers, and have connected using the node list option to supply all of them to the library.&lt;br/&gt;
&lt;br/&gt;
We remove the first server in the node list via the Couchbase GUI, trigger a rebalance, and wait for it to complete.&lt;br/&gt;
Once the rebalance has completed, we start a script that simply attempts to connect and retrieve some keys we previously inserted. Instead of success, we find that it repeatedly gives the errors mentioned above.&lt;br/&gt;
&lt;br/&gt;
note that if we remain connected to the cluster, then everything seems fine. The errors only start occurring when a client connects.&lt;br/&gt;
&lt;br/&gt;
note also that the issue only occurs if the first server (or servers) in the list are down; if the first server listed is currently actively in the cluster, then we&amp;#39;re OK.&lt;br/&gt;
&lt;br/&gt;
It seems like the problem is that the now-removed server is still accepting connections on port 8091, and thus the client library thinks that this means it is a valid server. However because it&amp;#39;s removed from the pool, it causes confusion and errors to the client.&lt;br/&gt;
&lt;br/&gt;
Obviously, the correct/desired behaviour would be for the client library to behave as if the removed-server was not accepting connections, and to move onto the next server in the node list.</description>
                <environment>Linux, Ubuntu 12.04 Precise</environment>
            <key id="23327">CCBC-192</key>
            <summary>Failure to handle host that has been removed from a cluster</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="wintrmute">Toby Corkindale</reporter>
                        <labels>
                    </labels>
                <created>Wed, 20 Mar 2013 20:25:36 -0500</created>
                <updated>Wed, 20 Mar 2013 21:38:41 -0500</updated>
                                    <version>2.0.4</version>
                                                <component>library</component>
                                <votes>1</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="53224" author="ingenthr" created="Wed, 20 Mar 2013 21:25:40 -0500"  >Others should comment as well, but our current expectation is that if you&amp;#39;re removing a server from the cluster, you&amp;#39;re also removing it from the bootstrap list.  Thus, the best practice would be to remove it from the list first, then remove the server from the cluster.&lt;br/&gt;
&lt;br/&gt;
We can probably make this better though.</comment>
                    <comment id="53225" author="wintrmute" created="Wed, 20 Mar 2013 21:31:37 -0500"  >That is our current work-around. However it is rather annoying, and makes rolling updates/reboots an extremely time consuming process.&lt;br/&gt;
ie. Update puppet with new node list, wait an hour for that to get deployed over every server, then rebalance and remove server1; apply system updates and reboot, then add back to cluster and rebalance. Then update puppet&amp;#39;s node list to include that server, but not the next one, wait an hour for it to apply everywhere, etc etc etc.&lt;br/&gt;
&lt;br/&gt;
There&amp;#39;s also the danger that someone will forget to update the managed node list one day and remove a server from the cluster, expecting it to Just Work.&lt;br/&gt;
&lt;br/&gt;
I also have to point out that the current behaviour is unexpected, and I don&amp;#39;t recall seeing any warnings about it in the documentation or tutorials; thus it&amp;#39;s likely other users may hit this in the future and have some accidental production downtime, as we did.</comment>
                    <comment id="53226" author="ingenthr" created="Wed, 20 Mar 2013 21:38:41 -0500"  >Yes, all good points-- we&amp;#39;ll definitely look to make it better.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Wed, 20 Mar 2013 12:00:00 -0500</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Wed, 20 Mar 2013 12:00:00 -0500</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10176</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-191] Segfault when quering view with spaces</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-191</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="23167">CCBC-191</key>
            <summary>Segfault when quering view with spaces</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="5" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Mar 2013 09:08:17 -0500</created>
                <updated>Tue, 19 Mar 2013 10:38:14 -0500</updated>
                    <resolved>Tue, 19 Mar 2013 05:36:54 -0500</resolved>
                                            <fixVersion>2.0.5</fixVersion>
                                                <votes>0</votes>
                        <watches>3</watches>
                                                    <comments>
                    <comment id="52599" author="mnunberg" created="Tue, 12 Mar 2013 16:42:15 -0500"  >this is a libcouchbase issue. the HTTP message itself separates URLs and verbs by spaces. LCB should convert these properly before submission.</comment>
                    <comment id="52600" author="mnunberg" created="Tue, 12 Mar 2013 16:42:49 -0500"  >Program received signal SIGABRT, Aborted.&lt;br/&gt;
0x00007ffff4e2c475 in *__GI_raise (sig=&amp;lt;optimized out&amp;gt;) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64&lt;br/&gt;
64      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.&lt;br/&gt;
(gdb) bt&lt;br/&gt;
#0  0x00007ffff4e2c475 in *__GI_raise (sig=&amp;lt;optimized out&amp;gt;) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64&lt;br/&gt;
#1  0x00007ffff4e2f6f0 in *__GI_abort () at abort.c:92&lt;br/&gt;
#2  0x00007ffff4e25621 in *__GI___assert_fail (&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assertion=0x7ffff3bb2e90 &amp;quot;!((*__ctype_b_loc ())[(int) ((ch))] &amp;amp; (unsigned short int) _ISspace)&amp;quot;, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file=&amp;lt;optimized out&amp;gt;, line=422, function=0x7ffff3bb3484 &amp;quot;parse_url_char&amp;quot;) at assert.c:81&lt;br/&gt;
#3  0x00007ffff3ba713d in parse_url_char (s=s_req_path, ch=32 &amp;#39; &amp;#39;) at contrib/http_parser/http_parser.c:422&lt;br/&gt;
#4  0x00007ffff3baafdf in http_parser_parse_url (&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buf=0x1009dd0 &amp;quot;&lt;a href=&quot;http://127.0.0.1:8092/default/_design/foo&quot;&gt;http://127.0.0.1:8092/default/_design/foo&lt;/a&gt; bar/_view/bar baz&amp;quot;, buflen=59, is_connect=0, u=0xfc41c0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at contrib/http_parser/http_parser.c:1955&lt;br/&gt;
#5  0x00007ffff3b9c024 in lcb_make_http_request (instance=0xfc25f0, command_cookie=0x7fffffffa490, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type=LCB_HTTP_TYPE_VIEW, cmd=0x7fffffffa4c0, request=0x7fffffffa468) at src/http.c:730&lt;br/&gt;
#6  0x00007ffff3dd4833 in php_couchbase_view_impl (ht=&amp;lt;optimized out&amp;gt;, return_value=&amp;lt;optimized out&amp;gt;, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return_value_ptr=&amp;lt;optimized out&amp;gt;, this_ptr=&amp;lt;optimized out&amp;gt;, return_value_used=0, oo=oo@entry=1, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uri_only=uri_only@entry=0) at /sources/lcb2.0-repo/php/views.c:304&lt;br/&gt;
#7  0x00007ffff3dc3296 in zim_couchbase_view (ht=&amp;lt;optimized out&amp;gt;, return_value=&amp;lt;optimized out&amp;gt;, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return_value_ptr=&amp;lt;optimized out&amp;gt;, this_ptr=&amp;lt;optimized out&amp;gt;, return_value_used=&amp;lt;optimized out&amp;gt;)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /sources/lcb2.0-repo/php/apidecl.c:758&lt;br/&gt;
#8  0x00007ffff3feeedc in xdebug_execute_internal (current_execute_data=0x7ffff7f86060, return_value_used=0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /srv/debian_developer/xdebug/xdebug-2.2.1/build-php5/xdebug.c:1483&lt;br/&gt;
#9  0x00000000007468be in zend_do_fcall_common_helper_SPEC (execute_data=0x7ffff7f86060)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_vm_execute.h:644&lt;br/&gt;
#10 0x00000000007002c7 in execute (op_array=0x7ffff7fbded8) at /tmp/buildd/php5-5.4.4/Zend/zend_vm_execute.h:410&lt;br/&gt;
#11 0x00007ffff3feea81 in xdebug_execute (op_array=0x7ffff7fbded8)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /srv/debian_developer/xdebug/xdebug-2.2.1/build-php5/xdebug.c:1391&lt;br/&gt;
#12 0x00000000006a010e in zend_execute_scripts (type=8, retval=0x7ffff7fbde98, file_count=3)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend.c:1279&lt;br/&gt;
#13 0x000000000063f6e3 in php_execute_script (primary_file=0x7ffff7dea9f2) at /tmp/buildd/php5-5.4.4/main/main.c:2473&lt;br/&gt;
#14 0x0000000000749033 in do_cli (argc=0, argv=0x7fffffffe3bd) at /tmp/buildd/php5-5.4.4/sapi/cli/php_cli.c:988&lt;br/&gt;
#15 0x00000000004310ca in main (argc=32767, argv=0xdb9210) at /tmp/buildd/php5-5.4.4/sapi/cli/php_cli.c:1361&lt;br/&gt;
</comment>
                    <comment id="53085" author="trond" created="Tue, 19 Mar 2013 05:36:54 -0500"  >This is fixed in libcouchbase and will be part of libcouchbase 2.0.5</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Tue, 12 Mar 2013 12:00:00 -0500</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>9416</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-190] Conncache configuration not passing integration tests</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-190</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>There are two primary issues which occur during server configuration changes (i.e. failover, rebalance):&lt;br/&gt;
&lt;br/&gt;
1)&lt;br/&gt;
[SDKD(WARNING) 56.55 cbsdk.sdkd.remote remote.py:266] sdkd_lcb: src/event.c:211: parse_single: Assertion `(lcb_size_t)idx &amp;lt; c-&amp;gt;instance-&amp;gt;nservers&amp;#39; failed. &lt;br/&gt;
&lt;br/&gt;
2)&lt;br/&gt;
The client may just hang.</description>
                <environment></environment>
            <key id="23239">CCBC-190</key>
            <summary>Conncache configuration not passing integration tests</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Mar 2013 16:59:44 -0500</created>
                <updated>Mon, 1 Apr 2013 12:39:36 -0500</updated>
                                                                    <component>library</component>
                                <votes>0</votes>
                        <watches>3</watches>
                                                    <comments>
                    <comment id="53136" author="ingenthr" created="Tue, 19 Mar 2013 20:01:18 -0500"  >Trond, can you update this when you have a moment?</comment>
                    <comment id="53558" author="ingenthr" created="Tue, 26 Mar 2013 19:36:41 -0500"  >Trond, I know you gave me status via IM, but please update this when you have a moment.</comment>
                    <comment id="53575" author="trond" created="Wed, 27 Mar 2013 03:24:33 -0500"  >I had problems reproducing any of these problems when I tested it at home (tested both adding nodes, removing nodes, failover nodes etc). I need more time to try to reproduce this, and more information on how to reproduce it. &lt;br/&gt;
&lt;br/&gt;
I really don&amp;#39;t like using jira as a &amp;quot;task list&amp;quot;. JIRA should be used to file bugs, and one bug report PER issue, not multiple issues like this. It would be nice if we could use cbbugg or something with less overhead than the JIRA taskflow (and something that don&amp;#39;t require me to log in on a daily basis, but allow me to let the tool be running over night.. after all this is bugs we&amp;#39;re talking about, not my credit card information of a flight control system.)</comment>
                    <comment id="53626" author="mnunberg" created="Wed, 27 Mar 2013 13:46:17 -0500"  >sdkd_lcb: src/event.c:211: parse_single: Assertion `(lcb_size_t)idx &amp;lt; c-&amp;gt;instance-&amp;gt;nservers&amp;#39; failed.&lt;br/&gt;
&lt;br/&gt;
Program received signal SIGABRT, Aborted.&lt;br/&gt;
[Switching to Thread 0x54a20940 (LWP 13592)]&lt;br/&gt;
0x000000315d230285 in raise (sig=&amp;lt;value optimized out&amp;gt;) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64&lt;br/&gt;
64        return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);&lt;br/&gt;
(gdb) bt&lt;br/&gt;
#0  0x000000315d230285 in raise (sig=&amp;lt;value optimized out&amp;gt;) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64&lt;br/&gt;
#1  0x000000315d231d30 in abort () at abort.c:88&lt;br/&gt;
#2  0x000000315d229706 in __assert_fail (assertion=0x2aaaaaf6e438 &amp;quot;(lcb_size_t)idx &amp;lt; c-&amp;gt;instance-&amp;gt;nservers&amp;quot;, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file=0x2aaaaaf6e385 &amp;quot;src/event.c&amp;quot;, line=211, function=0x2aaaaaf6e3bf &amp;quot;parse_single&amp;quot;) at assert.c:78&lt;br/&gt;
#3  0x00002aaaaaf5448e in parse_single (c=0x2aaac0011000, stop=1364387212495254000) at src/event.c:211&lt;br/&gt;
#4  0x00002aaaaaf546e0 in do_read_data (c=0x2aaac0011000, allow_read=0) at src/event.c:275&lt;br/&gt;
#5  0x00002aaaaaf5490a in lcb_server_event_handler (sock=312, which=4, arg=0x2aaac0011000) at src/event.c:352&lt;br/&gt;
#6  0x00002aaaab39459a in event_base_loop () from /usr/lib64/libevent-1.4.so.2&lt;br/&gt;
#7  0x00002aaaab17c321 in lcb_io_run_event_loop (iops=0x6cc7a0) at plugins/io/libevent/plugin-libevent.c:320&lt;br/&gt;
#8  0x00002aaaaaf647d8 in lcb_wait (instance=0x6ce720) at src/wait.c:67&lt;br/&gt;
#9  0x00002aaaaaae2870 in CBSdkd::Handle::postsubmit (this=0x6cb5a0, rs=..., nsubmit=1) at Handle.cpp:209&lt;br/&gt;
#10 0x00002aaaaaae2e22 in CBSdkd::Handle::dsMutate (this=0x6cb5a0, cmd=..., ds=..., out=..., options=...)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at Handle.cpp:301&lt;br/&gt;
#11 0x00002aaaaaaee6f8 in CBSdkd::WorkerDispatch::_process_request (this=0x2aaab00372c0, req=..., &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rs=0x2aaab002dec0) at IODispatch.cpp:606&lt;br/&gt;
#12 0x00002aaaaaaefc5d in CBSdkd::WorkerDispatch::run (this=0x2aaab00372c0) at IODispatch.cpp:711&lt;br/&gt;
#13 0x00002aaaaaaec2d4 in CBSdkd::new_worker_thread (worker=0x2aaab00372c0) at IODispatch.cpp:278&lt;br/&gt;
#14 0x000000315de0677d in start_thread (arg=&amp;lt;value optimized out&amp;gt;) at pthread_create.c:301&lt;br/&gt;
#15 0x000000315d2d3c1d in clone () from /lib64/libc.so.6&lt;br/&gt;
(gdb) frame 3&lt;br/&gt;
#3  0x00002aaaaaf5448e in parse_single (c=0x2aaac0011000, stop=1364387212495254000) at src/event.c:211&lt;br/&gt;
211                 assert((lcb_size_t)idx &amp;lt; c-&amp;gt;instance-&amp;gt;nservers);&lt;br/&gt;
(gdb) print idx&lt;br/&gt;
$1 = -1&lt;br/&gt;
(gdb) print c-&amp;gt;instance-&amp;gt;nservers &lt;br/&gt;
$2 = 2&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
It seems that vbucket_found_incorrect_master is returning -1. I&amp;#39;m not sure why this would happen or what the appropriate solution is. In general this piece of &amp;quot;retry&amp;quot; code is subject to the thundering herd problem anyway.&lt;br/&gt;
&lt;br/&gt;
A temporary fix would be to just retry the old index until we get a valid config. I&amp;#39;ll modify the code and test with that hack, will report results again.</comment>
                    <comment id="53636" author="mnunberg" created="Wed, 27 Mar 2013 15:20:42 -0500"  >Additionally:&lt;br/&gt;
&lt;br/&gt;
==16609== Thread 19:&lt;br/&gt;
==16609== Conditional jump or move depends on uninitialised value(s)&lt;br/&gt;
==16609==    at 0x315D2791B4: strstr (strstr.c:110)&lt;br/&gt;
==16609==    by 0x50B1C90: lcb_load_config_cache (config_cache.c:71)&lt;br/&gt;
==16609==    by 0x50B1D40: lcb_refresh_config_cache (config_cache.c:99)&lt;br/&gt;
==16609==    by 0x50B2499: parse_single (event.c:218)&lt;br/&gt;
==16609==    by 0x50B280E: do_read_data (event.c:308)&lt;br/&gt;
==16609==    by 0x50B2A38: lcb_server_event_handler (event.c:385)&lt;br/&gt;
==16609==    by 0x62E2599: event_base_loop (in /usr/lib64/libevent-1.4.so.2.1.3)&lt;br/&gt;
==16609==    by 0x60DB320: lcb_io_run_event_loop (plugin-libevent.c:320)&lt;br/&gt;
==16609==    by 0x50C2907: lcb_wait (wait.c:67)&lt;br/&gt;
==16609==    by 0x4C4086F: CBSdkd::Handle::postsubmit(CBSdkd::ResultSet&amp;amp;, unsigned int) (Handle.cpp:209)&lt;br/&gt;
==16609==    by 0x4C40E21: CBSdkd::Handle::dsMutate(CBSdkd::Command, CBSdkd::Dataset const&amp;amp;, CBSdkd::ResultSet&amp;amp;, CBSdkd::ResultOptions const&amp;amp;) (Handle.cpp:301)&lt;br/&gt;
==16609==    by 0x4C4C6F7: CBSdkd::WorkerDispatch::_process_request(CBSdkd::Request const&amp;amp;, CBSdkd::ResultSet*) (IODispatch.cpp:606)&lt;br/&gt;
</comment>
                    <comment id="53644" author="trond" created="Wed, 27 Mar 2013 15:36:41 -0500"  >what is the content of buffer?&lt;br/&gt;
</comment>
                    <comment id="53647" author="mnunberg" created="Wed, 27 Mar 2013 15:40:27 -0500"  >Fixed the issue, see &lt;a href=&quot;http://review.couchbase.org/#/c/25372/&quot;&gt;http://review.couchbase.org/#/c/25372/&lt;/a&gt;</comment>
                    <comment id="53649" author="mnunberg" created="Wed, 27 Mar 2013 15:45:37 -0500"  >There are other issues. A rudimentary patch has fixed the assertion failure (by doing what I suggested). The subsequent effect however is that the newer configuration is never re-read (resulting in about half the ops getting a NETWORK_ERROR).</comment>
                    <comment id="53650" author="mnunberg" created="Wed, 27 Mar 2013 15:46:32 -0500"  >Can you explain the consensus process in how a single client decides it will be the &amp;quot;master&amp;quot; for storing the config information? I am tempted to try using flock(2) and see how that works. Keep in mind I am testing with many concurrent clients.</comment>
                    <comment id="53651" author="trond" created="Wed, 27 Mar 2013 15:47:34 -0500"  >There is no masters.. and in theory all of them may update the configuration at the same time. </comment>
                    <comment id="53653" author="trond" created="Wed, 27 Mar 2013 15:48:36 -0500"  >is there a reproducible test case one may run for this?? I had a php script looping in a while (true) mode creating a new cached config while I added, removed, failed over etc nodes and I was not able to reproduce the problem..</comment>
                    <comment id="53772" author="mnunberg" created="Thu, 28 Mar 2013 13:41:50 -0500"  >So I&amp;#39;ve found the underlying cause of the issue. The buffers are being relocated from underneath us while lcb_refresh_config_cache is called. This causes subsequent assertions to fail. Investigating this further now.</comment>
                    <comment id="53876" author="mnunberg" created="Mon, 1 Apr 2013 12:39:36 -0500"  >I&amp;#39;ll split these into several issues (as they are really several issues)</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 15 Mar 2013 12:00:00 -0500</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 15 Mar 2013 12:00:00 -0500</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>9477</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-189] Create a compat mode that cache the configuration objects</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-189</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="22898">CCBC-189</key>
            <summary>Create a compat mode that cache the configuration objects</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Tue, 26 Feb 2013 13:23:21 -0600</created>
                <updated>Tue, 26 Feb 2013 13:23:21 -0600</updated>
                                                                    <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Tue, 26 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Tue, 26 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>9118</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-188] library codedumped during rebalance process</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-188</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>How to reproduce:&lt;br/&gt;
1) Attach second node to a Couchbase claster, start rebalance process and in that time call lcb_get function many times. As a result application go down (assert in 0).&lt;br/&gt;
&lt;br/&gt;
assert(ringbuffer_read(&amp;amp;src-&amp;gt;pending_cookies, &amp;amp;ct, sizeof(ct)) == sizeof(ct));&lt;br/&gt;
&lt;br/&gt;
src-&amp;gt;pending_cookies-&amp;gt;nbytes == 0 in that case, so ringbuffer_read return 0 so assert is 0&lt;br/&gt;
and application is over.&lt;br/&gt;
We think, that nbytes == 0 is a common situation, than src-&amp;gt;connected == 0 and this situation must not interpretated as error.&lt;br/&gt;
&lt;br/&gt;
Below you can find additional information&lt;br/&gt;
Stack:&lt;br/&gt;
#0 0xc000000000211ab0:0 in _lwp_kill+0x30 () from /lib/hpux64/libpthread.so.1&lt;br/&gt;
#1 0xc000000000178810:0 in pthread_kill ()&lt;br/&gt;
at /ux/core/libs/threadslibs/src/common/pthreads/signal.c:207&lt;br/&gt;
#2 0xc0000000003f8140:0 in raise ()&lt;br/&gt;
at ../../../../../core/libs/libc/shared_em_64_perf/../core/gen/raise.c:33&lt;br/&gt;
#3 0xc000000000508c50:0 in abort ()&lt;br/&gt;
at ../../../../../core/libs/libc/shared_em_64_perf/../core/gen/abort_em.c:84&lt;br/&gt;
#4 0xc0000000003c3f90:0 in _assert ()&lt;br/&gt;
at ../../../../../core/libs/libc/shared_em_64_perf/../core/gen/assert.c:57&lt;br/&gt;
#5 0xc0000000076a9080:0 in relocate_packets (src=0x6000000001c63c00,&lt;br/&gt;
dst_instance=0x60000000064f6800) at src/instance.c:542&lt;br/&gt;
#6 0xc0000000076a9b40:0 in lcb_update_serverlist (instance=0x60000000064f6800)&lt;br/&gt;
at src/instance.c:606&lt;br/&gt;
#7 0xc0000000076ac7e0:0 in vbucket_stream_handler (sock=31, which=2,&lt;br/&gt;
arg=0x60000000064f6800) at src/instance.c:996&lt;br/&gt;
#8 0xc000000007d6db60:0 in event_base_loop (base=0x6000000006381780,&lt;br/&gt;
flags=&amp;lt;not available&amp;gt;) at event.c:1346&lt;br/&gt;
#9 0xc000000000a3aed0:0 in lcb_io_run_event_loop (iops=0x60000000061bff20)&lt;br/&gt;
at plugins/io/libevent/plugin-libevent.c:324&lt;br/&gt;
#10 0xc0000000076c2750:0 in lcb_wait (instance=0x60000000064f6800)&lt;br/&gt;
at src/wait.c:60&lt;br/&gt;
#11 0xc0000000109c5e00:0 in Cache_Storage::CCouchbaseStorage::do_usefull_work (&lt;br/&gt;
---Type &amp;lt;return&amp;gt; to continue, or q &amp;lt;return&amp;gt; to quit---&lt;br/&gt;
this=0x6000000006224280) at cache_source/ucouchbasestorage.cpp:524&lt;br/&gt;
#12 0xc0000000109c7850:0 in Cache_Storage::CCouchbaseStorage::execute (&lt;br/&gt;
this=0x6000000006224280) at cache_source/ucouchbasestorage.cpp:585&lt;br/&gt;
#13 0xc00000000782c0f0:0 in threads::thread_proc (thr_ptr=0x60000000062242a0)&lt;br/&gt;
at has_common_source/source/cpp/threads.cpp:225&lt;br/&gt;
#14 0xc00000000013fb20:0 in __pthread_bound_body ()&lt;br/&gt;
at /ux/core/libs/threadslibs/src/common/pthreads/pthread.c:4875&lt;br/&gt;
&lt;br/&gt;
(gdb) list&lt;br/&gt;
537 }&lt;br/&gt;
538 dst = dst_instance-&amp;gt;servers + (lcb_size_t)idx;&lt;br/&gt;
539 if (src-&amp;gt;connected) {&lt;br/&gt;
540 assert(ringbuffer_read(&amp;amp;src-&amp;gt;output_cookies, &amp;amp;ct, sizeof(ct)) == sizeof(ct));&lt;br/&gt;
541 } else {&lt;br/&gt;
542 assert(ringbuffer_read(&amp;amp;src-&amp;gt;pending_cookies, &amp;amp;ct, sizeof(ct)) == sizeof(ct));&lt;br/&gt;
543 }&lt;br/&gt;
544&lt;br/&gt;
545 assert(ringbuffer_ensure_capacity(&amp;amp;dst-&amp;gt;cmd_log, npacket));&lt;br/&gt;
546 assert(ringbuffer_write(&amp;amp;dst-&amp;gt;cmd_log, cmd.bytes, sizeof(cmd.bytes)) == sizeof(cmd.bytes));&lt;br/&gt;
(gdb) p src-&amp;gt;pending_cookies&lt;br/&gt;
$5 = {root = 0x6000000001e3d200 &amp;quot;&amp;quot;, read_head = 0x6000000001e3d200 &amp;quot;&amp;quot;,&lt;br/&gt;
write_head = 0x6000000001e3d200 &amp;quot;&amp;quot;, size = 512, nbytes = 0}&lt;br/&gt;
(gdb) p src-&amp;gt;connected&lt;br/&gt;
$7 = 0&lt;br/&gt;
&lt;br/&gt;
lcb_size_t ringbuffer_read(ringbuffer_t *buffer, void *dest, lcb_size_t nb)&lt;br/&gt;
{&lt;br/&gt;
char *d = dest;&lt;br/&gt;
lcb_size_t nr = 0;&lt;br/&gt;
lcb_size_t space;&lt;br/&gt;
lcb_size_t toRead;&lt;br/&gt;
&lt;br/&gt;
if (buffer-&amp;gt;nbytes == 0) {&lt;br/&gt;
return 0;&lt;br/&gt;
} &lt;br/&gt;
</description>
                <environment></environment>
            <key id="22891">CCBC-188</key>
            <summary>library codedumped during rebalance process</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="5" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="Haster">Haster</reporter>
                        <labels>
                    </labels>
                <created>Tue, 26 Feb 2013 08:27:34 -0600</created>
                <updated>Tue, 23 Apr 2013 06:19:49 -0500</updated>
                    <resolved>Tue, 23 Apr 2013 06:19:49 -0500</resolved>
                            <version>2.0.3</version>
                                <fixVersion>2.0.6</fixVersion>
                                <component>library</component>
                                <votes>1</votes>
                        <watches>4</watches>
                                                    <comments>
                    <comment id="53707" author="dongzaixx" created="Wed, 27 Mar 2013 21:35:32 -0500"  >We have experienced the same problem, and we try to fix it as follow.&lt;br/&gt;
&lt;br/&gt;
Firstly, When a (!connected) server is reconnected, the tasks in its &amp;quot;pending&amp;quot; buffer will be moved into &amp;quot;output&amp;quot; buffer. If it&amp;#39;s connection is broken again immediately, relocate_packets() will go to wrong path.&lt;br/&gt;
&lt;br/&gt;
Secondly, there seems to be another bug in handler:751 which could cause crash during failover. [Null pointer Check]&lt;br/&gt;
&lt;br/&gt;
============================================================================================================&lt;br/&gt;
&lt;br/&gt;
diff -rc libcouchbase-2.0.4/src/handler.c libcouchbase-2.0.4.patched/src/handler.c&lt;br/&gt;
*** libcouchbase-2.0.4/src/handler.c	2013-03-04 15:07:51.785943104 +0800&lt;br/&gt;
--- libcouchbase-2.0.4.patched/src/handler.c	2013-03-27 20:48:13.042296326 +0800&lt;br/&gt;
***************&lt;br/&gt;
*** 748,754 ****&lt;br/&gt;
&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_uint16_t ret = ntohs(res-&amp;gt;response.status);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (ret == PROTOCOL_BINARY_RESPONSE_SUCCESS) {&lt;br/&gt;
!         sasl_dispose(&amp;amp;server-&amp;gt;sasl_conn);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;server-&amp;gt;sasl_conn = NULL;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_server_connected(server);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (ret == PROTOCOL_BINARY_RESPONSE_AUTH_CONTINUE) {&lt;br/&gt;
--- 748,756 ----&lt;br/&gt;
&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_uint16_t ret = ntohs(res-&amp;gt;response.status);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (ret == PROTOCOL_BINARY_RESPONSE_SUCCESS) {&lt;br/&gt;
!         if (server-&amp;gt;sasl_conn) {&lt;br/&gt;
!             sasl_dispose(&amp;amp;server-&amp;gt;sasl_conn);&lt;br/&gt;
!         }&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;server-&amp;gt;sasl_conn = NULL;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_server_connected(server);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else if (ret == PROTOCOL_BINARY_RESPONSE_AUTH_CONTINUE) {&lt;br/&gt;
diff -rc libcouchbase-2.0.4/src/instance.c libcouchbase-2.0.4.patched/src/instance.c&lt;br/&gt;
*** libcouchbase-2.0.4/src/instance.c	2013-03-06 05:41:29.600470755 +0800&lt;br/&gt;
--- libcouchbase-2.0.4.patched/src/instance.c	2013-03-27 20:49:06.766296416 +0800&lt;br/&gt;
***************&lt;br/&gt;
*** 628,638 ****&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;idx = vbucket_found_incorrect_master(dst_instance-&amp;gt;vbucket_config, vb, idx);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dst = dst_instance-&amp;gt;servers + (lcb_size_t)idx;&lt;br/&gt;
!         if (src-&amp;gt;connected) {&lt;br/&gt;
!             assert(ringbuffer_read(&amp;amp;src-&amp;gt;output_cookies, &amp;amp;ct, sizeof(ct)) == sizeof(ct));&lt;br/&gt;
!         } else {&lt;br/&gt;
!             assert(ringbuffer_read(&amp;amp;src-&amp;gt;pending_cookies, &amp;amp;ct, sizeof(ct)) == sizeof(ct));&lt;br/&gt;
!         }&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert(ringbuffer_ensure_capacity(&amp;amp;dst-&amp;gt;cmd_log, npacket));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert(ringbuffer_write(&amp;amp;dst-&amp;gt;cmd_log, cmd.bytes, sizeof(cmd.bytes)) == sizeof(cmd.bytes));&lt;br/&gt;
--- 628,635 ----&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;idx = vbucket_found_incorrect_master(dst_instance-&amp;gt;vbucket_config, vb, idx);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dst = dst_instance-&amp;gt;servers + (lcb_size_t)idx;&lt;br/&gt;
!         assert(ringbuffer_read(&amp;amp;src-&amp;gt;output_cookies, &amp;amp;ct, sizeof(ct)) == sizeof(ct) || &lt;br/&gt;
!                 ringbuffer_read(&amp;amp;src-&amp;gt;pending_cookies, &amp;amp;ct, sizeof(ct)) == sizeof(ct));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert(ringbuffer_ensure_capacity(&amp;amp;dst-&amp;gt;cmd_log, npacket));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert(ringbuffer_write(&amp;amp;dst-&amp;gt;cmd_log, cmd.bytes, sizeof(cmd.bytes)) == sizeof(cmd.bytes));&lt;br/&gt;
&lt;br/&gt;
============================================================================================================</comment>
                    <comment id="53734" author="dongzaixx" created="Thu, 28 Mar 2013 04:26:57 -0500"  >I have uploaded the patch file.</comment>
                    <comment id="55881" author="avsej" created="Tue, 23 Apr 2013 06:15:52 -0500"  >Thank you for patches. I copied them to our review system: &lt;a href=&quot;http://review.couchbase.org/25851&quot;&gt;http://review.couchbase.org/25851&lt;/a&gt; and &lt;a href=&quot;http://review.couchbase.org/25852&quot;&gt;http://review.couchbase.org/25852&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="17038" name="libcouchbase-2.0.4.patch" size="2321" author="dongzaixx" created="Thu, 28 Mar 2013 04:26:57 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                <customfield id="customfield_10010" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                <customfieldname>Flagged</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10010"><![CDATA[Release Note]]></customfieldvalue>
    
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Tue, 26 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Tue, 26 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>9113</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-187] Set TCP_NODELAY flag</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-187</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>We think it is good idea to set TCP_NODELAY flag to switch off the Nagle mode&lt;br/&gt;
(don&amp;#39;t wait for sending a short packets)&lt;br/&gt;
Couchbase server, as we think, use this flag</description>
                <environment></environment>
            <key id="22864">CCBC-187</key>
            <summary>Set TCP_NODELAY flag</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="Haster">Haster</reporter>
                        <labels>
                    </labels>
                <created>Mon, 25 Feb 2013 01:14:48 -0600</created>
                <updated>Mon, 25 Feb 2013 01:14:48 -0600</updated>
                                                                                    <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Mon, 25 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Mon, 25 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>9088</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-186] Request to provide concrete examples in the documentation for OBSERVE functionality</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-186</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>&lt;a href=&quot;http://support.couchbase.com/tickets/2608&quot;&gt;http://support.couchbase.com/tickets/2608&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
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. &lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/man/man3couchbase/lcb_observe.3couchbase.txt&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/man/man3couchbase/lcb_observe.3couchbase.txt&lt;/a&gt; &lt;br/&gt;
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)&lt;br/&gt;
&lt;br/&gt;
Examples provided to the customer :&lt;br/&gt;
&lt;br/&gt;
You will find the below example very useful for simple operations :&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/php-ext-couchbase/blob/master/simple_observe.c&quot;&gt;https://github.com/couchbase/php-ext-couchbase/blob/master/simple_observe.c&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
The below example would provide more insights when you have any performance or reliability issues :&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/php-ext-couchbase/blob/master/observe.c&quot;&gt;https://github.com/couchbase/php-ext-couchbase/blob/master/observe.c&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
The basic idea here is to constantly &amp;quot;poll&amp;quot; the keys (sleeping within a given interval) until all of them are declared as &amp;quot;OK&amp;quot;. The structures involved are the &amp;quot;observe_expectation&amp;quot; (persistence/replication requirements), the &amp;quot;pollprefs&amp;quot; (i.e. timeout, interval, etc.) and the &amp;quot;keystate&amp;quot; - 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 &amp;quot;status report&amp;quot; for each key from each server; so it is necessary to check and see if the requirements have been met during each individual update.</description>
                <environment></environment>
            <key id="22833">CCBC-186</key>
            <summary>Request to provide concrete examples in the documentation for OBSERVE functionality</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="skumar">Saran Kumar</reporter>
                        <labels>
                    </labels>
                <created>Thu, 21 Feb 2013 15:17:58 -0600</created>
                <updated>Thu, 21 Feb 2013 15:17:58 -0600</updated>
                                                                    <component>docs</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Thu, 21 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Thu, 21 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>9048</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-185] Incorrect parsing of URIs</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-185</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The current parsing of the hostname believes that the entire thing specified is the hostname rather than stripping of potential http:// and paths</description>
                <environment></environment>
            <key id="22796">CCBC-185</key>
            <summary>Incorrect parsing of URIs</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Wed, 20 Feb 2013 02:07:36 -0600</created>
                <updated>Tue, 5 Mar 2013 16:07:55 -0600</updated>
                    <resolved>Wed, 20 Feb 2013 04:03:58 -0600</resolved>
                            <version>2.0.3</version>
                                <fixVersion>2.0.4</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                <customfield id="customfield_10010" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                <customfieldname>Flagged</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10010"><![CDATA[Release Note]]></customfieldvalue>
    
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Wed, 20 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Wed, 20 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>9013</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-184] There are a lot of connections are established after restarting Couchbase server</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-184</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>1) Start Couchbase Server&lt;br/&gt;
2) Start to recieve some key from Couchbase server using a client based on libcouchbase library. We use about 250 threads for receiving key&lt;br/&gt;
3) Restart Couchbase server&lt;br/&gt;
4) After that a lot of connections are created (all of then in ESTABLISHED state). And soon quota for handlers is over. </description>
                <environment>Linux, HP-UX&lt;br/&gt;
libcouchbase-2.0.3&lt;br/&gt;
Couchbase Server 1.8.1</environment>
            <key id="22740">CCBC-184</key>
            <summary>There are a lot of connections are established after restarting Couchbase server</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="Haster">Haster</reporter>
                        <labels>
                    </labels>
                <created>Mon, 18 Feb 2013 00:16:00 -0600</created>
                <updated>Mon, 25 Feb 2013 01:08:00 -0600</updated>
                                    <version>2.0.3</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="51079" author="trond" created="Thu, 21 Feb 2013 04:53:40 -0600"  >I&amp;#39;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)?&lt;br/&gt;
&lt;br/&gt;
If this is on the client nodes, are the &amp;quot;old&amp;quot; connections not properly shut down? or does it seem like it is creating multiple new connections per libcouchbase instance?</comment>
                    <comment id="51291" author="Haster" created="Mon, 25 Feb 2013 01:08:00 -0600"  >The sockets are created on client side.&lt;br/&gt;
We investigate this problem and found that this truble happend than we try to get many values from Couchbase.&lt;br/&gt;
lcb_get();&lt;br/&gt;
lcb_get();&lt;br/&gt;
...&lt;br/&gt;
lcb_get();&lt;br/&gt;
lcb_wait();&lt;br/&gt;
And if we have temporary errors libcouchbase make reconnect many times.&lt;br/&gt;
I don&amp;#39;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</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Mon, 18 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Mon, 18 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8864</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-183] Implement approach to specify behaviour for lcb_get_replica()</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-183</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The users might want to ask only first or single replica</description>
                <environment></environment>
            <key id="22724">CCBC-183</key>
            <summary>Implement approach to specify behaviour for lcb_get_replica()</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Feb 2013 12:10:15 -0600</created>
                <updated>Fri, 15 Feb 2013 12:10:15 -0600</updated>
                                                                                    <votes>0</votes>
                        <watches>3</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 15 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 15 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8848</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-182] The library stops iterating backup nodes list if next one isn&apos;t accessible</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-182</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Because of typo in loop condition[1], it won&amp;#39;t continue trying the backup nodes&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/4053418dbdffa8e2315c35c433768d0fa19e9fd0/src/instance.c#L834&quot;&gt;https://github.com/couchbase/libcouchbase/blob/4053418dbdffa8e2315c35c433768d0fa19e9fd0/src/instance.c#L834&lt;/a&gt;</description>
                <environment></environment>
            <key id="22723">CCBC-182</key>
            <summary>The library stops iterating backup nodes list if next one isn&apos;t accessible</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Feb 2013 11:06:34 -0600</created>
                <updated>Tue, 5 Mar 2013 16:07:55 -0600</updated>
                    <resolved>Fri, 15 Feb 2013 11:09:37 -0600</resolved>
                            <version>2.0.0</version>
                <version>2.0.1</version>
                <version>2.0.2</version>
                <version>2.0.3</version>
                                <fixVersion>2.0.4</fixVersion>
                                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="50540" author="avsej" created="Fri, 15 Feb 2013 11:09:37 -0600"  >The library stops iterating backup nodes list if next one isn&amp;#39;t accessible</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                <customfield id="customfield_10010" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                <customfieldname>Flagged</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10010"><![CDATA[Release Note]]></customfieldvalue>
    
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 15 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 15 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8846</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-181] enhance observe man page with a more complete example</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-181</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The current observe man page doesn&amp;#39;t really go into how to interpret results from the request.  I needs to have that.&lt;br/&gt;
&lt;br/&gt;
Ideally it should also show how one would do a regular poll to show checking for replication or persistence.</description>
                <environment></environment>
            <key id="22722">CCBC-181</key>
            <summary>enhance observe man page with a more complete example</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Feb 2013 10:16:36 -0600</created>
                <updated>Tue, 2 Apr 2013 01:36:45 -0500</updated>
                                    <version>2.0.3</version>
                                <fixVersion>2.1.0</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="53986" author="trond" created="Tue, 2 Apr 2013 01:36:45 -0500"  >should probably be written by our native english speaking committer ;)</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <customfield id="customfield_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 15 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10283" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned Start</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Fri, 15 Feb 2013 12:00:00 -0600</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8845</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-180] Segfault when in case server name resolved to several addresses, where first of them rejects couchbase connection</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-180</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>I get a lot of segfaults using the client when trying to connect to _external_ couchbase servers (i.e. when there is no couchbase server on localhost).&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;ve tested this on a couple different machines, with both ruby REE and 1.9.3 - same results every time.&lt;br/&gt;
&lt;br/&gt;
To reproduce:&lt;br/&gt;
1) setup couchbase server / cluster on machine-1&lt;br/&gt;
2) setup ruby development environment on machine-2&lt;br/&gt;
-- I&amp;#39;m using rvm&lt;br/&gt;
-- I&amp;#39;ve install the couchbase library&lt;br/&gt;
3) run simple ruby program to test connections:&lt;br/&gt;
#simple_test.rb&lt;br/&gt;
require &amp;#39;couchbase&amp;#39;&lt;br/&gt;
Couchbase.connection_options = {:bucket =&amp;gt; &amp;#39;rubytest&amp;#39;, :node_list =&amp;gt; [&amp;#39;123.45.67.89:8091&amp;#39;], :password =&amp;gt; &amp;#39;password&amp;#39;}&lt;br/&gt;
Couchbase.connect&lt;br/&gt;
4) watch it segfault when you run it&lt;br/&gt;
&lt;br/&gt;
Essentially, it seems that setting the &amp;#39;connection_optoins&amp;#39; has no effect on creating new buckets, they keep trying to connect to the built-in default of &amp;#39;localhost&amp;#39;&lt;br/&gt;
&lt;br/&gt;
This is especially problematic because of what it means trying to use couchbase in production:  If I work around this by passing connection options to a new bucket, I will eventually run into this same segfault issue whenever the cluster I am connecting to is rebalancing - I&amp;#39;ve gotten quite a few segfaults when adding / removing nodes and then rebalancing.</description>
                <environment>linux - several</environment>
            <key id="22011">CCBC-180</key>
            <summary>Segfault when in case server name resolved to several addresses, where first of them rejects couchbase connection</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="tim.ray">Tim Ray</reporter>
                        <labels>
                    </labels>
                <created>Mon, 28 Jan 2013 08:53:53 -0600</created>
                <updated>Tue, 5 Mar 2013 16:07:54 -0600</updated>
                    <resolved>Fri, 15 Feb 2013 10:04:43 -0600</resolved>
                            <version>2.0.3</version>
                                <fixVersion>2.0.4</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>3</watches>
                                                    <comments>
                    <comment id="48746" author="ingenthr" created="Mon, 28 Jan 2013 09:51:45 -0600"  >Sergey: do you think we can reproduce this and solve it for 1.2.2?  Let&amp;#39;s review on Tues.</comment>
                    <comment id="49976" author="avsej" created="Fri, 8 Feb 2013 17:43:01 -0600"  >There  are actually several resolution matching:&lt;br/&gt;
&lt;br/&gt;
Cannot reproduce: I cannot cause segfault&lt;br/&gt;
&lt;br/&gt;
Won&amp;#39;t fix: connection_options are for cases when you need to use singleton method  Couchbase.bucket, if I had name default_options if it was supposed to setup the defaults. If you decuded to use Couchbase.connect, then just pass options you need to this method directly. In your case try to access the connection using Couchbase.bucket it should be ok&lt;br/&gt;
&lt;br/&gt;
Incomplete: could you attach the backtrace from the coredump?</comment>
                    <comment id="50223" author="ingenthr" created="Tue, 12 Feb 2013 20:10:38 -0600"  >Sergey: let&amp;#39;s carry this one a bit further.  I know you and I&amp;#39;d talked about it the other day, but we should try to clarify further what should be done differently (I see your note there, but it&amp;#39;s a bit confusing to me) and we should ask for a core dump or stack trace since you&amp;#39;ve not been able to reproduce it.</comment>
                    <comment id="50224" author="ingenthr" created="Tue, 12 Feb 2013 20:32:00 -0600"  >After reading that section above a couple of times, and then reading what&amp;#39;s in the rdoc at &lt;a href=&quot;http://www.couchbase.com/autodocs/couchbase-ruby-client-1.2.1/index.html#USAGE,&quot;&gt;http://www.couchbase.com/autodocs/couchbase-ruby-client-1.2.1/index.html#USAGE,&lt;/a&gt; what I think you&amp;#39;re saying is:&lt;br/&gt;
&lt;br/&gt;
Either use...&lt;br/&gt;
1) Preferred form for production with multiple nodes:&lt;br/&gt;
c = Couchbase.connect(:bucket =&amp;gt; &amp;quot;mybucket&amp;quot;,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:node_list =&amp;gt; [&amp;#39;example.com:8091&amp;#39;, example.net&amp;#39;])&lt;br/&gt;
&lt;br/&gt;
Or&lt;br/&gt;
2) If using the Couchbase.bucket singleton, set Couchbase.connection_options and then make calls through Couchbase.bucket like:&lt;br/&gt;
Couchbase.connection_options = {:bucket =&amp;gt; &amp;#39;blog&amp;#39;}&lt;br/&gt;
Couchbase.bucket.name                   #=&amp;gt; &amp;quot;blog&amp;quot;&lt;br/&gt;
Couchbase.bucket.set(&amp;quot;foo&amp;quot;, &amp;quot;bar&amp;quot;)      #=&amp;gt; 3289400178357895424&lt;br/&gt;
&lt;br/&gt;
Do I read that correctly?  We may want to tighten up the documentation there, as the next section goes back into Couchbase.connect discussion.  </comment>
                    <comment id="50241" author="avsej" created="Wed, 13 Feb 2013 01:22:17 -0600"  >you are correct OK n your reading</comment>
                    <comment id="50251" author="tim.ray" created="Wed, 13 Feb 2013 08:09:09 -0600"  >I spun up a couple machines to work on this issue.  Please contact me directly if you would like access to these machines - I&amp;#39;m more than happy to open them up to you.&lt;br/&gt;
&lt;br/&gt;
Please note that I know you&amp;#39;re not supposed to call c = Couchbase.connect without specifying some options, but for it to segfault rather than throw an error is an issue.&lt;br/&gt;
&lt;br/&gt;
A little more backstory: I originally encountered the segfault, realized I wasn&amp;#39;t passing correct options, added the options and was on my merry way.  Unfortunately, when connecting to the servers I had set up as a test cluster: when I performed rebalance operations after adding or dropping a node I would get occasional segfaults.  I remembered the earlier segfaults I was having, forced that error again since it was easy to reproduce, and compared the results.  It looks like the same underlying issue affects both.&lt;br/&gt;
&lt;br/&gt;
My theory was that the c extension is assuming that there will always be a couchbase server on the client machine.  I don&amp;#39;t believe that this accurately reflects all use cases and certainly not mine.  I&amp;#39;m unfortunately not familiar enough with c or the codebase to make a patch, though I spent a couple days digging around trying.  I think the root cause is essentially that you get a segfault rather than throwing an error whenever the couchbase gem / c extension tries connect to the default, which appears to have a hardcoded expectation of &amp;#39;localhost&amp;#39;.&lt;br/&gt;
&lt;br/&gt;
irb session and segfault:&lt;br/&gt;
-----------------------------------&lt;br/&gt;
irb(main):001:0&amp;gt; require &amp;#39;couchbase&amp;#39;&lt;br/&gt;
=&amp;gt; true&lt;br/&gt;
irb(main):002:0&amp;gt; c = Couchbase.connect&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase.rb:59: [BUG] Segmentation fault&lt;br/&gt;
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]&lt;br/&gt;
&lt;br/&gt;
-- Control frame information -----------------------------------------------&lt;br/&gt;
c:0026 p:---- s:0092 b:0092 l:000091 d:000091 CFUNC  :initialize&lt;br/&gt;
c:0025 p:---- s:0090 b:0090 l:000089 d:000089 CFUNC  :new&lt;br/&gt;
c:0024 p:0027 s:0087 b:0087 l:000086 d:000086 METHOD /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase.rb:59&lt;br/&gt;
c:0023 p:0015 s:0083 b:0083 l:002198 d:0006c0 EVAL   (irb):2&lt;br/&gt;
c:0022 p:---- s:0080 b:0080 l:000079 d:000079 FINISH&lt;br/&gt;
c:0021 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC  :eval&lt;br/&gt;
c:0020 p:0028 s:0071 b:0071 l:000070 d:000070 METHOD /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/workspace.rb:80&lt;br/&gt;
c:0019 p:0033 s:0064 b:0063 l:000062 d:000062 METHOD /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/context.rb:254&lt;br/&gt;
c:0018 p:0031 s:0058 b:0058 l:000828 d:000057 BLOCK  /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:159&lt;br/&gt;
c:0017 p:0042 s:0050 b:0050 l:000049 d:000049 METHOD /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:273&lt;br/&gt;
c:0016 p:0011 s:0045 b:0045 l:000828 d:000044 BLOCK  /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:156&lt;br/&gt;
c:0015 p:0144 s:0041 b:0041 l:000024 d:000040 BLOCK  /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/ruby-lex.rb:243&lt;br/&gt;
c:0014 p:---- s:0038 b:0038 l:000037 d:000037 FINISH&lt;br/&gt;
c:0013 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC  :loop&lt;br/&gt;
c:0012 p:0009 s:0033 b:0033 l:000024 d:000032 BLOCK  /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/ruby-lex.rb:229&lt;br/&gt;
c:0011 p:---- s:0031 b:0031 l:000030 d:000030 FINISH&lt;br/&gt;
c:0010 p:---- s:0029 b:0029 l:000028 d:000028 CFUNC  :catch&lt;br/&gt;
c:0009 p:0023 s:0025 b:0025 l:000024 d:000024 METHOD /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/ruby-lex.rb:228&lt;br/&gt;
c:0008 p:0046 s:0022 b:0022 l:000828 d:000828 METHOD /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:155&lt;br/&gt;
c:0007 p:0011 s:0019 b:0019 l:000d08 d:000018 BLOCK  /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:70&lt;br/&gt;
c:0006 p:---- s:0017 b:0017 l:000016 d:000016 FINISH&lt;br/&gt;
c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC  :catch&lt;br/&gt;
c:0004 p:0183 s:0011 b:0011 l:000d08 d:000d08 METHOD /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:69&lt;br/&gt;
c:0003 p:0039 s:0006 b:0006 l:001358 d:002278 EVAL   /home/tray/.rbenv/versions/1.9.3-p385/bin/irb:12&lt;br/&gt;
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH&lt;br/&gt;
c:0001 p:0000 s:0002 b:0002 l:001358 d:001358 TOP   &lt;br/&gt;
&lt;br/&gt;
-- Ruby level backtrace information ----------------------------------------&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/bin/irb:12:in `&amp;lt;main&amp;gt;&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:69:in `start&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:69:in `catch&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:70:in `block in start&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:155:in `eval_input&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `each_top_level_statement&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `catch&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `block in each_top_level_statement&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `loop&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/ruby-lex.rb:243:in `block (2 levels) in each_top_level_statement&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:156:in `block in eval_input&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:273:in `signal_status&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb:159:in `block (2 levels) in eval_input&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/context.rb:254:in `evaluate&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/workspace.rb:80:in `evaluate&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/workspace.rb:80:in `eval&amp;#39;&lt;br/&gt;
(irb):2:in `irb_binding&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase.rb:59:in `connect&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase.rb:59:in `new&amp;#39;&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase.rb:59:in `initialize&amp;#39;&lt;br/&gt;
&lt;br/&gt;
-- C level backtrace information -------------------------------------------&lt;br/&gt;
irb() [0x5214e7]&lt;br/&gt;
irb() [0x56991b]&lt;br/&gt;
irb(rb_bug+0xb4) [0x56ac04]&lt;br/&gt;
irb() [0x4b43a2]&lt;br/&gt;
/lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0) [0x7f7d7356ecb0] arguments.c:249&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase_ext.so(+0xdd86) [0x7f7d6ee78d86] multithread_plugin.c:916&lt;br/&gt;
/usr/lib/libcouchbase.so.2(+0x9272) [0x7f7d6ec55272]&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase_ext.so(+0xe904) [0x7f7d6ee79904] multithread_plugin.c:460&lt;br/&gt;
irb(rb_ensure+0xab) [0x418dbb]&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase_ext.so(+0xdbd7) [0x7f7d6ee78bd7] multithread_plugin.c:893&lt;br/&gt;
/usr/lib/libcouchbase.so.2(lcb_wait+0x73) [0x7f7d6ec5b053]&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase_ext.so(+0xa028) [0x7f7d6ee75028] bucket.c:389&lt;br/&gt;
/home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase_ext.so(cb_bucket_init+0x13e) [0x7f7d6ee75e6e] bucket.c:539&lt;br/&gt;
irb() [0x5199f7]&lt;br/&gt;
irb(rb_class_new_instance+0x30) [0x44eaf0]&lt;br/&gt;
irb() [0x51dff9]&lt;br/&gt;
irb() [0x5126ab]&lt;br/&gt;
irb() [0x518002]&lt;br/&gt;
irb() [0x51845f]&lt;br/&gt;
irb() [0x5188ec]&lt;br/&gt;
irb() [0x51dff9]&lt;br/&gt;
irb() [0x5126ab]&lt;br/&gt;
irb() [0x518002]&lt;br/&gt;
irb() [0x518e2e]&lt;br/&gt;
irb() [0x51e618]&lt;br/&gt;
irb(rb_rescue2+0x163) [0x418993]&lt;br/&gt;
irb() [0x50d869]&lt;br/&gt;
irb() [0x51dff9]&lt;br/&gt;
irb() [0x5126ab]&lt;br/&gt;
irb() [0x518002]&lt;br/&gt;
irb() [0x518e2e]&lt;br/&gt;
irb() [0x51e67e]&lt;br/&gt;
irb(rb_catch_obj+0xbe) [0x50fa1e]&lt;br/&gt;
irb() [0x50faca]&lt;br/&gt;
irb() [0x51dff9]&lt;br/&gt;
irb() [0x5126ab]&lt;br/&gt;
irb() [0x518002]&lt;br/&gt;
irb() [0x518e2e]&lt;br/&gt;
irb() [0x51e67e]&lt;br/&gt;
irb(rb_catch_obj+0xbe) [0x50fa1e]&lt;br/&gt;
irb() [0x50faca]&lt;br/&gt;
irb() [0x51dff9]&lt;br/&gt;
irb() [0x5126ab]&lt;br/&gt;
irb() [0x518002]&lt;br/&gt;
irb(rb_iseq_eval_main+0xb1) [0x51f081]&lt;br/&gt;
irb() [0x41601a]&lt;br/&gt;
irb(ruby_run_node+0x36) [0x418506]&lt;br/&gt;
irb() [0x415959]&lt;br/&gt;
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f7d7288076d]&lt;br/&gt;
irb() [0x415989]&lt;br/&gt;
&lt;br/&gt;
-- Other runtime information -----------------------------------------------&lt;br/&gt;
&lt;br/&gt;
* Loaded script: irb&lt;br/&gt;
&lt;br/&gt;
* Loaded features:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0 enumerator.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/defaults.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/rbconfig.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/deprecate.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/exceptions.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/custom_require.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/pathname.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;10 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/pathname.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;11 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/version.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;12 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/etc.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;13 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/config_file.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;14 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/requirement.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;15 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/dependency.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;16 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/platform.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;17 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/specification.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;18 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/path_support.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;19 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/syntax_error.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;20 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/psych.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;21 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/stringio.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;22 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/nodes/node.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;23 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/nodes/stream.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;24 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/nodes/document.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;25 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/nodes/sequence.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;26 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/nodes/scalar.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;27 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/nodes/mapping.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;28 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/nodes/alias.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;29 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/nodes.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;30 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/streaming.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;31 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/visitors/visitor.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;32 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/strscan.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;33 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/scalar_scanner.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;34 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/visitors/to_ruby.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;35 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/visitors/emitter.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;36 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;37 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/json/ruby_events.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;38 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/visitors/json_tree.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;39 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/visitors/depth_first.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;40 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/visitors.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;41 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/handler.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;42 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/tree_builder.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;43 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/parser.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;44 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/omap.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;45 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/set.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;46 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/coder.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;47 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/core_ext.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;48 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/date_core.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;49 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/date/format.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;50 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/date.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;51 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/deprecated.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;52 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/stream.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;53 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/json/yaml_events.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;54 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/json/tree_builder.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;55 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/json/stream.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;56 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych/handlers/document_stream.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;57 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/psych.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;58 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/psych_additions.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;59 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/psych_tree.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;60 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/yaml.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;61 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/syck_hack.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;62 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/rubygems_integration.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;63 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/shared_helpers.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;64 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/fileutils.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;65 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/gem_path_manipulation.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;66 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/psyched_yaml.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;67 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/gem_helpers.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;68 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/match_platform.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;69 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/rubygems_ext.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;70 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/version.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;71 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;72 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/settings.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;73 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/digest.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;74 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/digest.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;75 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/digest/sha1.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;76 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/set.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;77 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/definition.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;78 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/dependency.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;79 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/dsl.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;80 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/uri/common.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;81 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/uri/generic.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;82 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/uri/ftp.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;83 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/uri/http.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;84 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/uri/https.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;85 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/uri/ldap.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;86 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/uri/ldaps.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;87 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/uri/mailto.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;88 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/uri.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;89 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/user_interaction.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;90 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/package/f_sync_dir.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;91 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/package/tar_header.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;92 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/iso_8859_1.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;93 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/zlib.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;94 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/package/tar_input.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;95 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/package/tar_output.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;96 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/package/tar_reader/entry.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;97 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/package/tar_reader.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;98 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/package/tar_writer.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;99 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/package.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;100 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/format.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;101 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/ext/builder.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;102 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/ext/configure_builder.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;103 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/optparse.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;104 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/command.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;105 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/ext/ext_conf_builder.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;106 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/ext/rake_builder.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;107 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/ext.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;108 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/require_paths_builder.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;109 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/installer.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;110 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/remote_fetcher.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;111 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/errors.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;112 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/text.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;113 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/spec_fetcher.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;114 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/gem_installer.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;115 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/source.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;116 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/lockfile_parser.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;117 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/lazy_specification.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;118 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/tsort.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;119 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/forwardable.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;120 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/spec_set.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;121 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/environment.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;122 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/runtime.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;123 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/index.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;124 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/remote_specification.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;125 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/endpoint_specification.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;126 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/dep_proxy.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;127 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/rubygems/source_index.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;128 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler/setup.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;129 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/e2mmap.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;130 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/init.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;131 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/workspace.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;132 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/inspector.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;133 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/context.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;134 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/extend-command.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;135 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/output-method.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;136 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/notifier.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;137 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/slex.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;138 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/ruby-token.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;139 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/ruby-lex.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;140 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/src_encoding.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;141 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/magic-file.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;142 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/readline.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;143 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/input-method.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;144 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb/locale.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;145 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/irb.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;146 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase/version.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;147 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/multi_json-1.6.0/lib/multi_json.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;148 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/json/version.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;149 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/json/common.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;150 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_16be.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;151 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_16le.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;152 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_32be.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;153 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_32le.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;154 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;155 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/json/ext/generator.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;156 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/json/ext.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;157 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/json.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;158 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/multi_json-1.6.0/lib/multi_json/adapters/json_common.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;159 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/multi_json-1.6.0/lib/multi_json/adapters/json_gem.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;160 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/multi_json-1.6.0/lib/multi_json/version.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;161 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/ext/multi_json_fix.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;162 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/yaji-0.3.3/lib/yaji/version.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;163 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/yaji-0.3.3/lib/parser_ext.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;164 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/yaji-0.3.3/lib/yaji.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;165 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase_ext.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;166 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase/constants.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;167 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase/utils.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;168 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase/bucket.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;169 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase/view_row.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;170 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/base64.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;171 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase/view.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;172 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase/result.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;173 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase/cluster.rb&lt;br/&gt;
&amp;nbsp;&amp;nbsp;174 /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase.rb&lt;br/&gt;
&lt;br/&gt;
* Process memory map:&lt;br/&gt;
&lt;br/&gt;
00400000-0061c000 r-xp 00000000 ca:01 164081                             /home/tray/.rbenv/versions/1.9.3-p385/bin/ruby&lt;br/&gt;
0081c000-0081d000 r--p 0021c000 ca:01 164081                             /home/tray/.rbenv/versions/1.9.3-p385/bin/ruby&lt;br/&gt;
0081d000-0081f000 rw-p 0021d000 ca:01 164081                             /home/tray/.rbenv/versions/1.9.3-p385/bin/ruby&lt;br/&gt;
0081f000-0083c000 rw-p 00000000 00:00 0 &lt;br/&gt;
00e44000-01bc8000 rw-p 00000000 00:00 0                                  [heap]&lt;br/&gt;
7f7d6e829000-7f7d6e83e000 r-xp 00000000 ca:01 608378                     /lib/x86_64-linux-gnu/libgcc_s.so.1&lt;br/&gt;
7f7d6e83e000-7f7d6ea3d000 ---p 00015000 ca:01 608378                     /lib/x86_64-linux-gnu/libgcc_s.so.1&lt;br/&gt;
7f7d6ea3d000-7f7d6ea3e000 r--p 00014000 ca:01 608378                     /lib/x86_64-linux-gnu/libgcc_s.so.1&lt;br/&gt;
7f7d6ea3e000-7f7d6ea3f000 rw-p 00015000 ca:01 608378                     /lib/x86_64-linux-gnu/libgcc_s.so.1&lt;br/&gt;
7f7d6ea3f000-7f7d6ea4b000 r-xp 00000000 ca:01 608534                     /lib/x86_64-linux-gnu/libnss_files-2.15.so&lt;br/&gt;
7f7d6ea4b000-7f7d6ec4a000 ---p 0000c000 ca:01 608534                     /lib/x86_64-linux-gnu/libnss_files-2.15.so&lt;br/&gt;
7f7d6ec4a000-7f7d6ec4b000 r--p 0000b000 ca:01 608534                     /lib/x86_64-linux-gnu/libnss_files-2.15.so&lt;br/&gt;
7f7d6ec4b000-7f7d6ec4c000 rw-p 0000c000 ca:01 608534                     /lib/x86_64-linux-gnu/libnss_files-2.15.so&lt;br/&gt;
7f7d6ec4c000-7f7d6ec69000 r-xp 00000000 ca:01 592591                     /usr/lib/libcouchbase.so.2.0.3&lt;br/&gt;
7f7d6ec69000-7f7d6ee69000 ---p 0001d000 ca:01 592591                     /usr/lib/libcouchbase.so.2.0.3&lt;br/&gt;
7f7d6ee69000-7f7d6ee6a000 r--p 0001d000 ca:01 592591                     /usr/lib/libcouchbase.so.2.0.3&lt;br/&gt;
7f7d6ee6a000-7f7d6ee6b000 rw-p 0001e000 ca:01 592591                     /usr/lib/libcouchbase.so.2.0.3&lt;br/&gt;
7f7d6ee6b000-7f7d6ee88000 r-xp 00000000 ca:01 230155                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase_ext.so&lt;br/&gt;
7f7d6ee88000-7f7d6f087000 ---p 0001d000 ca:01 230155                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase_ext.so&lt;br/&gt;
7f7d6f087000-7f7d6f088000 r--p 0001c000 ca:01 230155                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase_ext.so&lt;br/&gt;
7f7d6f088000-7f7d6f089000 rw-p 0001d000 ca:01 230155                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/couchbase-1.2.2/lib/couchbase_ext.so&lt;br/&gt;
7f7d6f089000-7f7d6f08a000 rw-p 00000000 00:00 0 &lt;br/&gt;
7f7d6f08a000-7f7d6f095000 r-xp 00000000 ca:01 230035                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/yaji-0.3.3/lib/parser_ext.so&lt;br/&gt;
7f7d6f095000-7f7d6f294000 ---p 0000b000 ca:01 230035                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/yaji-0.3.3/lib/parser_ext.so&lt;br/&gt;
7f7d6f294000-7f7d6f295000 r--p 0000a000 ca:01 230035                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/yaji-0.3.3/lib/parser_ext.so&lt;br/&gt;
7f7d6f295000-7f7d6f296000 rw-p 0000b000 ca:01 230035                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/gems/1.9.1/gems/yaji-0.3.3/lib/parser_ext.so&lt;br/&gt;
7f7d6f296000-7f7d6f29f000 r-xp 00000000 ca:01 172042                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/json/ext/generator.so&lt;br/&gt;
7f7d6f29f000-7f7d6f49e000 ---p 00009000 ca:01 172042                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/json/ext/generator.so&lt;br/&gt;
7f7d6f49e000-7f7d6f49f000 r--p 00008000 ca:01 172042                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/json/ext/generator.so&lt;br/&gt;
7f7d6f49f000-7f7d6f4a0000 rw-p 00009000 ca:01 172042                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/json/ext/generator.so&lt;br/&gt;
7f7d6f4a0000-7f7d6f4a1000 r-xp 00000000 ca:01 164108                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_32le.so&lt;br/&gt;
7f7d6f4a1000-7f7d6f6a0000 ---p 00001000 ca:01 164108                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_32le.so&lt;br/&gt;
7f7d6f6a0000-7f7d6f6a1000 r--p 00000000 ca:01 164108                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_32le.so&lt;br/&gt;
7f7d6f6a1000-7f7d6f6a2000 rw-p 00001000 ca:01 164108                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_32le.so&lt;br/&gt;
7f7d6f6a2000-7f7d6f6a3000 r-xp 00000000 ca:01 164106                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_32be.so&lt;br/&gt;
7f7d6f6a3000-7f7d6f8a2000 ---p 00001000 ca:01 164106                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_32be.so&lt;br/&gt;
7f7d6f8a2000-7f7d6f8a3000 r--p 00000000 ca:01 164106                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_32be.so&lt;br/&gt;
7f7d6f8a3000-7f7d6f8a4000 rw-p 00001000 ca:01 164106                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_32be.so&lt;br/&gt;
7f7d6f8a4000-7f7d6f8a5000 r-xp 00000000 ca:01 164110                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_16le.so&lt;br/&gt;
7f7d6f8a5000-7f7d6faa4000 ---p 00001000 ca:01 164110                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_16le.so&lt;br/&gt;
7f7d6faa4000-7f7d6faa5000 r--p 00000000 ca:01 164110                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_16le.so&lt;br/&gt;
7f7d6faa5000-7f7d6faa6000 rw-p 00001000 ca:01 164110                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_16le.so&lt;br/&gt;
7f7d6faa6000-7f7d6faa7000 r-xp 00000000 ca:01 164093                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_16be.so&lt;br/&gt;
7f7d6faa7000-7f7d6fca6000 ---p 00001000 ca:01 164093                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_16be.so&lt;br/&gt;
7f7d6fca6000-7f7d6fca7000 r--p 00000000 ca:01 164093                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_16be.so&lt;br/&gt;
7f7d6fca7000-7f7d6fca8000 rw-p 00001000 ca:01 164093                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/utf_16be.so&lt;br/&gt;
7f7d6fca8000-7f7d6fcad000 r-xp 00000000 ca:01 172041                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so&lt;br/&gt;
7f7d6fcad000-7f7d6fead000 ---p 00005000 ca:01 172041                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so&lt;br/&gt;
7f7d6fead000-7f7d6feae000 r--p 00005000 ca:01 172041                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so&lt;br/&gt;
7f7d6feae000-7f7d6feaf000 rw-p 00006000 ca:01 172041                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/json/ext/parser.so&lt;br/&gt;
7f7d6feaf000-7f7d6fed1000 r-xp 00000000 ca:01 608418                     /lib/x86_64-linux-gnu/libtinfo.so.5.9&lt;br/&gt;
7f7d6fed1000-7f7d700d1000 ---p 00022000 ca:01 608418                     /lib/x86_64-linux-gnu/libtinfo.so.5.9&lt;br/&gt;
7f7d700d1000-7f7d700d5000 r--p 00022000 ca:01 608418                     /lib/x86_64-linux-gnu/libtinfo.so.5.9&lt;br/&gt;
7f7d700d5000-7f7d700d6000 rw-p 00026000 ca:01 608418                     /lib/x86_64-linux-gnu/libtinfo.so.5.9&lt;br/&gt;
7f7d700d6000-7f7d7010f000 r-xp 00000000 ca:01 608410                     /lib/x86_64-linux-gnu/libreadline.so.6.2&lt;br/&gt;
7f7d7010f000-7f7d7030f000 ---p 00039000 ca:01 608410                     /lib/x86_64-linux-gnu/libreadline.so.6.2&lt;br/&gt;
7f7d7030f000-7f7d70311000 r--p 00039000 ca:01 608410                     /lib/x86_64-linux-gnu/libreadline.so.6.2&lt;br/&gt;
7f7d70311000-7f7d70317000 rw-p 0003b000 ca:01 608410                     /lib/x86_64-linux-gnu/libreadline.so.6.2&lt;br/&gt;
7f7d70317000-7f7d70318000 rw-p 00000000 00:00 0 &lt;br/&gt;
7f7d70318000-7f7d7031e000 r-xp 00000000 ca:01 164149                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/readline.so&lt;br/&gt;
7f7d7031e000-7f7d7051d000 ---p 00006000 ca:01 164149                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/readline.so&lt;br/&gt;
7f7d7051d000-7f7d7051e000 r--p 00005000 ca:01 164149                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/readline.so&lt;br/&gt;
7f7d7051e000-7f7d7051f000 rw-p 00006000 ca:01 164149                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/readline.so&lt;br/&gt;
7f7d7051f000-7f7d7052d000 r-xp 00000000 ca:01 164088                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/zlib.so&lt;br/&gt;
7f7d7052d000-7f7d7072c000 ---p 0000e000 ca:01 164088                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/zlib.so&lt;br/&gt;
7f7d7072c000-7f7d7072d000 r--p 0000d000 ca:01 164088                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/zlib.so&lt;br/&gt;
7f7d7072d000-7f7d7072e000 rw-p 0000e000 ca:01 164088                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/zlib.so&lt;br/&gt;
7f7d7072e000-7f7d70730000 r-xp 00000000 ca:01 164122                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/iso_8859_1.so&lt;br/&gt;
7f7d70730000-7f7d7092f000 ---p 00002000 ca:01 164122                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/iso_8859_1.so&lt;br/&gt;
7f7d7092f000-7f7d70930000 r--p 00001000 ca:01 164122                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/iso_8859_1.so&lt;br/&gt;
7f7d70930000-7f7d70931000 rw-p 00002000 ca:01 164122                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/iso_8859_1.so&lt;br/&gt;
7f7d70931000-7f7d70934000 r-xp 00000000 ca:01 164148                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/digest.so&lt;br/&gt;
7f7d70934000-7f7d70b33000 ---p 00003000 ca:01 164148                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/digest.so&lt;br/&gt;
7f7d70b33000-7f7d70b34000 r--p 00002000 ca:01 164148                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/digest.so&lt;br/&gt;
7f7d70b34000-7f7d70b35000 rw-p 00003000 ca:01 164148                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/digest.so&lt;br/&gt;
7f7d70b35000-7f7d70b4b000 r-xp 00000000 ca:01 608425                     /lib/x86_64-linux-gnu/libz.so.1.2.3.4&lt;br/&gt;
7f7d70b4b000-7f7d70d4a000 ---p 00016000 ca:01 608425                     /lib/x86_64-linux-gnu/libz.so.1.2.3.4&lt;br/&gt;
7f7d70d4a000-7f7d70d4b000 r--p 00015000 ca:01 608425                     /lib/x86_64-linux-gnu/libz.so.1.2.3.4&lt;br/&gt;
7f7d70d4b000-7f7d70d4c000 rw-p 00016000 ca:01 608425                     /lib/x86_64-linux-gnu/libz.so.1.2.3.4&lt;br/&gt;
7f7d70d4c000-7f7d70eeb000 r-xp 00000000 ca:01 608270                     /lib/x86_64-linux-gnu/libcrypto.so.1.0.0&lt;br/&gt;
7f7d70eeb000-7f7d710ea000 ---p 0019f000 ca:01 608270                     /lib/x86_64-linux-gnu/libcrypto.so.1.0.0&lt;br/&gt;
7f7d710ea000-7f7d71105000 r--p 0019e000 ca:01 608270                     /lib/x86_64-linux-gnu/libcrypto.so.1.0.0&lt;br/&gt;
7f7d71105000-7f7d71110000 rw-p 001b9000 ca:01 608270                     /lib/x86_64-linux-gnu/libcrypto.so.1.0.0&lt;br/&gt;
7f7d71110000-7f7d71114000 rw-p 00000000 00:00 0 &lt;br/&gt;
7f7d71114000-7f7d71115000 r-xp 00000000 ca:01 164156                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/digest/sha1.so&lt;br/&gt;
7f7d71115000-7f7d71314000 ---p 00001000 ca:01 164156                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/digest/sha1.so&lt;br/&gt;
7f7d71314000-7f7d71315000 r--p 00000000 ca:01 164156                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/digest/sha1.so&lt;br/&gt;
7f7d71315000-7f7d71316000 rw-p 00001000 ca:01 164156                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/digest/sha1.so&lt;br/&gt;
7f7d71316000-7f7d71348000 r-xp 00000000 ca:01 164178                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/date_core.so&lt;br/&gt;
7f7d71348000-7f7d71548000 ---p 00032000 ca:01 164178                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/date_core.so&lt;br/&gt;
7f7d71548000-7f7d71549000 r--p 00032000 ca:01 164178                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/date_core.so&lt;br/&gt;
7f7d71549000-7f7d7154a000 rw-p 00033000 ca:01 164178                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/date_core.so&lt;br/&gt;
7f7d7154a000-7f7d7154c000 rw-p 00000000 00:00 0 &lt;br/&gt;
7f7d7154c000-7f7d71551000 r-xp 00000000 ca:01 164168                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/strscan.so&lt;br/&gt;
7f7d71551000-7f7d71750000 ---p 00005000 ca:01 164168                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/strscan.so&lt;br/&gt;
7f7d71750000-7f7d71751000 r--p 00004000 ca:01 164168                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/strscan.so&lt;br/&gt;
7f7d71751000-7f7d71752000 rw-p 00005000 ca:01 164168                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/strscan.so&lt;br/&gt;
7f7d71752000-7f7d71759000 r-xp 00000000 ca:01 164162                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/stringio.so&lt;br/&gt;
7f7d71759000-7f7d71958000 ---p 00007000 ca:01 164162                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/stringio.so&lt;br/&gt;
7f7d71958000-7f7d71959000 r--p 00006000 ca:01 164162                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/stringio.so&lt;br/&gt;
7f7d71959000-7f7d7195a000 rw-p 00007000 ca:01 164162                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/stringio.so&lt;br/&gt;
7f7d7195a000-7f7d7197a000 r-xp 00000000 ca:01 164070                     /home/tray/.rbenv/versions/1.9.3-p385/lib/libyaml-0.so.2.0.2&lt;br/&gt;
7f7d7197a000-7f7d71b79000 ---p 00020000 ca:01 164070                     /home/tray/.rbenv/versions/1.9.3-p385/lib/libyaml-0.so.2.0.2&lt;br/&gt;
7f7d71b79000-7f7d71b7a000 r--p 0001f000 ca:01 164070                     /home/tray/.rbenv/versions/1.9.3-p385/lib/libyaml-0.so.2.0.2&lt;br/&gt;
7f7d71b7a000-7f7d71b7b000 rw-p 00020000 ca:01 164070                     /home/tray/.rbenv/versions/1.9.3-p385/lib/libyaml-0.so.2.0.2&lt;br/&gt;
7f7d71b7b000-7f7d71b81000 r-xp 00000000 ca:01 164167                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/psych.so&lt;br/&gt;
7f7d71b81000-7f7d71d80000 ---p 00006000 ca:01 164167                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/psych.so&lt;br/&gt;
7f7d71d80000-7f7d71d81000 r--p 00005000 ca:01 164167                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/psych.so&lt;br/&gt;
7f7d71d81000-7f7d71d82000 rw-p 00006000 ca:01 164167                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/psych.so&lt;br/&gt;
7f7d71d82000-7f7d71d85000 r-xp 00000000 ca:01 164153                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/etc.so&lt;br/&gt;
7f7d71d85000-7f7d71f84000 ---p 00003000 ca:01 164153                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/etc.so&lt;br/&gt;
7f7d71f84000-7f7d71f85000 r--p 00002000 ca:01 164153                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/etc.so&lt;br/&gt;
7f7d71f85000-7f7d71f86000 rw-p 00003000 ca:01 164153                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/etc.so&lt;br/&gt;
7f7d71f86000-7f7d71f8e000 r-xp 00000000 ca:01 164180                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/pathname.so&lt;br/&gt;
7f7d71f8e000-7f7d7218d000 ---p 00008000 ca:01 164180                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/pathname.so&lt;br/&gt;
7f7d7218d000-7f7d7218e000 r--p 00007000 ca:01 164180                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/pathname.so&lt;br/&gt;
7f7d7218e000-7f7d7218f000 rw-p 00008000 ca:01 164180                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/pathname.so&lt;br/&gt;
7f7d7218f000-7f7d72191000 r-xp 00000000 ca:01 164132                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so&lt;br/&gt;
7f7d72191000-7f7d72391000 ---p 00002000 ca:01 164132                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so&lt;br/&gt;
7f7d72391000-7f7d72392000 r--p 00002000 ca:01 164132                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so&lt;br/&gt;
7f7d72392000-7f7d72393000 rw-p 00003000 ca:01 164132                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so&lt;br/&gt;
7f7d72393000-7f7d72395000 r-xp 00000000 ca:01 164095                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so&lt;br/&gt;
7f7d72395000-7f7d72594000 ---p 00002000 ca:01 164095                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so&lt;br/&gt;
7f7d72594000-7f7d72595000 r--p 00001000 ca:01 164095                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so&lt;br/&gt;
7f7d72595000-7f7d72596000 rw-p 00002000 ca:01 164095                     /home/tray/.rbenv/versions/1.9.3-p385/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so&lt;br/&gt;
7f7d72596000-7f7d7285f000 r--p 00000000 ca:01 590866                     /usr/lib/locale/locale-archive&lt;br/&gt;
7f7d7285f000-7f7d72a14000 r-xp 00000000 ca:01 608524                     /lib/x86_64-linux-gnu/libc-2.15.so&lt;br/&gt;
7f7d72a14000-7f7d72c13000 ---p 001b5000 ca:01 608524                     /lib/x86_64-linux-gnu/libc-2.15.so&lt;br/&gt;
7f7d72c13000-7f7d72c17000 r--p 001b4000 ca:01 608524                     /lib/x86_64-linux-gnu/libc-2.15.so&lt;br/&gt;
7f7d72c17000-7f7d72c19000 rw-p 001b8000 ca:01 608524                     /lib/x86_64-linux-gnu/libc-2.15.so&lt;br/&gt;
7f7d72c19000-7f7d72c1e000 rw-p 00000000 00:00 0 &lt;br/&gt;
7f7d72c1e000-7f7d72d19000 r-xp 00000000 ca:01 608532                     /lib/x86_64-linux-gnu/libm-2.15.so&lt;br/&gt;
7f7d72d19000-7f7d72f18000 ---p 000fb000 ca:01 608532                     /lib/x86_64-linux-gnu/libm-2.15.so&lt;br/&gt;
7f7d72f18000-7f7d72f19000 r--p 000fa000 ca:01 608532                     /lib/x86_64-linux-gnu/libm-2.15.so&lt;br/&gt;
7f7d72f19000-7f7d72f1a000 rw-p 000fb000 ca:01 608532                     /lib/x86_64-linux-gnu/libm-2.15.so&lt;br/&gt;
7f7d72f1a000-7f7d72f23000 r-xp 00000000 ca:01 608533                     /lib/x86_64-linux-gnu/libcrypt-2.15.so&lt;br/&gt;
7f7d72f23000-7f7d73123000 ---p 00009000 ca:01 608533                     /lib/x86_64-linux-gnu/libcrypt-2.15.so&lt;br/&gt;
7f7d73123000-7f7d73124000 r--p 00009000 ca:01 608533                     /lib/x86_64-linux-gnu/libcrypt-2.15.so&lt;br/&gt;
7f7d73124000-7f7d73125000 rw-p 0000a000 ca:01 608533                     /lib/x86_64-linux-gnu/libcrypt-2.15.so&lt;br/&gt;
7f7d73125000-7f7d73153000 rw-p 00000000 00:00 0 &lt;br/&gt;
7f7d73153000-7f7d73155000 r-xp 00000000 ca:01 608523                     /lib/x86_64-linux-gnu/libdl-2.15.so&lt;br/&gt;
7f7d73155000-7f7d73355000 ---p 00002000 ca:01 608523                     /lib/x86_64-linux-gnu/libdl-2.15.so&lt;br/&gt;
7f7d73355000-7f7d73356000 r--p 00002000 ca:01 608523                     /lib/x86_64-linux-gnu/libdl-2.15.so&lt;br/&gt;
7f7d73356000-7f7d73357000 rw-p 00003000 ca:01 608523                     /lib/x86_64-linux-gnu/libdl-2.15.so&lt;br/&gt;
7f7d73357000-7f7d7335e000 r-xp 00000000 ca:01 608528                     /lib/x86_64-linux-gnu/librt-2.15.so&lt;br/&gt;
7f7d7335e000-7f7d7355d000 ---p 00007000 ca:01 608528                     /lib/x86_64-linux-gnu/librt-2.15.so&lt;br/&gt;
7f7d7355d000-7f7d7355e000 r--p 00006000 ca:01 608528                     /lib/x86_64-linux-gnu/librt-2.15.so&lt;br/&gt;
7f7d7355e000-7f7d7355f000 rw-p 00007000 ca:01 608528                     /lib/x86_64-linux-gnu/librt-2.15.so&lt;br/&gt;
7f7d7355f000-7f7d73577000 r-xp 00000000 ca:01 608526                     /lib/x86_64-linux-gnu/libpthread-2.15.so&lt;br/&gt;
7f7d73577000-7f7d73776000 ---p 00018000 ca:01 608526                     /lib/x86_64-linux-gnu/libpthread-2.15.so&lt;br/&gt;
7f7d73776000-7f7d73777000 r--p 00017000 ca:01 608526                     /lib/x86_64-linux-gnu/libpthread-2.15.so&lt;br/&gt;
7f7d73777000-7f7d73778000 rw-p 00018000 ca:01 608526                     /lib/x86_64-linux-gnu/libpthread-2.15.so&lt;br/&gt;
7f7d73778000-7f7d7377c000 rw-p 00000000 00:00 0 &lt;br/&gt;
7f7d7377c000-7f7d7379e000 r-xp 00000000 ca:01 608538                     /lib/x86_64-linux-gnu/ld-2.15.so&lt;br/&gt;
7f7d73889000-7f7d73890000 r--s 00000000 ca:01 11782                      /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache&lt;br/&gt;
7f7d73890000-7f7d73997000 rw-p 00000000 00:00 0 &lt;br/&gt;
7f7d73997000-7f7d73998000 rw-p 00000000 00:00 0 &lt;br/&gt;
7f7d73998000-7f7d73999000 ---p 00000000 00:00 0 &lt;br/&gt;
7f7d73999000-7f7d7399e000 rw-p 00000000 00:00 0 &lt;br/&gt;
7f7d7399e000-7f7d7399f000 r--p 00022000 ca:01 608538                     /lib/x86_64-linux-gnu/ld-2.15.so&lt;br/&gt;
7f7d7399f000-7f7d739a1000 rw-p 00023000 ca:01 608538                     /lib/x86_64-linux-gnu/ld-2.15.so&lt;br/&gt;
7fff3ab15000-7fff3ab36000 rw-p 00000000 00:00 0                          [stack]&lt;br/&gt;
7fff3ab8a000-7fff3ab8b000 r-xp 00000000 00:00 0                          [vdso]&lt;br/&gt;
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
[NOTE]&lt;br/&gt;
You may have encountered a bug in the Ruby interpreter or extension libraries.&lt;br/&gt;
Bug reports are welcome.&lt;br/&gt;
For details: &lt;a href=&quot;http://www.ruby-lang.org/bugreport.html&quot;&gt;http://www.ruby-lang.org/bugreport.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Aborted (core dumped)&lt;br/&gt;
</comment>
                    <comment id="50538" author="avsej" created="Fri, 15 Feb 2013 10:04:43 -0600"  >&lt;a href=&quot;http://review.couchbase.org/24620&quot;&gt;http://review.couchbase.org/24620&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Segmentation fault when the hostname resolved into several addresses&lt;br/&gt;
and first of them reject couchbase connections. In this case&lt;br/&gt;
libcouchbase releases socket and destroys the the event structure, so&lt;br/&gt;
that subsequent calls will try to dereference NULL-event.&lt;br/&gt;
&lt;br/&gt;
The event struct should be deallocated only on handle destruction.&lt;br/&gt;
&lt;br/&gt;
Tim, your ubuntu instance had two interfaces:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&apos;mailto:savseyev@couchbase-devel&apos;&gt;savseyev@couchbase-devel&lt;/a&gt;:~/code/couchtest$ host localhost&lt;br/&gt;
localhost has address 127.0.0.1&lt;br/&gt;
localhost has IPv6 address ::1&lt;br/&gt;
&lt;br/&gt;
Unlike mine:&lt;br/&gt;
&lt;br/&gt;
~ $ host localhost&lt;br/&gt;
localhost has address 127.0.0.1&lt;br/&gt;
&lt;br/&gt;
This helped me to fix this particular issue.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                <customfield id="customfield_10010" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                <customfieldname>Flagged</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10010"><![CDATA[Release Note]]></customfieldvalue>
    
                </customfieldvalues>
            </customfield>
                                                                                                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>2790</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-179] Provide and example and clear statement that for usual data connection user should specify bucket credentials instead of admin</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-179</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/man/man3couchbase/lcb_create.3couchbase.txt&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/man/man3couchbase/lcb_create.3couchbase.txt&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
This doc lacks of example with bucket level credentials</description>
                <environment></environment>
            <key id="22667">CCBC-179</key>
            <summary>Provide and example and clear statement that for usual data connection user should specify bucket credentials instead of admin</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="5" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Feb 2013 04:39:55 -0600</created>
                <updated>Mon, 6 May 2013 02:48:55 -0500</updated>
                    <resolved>Mon, 6 May 2013 02:48:55 -0500</resolved>
                            <version>2.0.3</version>
                                <fixVersion>2.0.6</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="57213" author="avsej" created="Mon, 6 May 2013 02:48:55 -0500"  >&lt;a href=&quot;http://review.couchbase.org/26108&quot;&gt;http://review.couchbase.org/26108&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                <customfield id="customfield_10010" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                <customfieldname>Flagged</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10010"><![CDATA[Release Note]]></customfieldvalue>
    
                </customfieldvalues>
            </customfield>
                                                                                                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8803</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-178] Build error on solaris/sparc: -Werror=cast-align</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-178</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-server.lo&lt;br/&gt;
src/server.c: In function &amp;#39;lcb_failout_observe_request&amp;#39;:&lt;br/&gt;
src/server.c:47:8: error: cast increases required alignment of target type [-Werror=cast-align]&lt;br/&gt;
</description>
                <environment></environment>
            <key id="22649">CCBC-178</key>
            <summary>Build error on solaris/sparc: -Werror=cast-align</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Feb 2013 11:58:24 -0600</created>
                <updated>Tue, 5 Mar 2013 16:07:54 -0600</updated>
                    <resolved>Thu, 14 Feb 2013 04:17:13 -0600</resolved>
                            <version>2.0.3</version>
                                <fixVersion>2.0.4</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8790</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-177] Docs: Reference installation</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-177</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <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.&lt;br/&gt;
&lt;br/&gt;
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 &amp;quot;if you install with these versions and packages, this code will work&amp;quot;&lt;br/&gt;
&lt;br/&gt;
-OS&lt;br/&gt;
-other packages/modules required and/or tested with</description>
                <environment></environment>
            <key id="22605">CCBC-177</key>
            <summary>Docs: Reference installation</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="perry">Perry Krug</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Feb 2013 05:36:17 -0600</created>
                <updated>Mon, 11 Feb 2013 05:36:17 -0600</updated>
                                    <version>2.0.3</version>
                                                <component>docs</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8734</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-176] libcouchbase does not work on systems with EWOULDBLOCK != EAGAIN</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-176</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Some systems define EWOULDBLOCK, but have a different value for EAGAIN and returns EAGAIN instead of EWOULDBLOCK in some cases. &lt;br/&gt;
&lt;br/&gt;
We found this &amp;quot;the hard way&amp;quot; on HP-UX where libcouchbase wouldn&amp;#39;t work at all.</description>
                <environment>HP-UX</environment>
            <key id="22562">CCBC-176</key>
            <summary>libcouchbase does not work on systems with EWOULDBLOCK != EAGAIN</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="3">Duplicate</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Feb 2013 11:42:49 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:21 -0600</updated>
                    <resolved>Wed, 6 Feb 2013 11:46:10 -0600</resolved>
                                                                            <votes>0</votes>
                        <watches>1</watches>
                                                        <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                <outwardlinks description="duplicates">
                            <issuelink>
            <issuekey id="22561">CCBC-175</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8615</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-175] Network Error on HP-UX &quot;Resource temporarily unavailable&quot;</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-175</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="22561">CCBC-175</key>
            <summary>Network Error on HP-UX &quot;Resource temporarily unavailable&quot;</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Feb 2013 10:13:58 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:22 -0600</updated>
                    <resolved>Wed, 6 Feb 2013 10:20:28 -0600</resolved>
                            <version>2.0.2</version>
                <version>2.0.3</version>
                                <fixVersion>2.0.4</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="49841" author="avsej" created="Wed, 6 Feb 2013 10:20:28 -0600"  >&lt;a href=&quot;http://review.couchbase.org/24448&quot;&gt;http://review.couchbase.org/24448&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="22562">CCBC-176</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8614</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-174] Error handling documentation</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-174</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Please create some documentation specifying possible error/failures to operations, what they &amp;quot;look&amp;quot; like in the logs/exceptions/stack traces and what our recommendation is on how to handle them.&lt;br/&gt;
&lt;br/&gt;
i.e. tmp_oom, timeouts (connection/operation/java-internal/etc), &amp;quot;get miss&amp;quot; (it&amp;#39;s technically a failure, let&amp;#39;s make it overly obvious what it means), CAS failure, add() failure, replace() failure, &lt;br/&gt;
&lt;br/&gt;
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.</description>
                <environment></environment>
            <key id="22511">CCBC-174</key>
            <summary>Error handling documentation</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="perry">Perry Krug</reporter>
                        <labels>
                    </labels>
                <created>Tue, 5 Feb 2013 02:39:18 -0600</created>
                <updated>Tue, 5 Feb 2013 02:39:18 -0600</updated>
                                    <version>2.0.2</version>
                                                <component>docs</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8512</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-173] Small typo in C tutorial</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-173</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>From &lt;a href=&quot;http://www.couchbase.com/forums/thread/string-typo-c-sdk-tutorial-sample-code&quot;&gt;http://www.couchbase.com/forums/thread/string-typo-c-sdk-tutorial-sample-code&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
In the couchbase-sdk-c-2.0.pdf tutorial sample code, there&amp;#39;s a typo in an error string:&lt;br/&gt;
{&lt;br/&gt;
lcb_store_cmd_t cmd;&lt;br/&gt;
const lcb_store_cmd_t *commands[1];&lt;br/&gt;
commands[0] = &amp;amp;cmd;&lt;br/&gt;
memset(&amp;amp;cmd, 0, sizeof(cmd));&lt;br/&gt;
cmd.v.v0.operation = LCB_SET;&lt;br/&gt;
cmd.v.v0.key = &amp;quot;foo&amp;quot;;&lt;br/&gt;
cmd.v.v0.nkey = 3;&lt;br/&gt;
cmd.v.v0.bytes = &amp;quot;bar&amp;quot;;&lt;br/&gt;
cmd.v.v0.nbytes = 3;&lt;br/&gt;
err = lcb_store(instance, NULL, 1, commands);&lt;br/&gt;
if (err != LCB_SUCCESS) {&lt;br/&gt;
fprintf(stderr, &amp;quot;Failed to get: %s\n&amp;quot;, lcb_strerror(NULL, err));&lt;br/&gt;
return 1;&lt;br/&gt;
}&lt;br/&gt;
}&lt;br/&gt;
The err code there is for a set operation, so the error string in the fprintf call should say &amp;quot;Failed to set&amp;quot; not &amp;quot;Failed to get&amp;quot;.</description>
                <environment></environment>
            <key id="22085">CCBC-173</key>
            <summary>Small typo in C tutorial</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="kzeller">Karen Zeller</assignee>
                                <reporter username="tgrall">Tug Grall</reporter>
                        <labels>
                    </labels>
                <created>Wed, 30 Jan 2013 15:03:58 -0600</created>
                <updated>Mon, 6 May 2013 11:25:29 -0500</updated>
                    <resolved>Mon, 6 May 2013 02:34:41 -0500</resolved>
                            <version>2.0.2</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="57212" author="avsej" created="Mon, 6 May 2013 02:34:41 -0500"  >&lt;a href=&quot;https://github.com/couchbase/docs/pull/209&quot;&gt;https://github.com/couchbase/docs/pull/209&lt;/a&gt;</comment>
                    <comment id="57231" author="kzeller" created="Mon, 6 May 2013 11:25:29 -0500"  >merged</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>9205</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-172] When connection aborted in GetError abort() function is called</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-172</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>How to reproduce:&lt;br/&gt;
1) Start writing keys to a bucket.&lt;br/&gt;
2) Delete bucket from admin panel&lt;br/&gt;
&lt;br/&gt;
As I understand problem is in getError function (plugin-win32.c)&lt;br/&gt;
In that case function WSAGetLastError() returns WSAECONNABORTED  (10053)&lt;br/&gt;
But this value doesn&amp;#39;t present in switch-case.&lt;br/&gt;
So executes code in default label and abort() function is called...</description>
                <environment>All Windows platforms&lt;br/&gt;
libcouchbase 2.0.1&lt;br/&gt;
Couchbase server 1.8.1</environment>
            <key id="21985">CCBC-172</key>
            <summary>When connection aborted in GetError abort() function is called</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="Haster">Haster</reporter>
                        <labels>
                    </labels>
                <created>Fri, 25 Jan 2013 00:38:37 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:22 -0600</updated>
                    <resolved>Wed, 6 Feb 2013 13:47:04 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="49887" author="avsej" created="Wed, 6 Feb 2013 13:47:04 -0600"  >&lt;a href=&quot;http://review.couchbase.org/24418&quot;&gt;http://review.couchbase.org/24418&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                <customfield id="customfield_10010" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                <customfieldname>Flagged</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10010"><![CDATA[Release Note]]></customfieldvalue>
    
                </customfieldvalues>
            </customfield>
                                                                                                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8620</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-171] Invalid read in plugin-libevent.c</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-171</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>In plugin-libevent.c, event_new() mallocs a &amp;quot;struct event&amp;quot;, which is not initialized, then passes it to event_assign(), which  passes it into event_base_set(), causing an invalid read. We picked it up during a valgrind run of our program.&lt;br/&gt;
&lt;br/&gt;
See lines 47 - 78 here: &lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/plugins/io/libevent/plugin-libevent.c&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/plugins/io/libevent/plugin-libevent.c&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Proposed patch:&lt;br/&gt;
&lt;br/&gt;
Index: libcouchbase/src/plugin-libevent.c&lt;br/&gt;
===================================================================&lt;br/&gt;
--- libcouchbase/src/plugin-libevent.c  (revision 16)&lt;br/&gt;
+++ libcouchbase/src/plugin-libevent.c  (working copy)&lt;br/&gt;
@@ -47,7 +47,6 @@&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;event_callback_fn callback,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void *arg)&lt;br/&gt;
&amp;nbsp;{&lt;br/&gt;
-    event_base_set(base, ev);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ev-&amp;gt;ev_callback = callback;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ev-&amp;gt;ev_arg = arg;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ev-&amp;gt;ev_fd = fd;&lt;br/&gt;
@@ -56,6 +55,7 @@&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ev-&amp;gt;ev_flags = EVLIST_INIT;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ev-&amp;gt;ev_ncalls = 0;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ev-&amp;gt;ev_pncalls = NULL;&lt;br/&gt;
+    event_base_set(base, ev);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0;&lt;br/&gt;
&amp;nbsp;}&lt;br/&gt;
</description>
                <environment>Centos 5.5, Couchbase server 1.8, libcouchbase 1.02</environment>
            <key id="21922">CCBC-171</key>
            <summary>Invalid read in plugin-libevent.c</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="jamesoc">James</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 Jan 2013 08:53:46 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:22 -0600</updated>
                    <resolved>Thu, 31 Jan 2013 02:12:46 -0600</resolved>
                            <version>1.0.7</version>
                <version>2.0.2</version>
                                <fixVersion>2.0.3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                          <timeoriginalestimate seconds="7200">2h</timeoriginalestimate>
                    <timeestimate seconds="7200">2h</timeestimate>
                                  <comments>
                    <comment id="49119" author="avsej" created="Thu, 31 Jan 2013 02:12:46 -0600"  >&lt;a href=&quot;http://review.couchbase.org/24316&quot;&gt;http://review.couchbase.org/24316&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8634</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-170] After upgrading to  2.0.2 with CBC163, I now get timesouts again!!!</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-170</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <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&lt;br/&gt;
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 &lt;br/&gt;
2.0.2 with the fix for high CPU...&lt;br/&gt;
&lt;br/&gt;
I rebuilt all modules and rolled to production. It&amp;#39;s now been about 4 hours and I have received 2 timeouts as to where I had NONE for weeks without this change.&lt;br/&gt;
&lt;br/&gt;
The load is now normal though but somehow something has broken because of this fix.&lt;br/&gt;
&lt;br/&gt;
I looked at the change with CBC-163, but I don&amp;#39;t see how this could have broken the code...but, it has - I promise. Can someone please take a look?&lt;br/&gt;
&lt;br/&gt;
HELP!</description>
                <environment>CentsOS 5.X, 64 Bit, libev version</environment>
            <key id="21905">CCBC-170</key>
            <summary>After upgrading to  2.0.2 with CBC163, I now get timesouts again!!!</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mleib">Michael Leib</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 Jan 2013 16:02:42 -0600</created>
                <updated>Wed, 6 Feb 2013 15:43:10 -0600</updated>
                                    <version>2.0.2</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="49900" author="mleib" created="Wed, 6 Feb 2013 15:41:14 -0600"  >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&amp;#39;t happen everytime, but it does happen frequently enough. &lt;br/&gt;
&lt;br/&gt;
Keeping the number of lcb_get() calls sitting on the event stack low makes a BIG difference.&lt;br/&gt;
&lt;br/&gt;
Once again, with the version that didn&amp;#39;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>
                    <comment id="49901" author="mleib" created="Wed, 6 Feb 2013 15:43:10 -0600"  >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 -&lt;br/&gt;
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&lt;br/&gt;
without issue.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8654</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-169] Handle 30x HTTP response code when chosen node doesn&apos;t have active vbuckets</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-169</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="21762">CCBC-169</key>
            <summary>Handle 30x HTTP response code when chosen node doesn&apos;t have active vbuckets</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 15 Jan 2013 02:27:42 -0600</created>
                <updated>Tue, 5 Mar 2013 16:08:38 -0600</updated>
                                    <version>2.0.2</version>
                <version>2.0.3</version>
                                <fixVersion>2.1.0</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="47760" author="ingenthr" created="Tue, 15 Jan 2013 02:38:07 -0600"  >Changed the description to be clear that we should be handling more 30x codes.  </comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                <outwardlinks description="depends on">
                            <issuelink>
            <issuekey id="20257">MB-6922</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                <customfield id="customfield_10010" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                <customfieldname>Flagged</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10010"><![CDATA[Release Note]]></customfieldvalue>
    
                </customfieldvalues>
            </customfield>
                                                                                                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8520</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-168] Query on multiset and multiget libcouchbase</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-168</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>As per a query from the customer on multiset and multiget  regarding libcouchbase 2.0.1 client&lt;br/&gt;
&lt;br/&gt;
&amp;quot;When you calculate number of operation, do you consider the set of keys in Multiset ? Or is it just one operation?&lt;br/&gt;
I am trying to calculate the writes per second. The client would send 15k writes per second, each of them is a multiset with 20 keys. So is this 15k writes per second ?&lt;br/&gt;
Or 15*20= 300k writes per second ? &amp;quot;&lt;br/&gt;
&lt;br/&gt;
Please help answer this.</description>
                <environment></environment>
            <key id="21741">CCBC-168</key>
            <summary>Query on multiset and multiget libcouchbase</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mkumar">Muthu Kumar</reporter>
                        <labels>
                        <label>2.0.1</label>
                        <label>customer</label>
                        <label>libcouchbase</label>
                        <label>multiget</label>
                        <label>multiset</label>
                        <label>ns_server</label>
                        <label>operations</label>
                        <label>writes</label>
                    </labels>
                <created>Fri, 11 Jan 2013 07:37:03 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:20 -0600</updated>
                    <resolved>Fri, 11 Jan 2013 07:50:12 -0600</resolved>
                            <version>2.0.1</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="47592" author="avsej" created="Fri, 11 Jan 2013 07:50:12 -0600"  >There no such operation multi-set or multi-get in memcached protocol. Libcouchbase doesn&amp;#39;t count operations at all. If you are talking about stats in the Admin UI, then the answer probably will be 1 operation = 1 key, in this case 15k*20 = 300k. I recommend to move this ticket to another tracker.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8624</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-167] lcb_wait() waits infinitely</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-167</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>From &lt;a href=&quot;http://www.couchbase.com/forums/comment/reply/1002656&quot;&gt;http://www.couchbase.com/forums/comment/reply/1002656&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
&amp;gt; Usually problem happens after creating bucket (I use curl for it).&lt;br/&gt;
&amp;gt; After that I try to connect to created bucket... and call lcb_wait function.&lt;br/&gt;
&amp;gt; And it executes infinitly...&lt;br/&gt;
&amp;gt; I investigate it a little and found, what the problem occures when in Couchbase server bucket loaded some times (in log there is note something like &amp;quot;bucket Name loader (3 times)&amp;quot;).&lt;br/&gt;
&amp;gt; And why lcb_wait works infinitly???&lt;br/&gt;
&amp;gt; I add debug output and found that select function (on which event loop is based) returns 0 (that means that timeout happend) and after that timer is deleted... and than next time select calls, timeout is 0... that means that wait event infinitly, but events doesn&amp;#39;t occurs.&lt;br/&gt;
&amp;gt; What do you think about that problem?&lt;br/&gt;
&amp;gt; P.S. Then I create many buckets in parallel, this bug occurs very often&lt;br/&gt;
</description>
                <environment></environment>
            <key id="21721">CCBC-167</key>
            <summary>lcb_wait() waits infinitely</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="3">Duplicate</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Jan 2013 14:02:36 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:22 -0600</updated>
                    <resolved>Thu, 10 Jan 2013 14:46:01 -0600</resolved>
                            <version>2.0.1</version>
                                                                <votes>0</votes>
                        <watches>0</watches>
                                                        <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                <outwardlinks description="duplicates">
                            <issuelink>
            <issuekey id="21423">CCBC-147</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8633</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-166] make distcheck may file depending on how the dist is built</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-166</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The problem is how we&amp;#39;re building the dist file. Currently we include all of the .txt files into the bundle and only a subset of the generated files (man pages). Instead we should list the files we want to include in the dist file, and that should be all of the _GENERATED_ files.&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment></environment>
            <key id="21639">CCBC-166</key>
            <summary>make distcheck may file depending on how the dist is built</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Mon, 7 Jan 2013 04:46:40 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:21 -0600</updated>
                    <resolved>Thu, 10 Jan 2013 16:00:08 -0600</resolved>
                            <version>2.0.3</version>
                                <fixVersion>2.0.3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="47179" author="trond" created="Mon, 7 Jan 2013 11:13:51 -0600"  >&lt;a href=&quot;http://review.couchbase.org/#/c/23749/&quot;&gt;http://review.couchbase.org/#/c/23749/&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8630</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-164] Concurrent access to continuum can cause invalid memory reference when servers are removed</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-164</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>In libvbucket/vbucket.c lines 121/122, function update_ketama_continuum first updates the array pointer, and then the counter.&lt;br/&gt;
&lt;br/&gt;
In lines 615/616, function vbucket_map reads both the array pointer and the counter to determine the boundaries of the memory to scan. &lt;br/&gt;
&lt;br/&gt;
In the (rare) event that a server is removed and thread A executes update_ketama_continuum line 121 with a smaller array and then blocks, a second thread B could execute vbucket_map, read the new array pointer and the (larger) size of the old array, and access memory that has been freed.&lt;br/&gt;
&lt;br/&gt;
A similar issue exists in (some versions of) libmemcached code. To fix this, one could change the code to use a pointer to a struct which contains both the array and its size, or place both the array pointer and the size adjacent in memory and use an atomic operation to update both simultaneously ( less portable )</description>
                <environment></environment>
            <key id="21541">CCBC-164</key>
            <summary>Concurrent access to continuum can cause invalid memory reference when servers are removed</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="jbemmel">Jeroen van Bemmel</reporter>
                        <labels>
                    </labels>
                <created>Sat, 29 Dec 2012 02:22:06 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:21 -0600</updated>
                    <resolved>Tue, 29 Jan 2013 17:44:21 -0600</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="48956" author="trond" created="Tue, 29 Jan 2013 17:44:21 -0600"  >This is not a bug in libcouchbase because each lcb_t should not be accessed from multiple threads without adding proper locking.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8629</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-163] High CPU spikes for operations</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-163</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>High CPU spikes are observed in the latest HEAD on the 2.0.2 pre-release version. This is due to the LCB_WRITE_EVENT not being disabled</description>
                <environment></environment>
            <key id="21603">CCBC-163</key>
            <summary>High CPU spikes for operations</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Jan 2013 15:06:02 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:22 -0600</updated>
                    <resolved>Thu, 3 Jan 2013 16:24:31 -0600</resolved>
                                            <fixVersion>2.0.2</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="47014" author="mnunberg" created="Thu, 3 Jan 2013 15:13:09 -0600"  >&lt;a href=&quot;http://review.couchbase.org/23692&quot;&gt;http://review.couchbase.org/23692&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8632</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-162] API reference uses old names, not current lcb_* names</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-162</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The API reference for all functions uses libcouchbase_* names (libcouchbase_create, etc.) instead of the correct lcb_* names (lcb_create, etc.).</description>
                <environment>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-c-2.0/api-reference-summary.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-c-2.0/api-reference-summary.html&lt;/a&gt;</environment>
            <key id="21602">CCBC-162</key>
            <summary>API reference uses old names, not current lcb_* names</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mccouch">MC Brown</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Jan 2013 14:00:50 -0600</created>
                <updated>Thu, 31 Jan 2013 03:11:36 -0600</updated>
                                    <version>2.0.1</version>
                                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="48955" author="trond" created="Tue, 29 Jan 2013 17:40:58 -0600"  >The manual pages for libcouchbase use the correct names :)</comment>
                    <comment id="48959" author="kzeller" created="Tue, 29 Jan 2013 17:52:57 -0600"  >There is something wrong. At this page, I get: Sorry. We can&#8217;t seem to find that page. Can you let me know where this actually appears (name guide, section, page, etc)</comment>
                    <comment id="49001" author="TimSmith" created="Wed, 30 Jan 2013 09:31:51 -0600"  >There&amp;#39;s something even bigger wrong, because the page is missing. There&amp;#39;s no reference material at all now in the C client library docs, the TOC has:&lt;br/&gt;
&lt;br/&gt;
1. Getting Started&lt;br/&gt;
1.1. Downloading the Couchbase Client Library&lt;br/&gt;
1.2. Installing from Source: Linux and Mac OS X&lt;br/&gt;
1.3. Installing from Source: Microsoft Windows&lt;br/&gt;
1.4. Installing on CentOS/ReHat&lt;br/&gt;
1.5. Installing on Ubuntu&lt;br/&gt;
1.6. Hello C Couchbase&lt;br/&gt;
2. Tutorial&lt;br/&gt;
2.1. Simple Example&lt;br/&gt;
2.2. Additional Resources&lt;br/&gt;
A. Release Notes&lt;br/&gt;
&lt;br/&gt;
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&amp;#39;t know.&lt;br/&gt;
</comment>
                    <comment id="49031" author="kzeller" created="Wed, 30 Jan 2013 13:25:27 -0600"  >I&amp;#39;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>
                    <comment id="49129" author="mccouch" created="Thu, 31 Jan 2013 03:11:36 -0600"  >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&amp;#39;ll work to get that updated. </comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10825</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-161] libcouchbase_flush wrongly documented to &quot;flush entire cluster&quot;</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-161</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The docs say that libcouchbase_flush() will &amp;quot;Flush the entire cluster&amp;quot; and &amp;quot;libcouchbase_flush may be used to remove all key/value pairs from the entire cluster.&amp;quot;&lt;br/&gt;
&lt;br/&gt;
It actually flushes a bucket, not the entire cluster.</description>
                <environment>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-c-2.0/api-reference-summary.html#table-couchbase-sdk-c-summary&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-c-2.0/api-reference-summary.html#table-couchbase-sdk-c-summary&lt;/a&gt;</environment>
            <key id="21601">CCBC-161</key>
            <summary>libcouchbase_flush wrongly documented to &quot;flush entire cluster&quot;</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Jan 2013 13:56:09 -0600</created>
                <updated>Thu, 2 May 2013 16:32:40 -0500</updated>
                                    <version>2.0.1</version>
                                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10832</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-160] Request timeout while connecting to protected bucket</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-160</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The bug was introduced in this fix &lt;a href=&quot;http://www.couchbase.com/issues/browse/CCBC-159&quot;&gt;http://www.couchbase.com/issues/browse/CCBC-159&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
To reproduce just try to connect to SASL protected bucket</description>
                <environment>Current master version 2.0.1-23-ga0b9d07&lt;br/&gt;
</environment>
            <key id="21590">CCBC-160</key>
            <summary>Request timeout while connecting to protected bucket</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Jan 2013 07:23:42 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:24 -0600</updated>
                    <resolved>Sat, 5 Jan 2013 02:28:33 -0600</resolved>
                                            <fixVersion>2.0.2</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="46965" author="avsej" created="Thu, 3 Jan 2013 08:35:21 -0600"  >Fixed in this patch &lt;a href=&quot;http://review.couchbase.org/23684&quot;&gt;http://review.couchbase.org/23684&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8641</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-159] Scheduling large list of commands leads to timeouts</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-159</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="21518">CCBC-159</key>
            <summary>Scheduling large list of commands leads to timeouts</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Dec 2012 15:18:40 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:23 -0600</updated>
                    <resolved>Wed, 2 Jan 2013 17:59:36 -0600</resolved>
                            <version>1.0.7</version>
                <version>2.0.0</version>
                <version>2.0.1</version>
                                <fixVersion>2.0.2</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="46903" author="avsej" created="Wed, 2 Jan 2013 14:38:33 -0600"  >The issue was fixed here &lt;a href=&quot;http://review.couchbase.org/23662&quot;&gt;http://review.couchbase.org/23662&lt;/a&gt;</comment>
                    <comment id="46913" author="avsej" created="Wed, 2 Jan 2013 16:28:22 -0600"  >patch breaks the build &lt;a href=&quot;http://sdkbuilds.couchbase.com/job/libcouchbase/406&quot;&gt;http://sdkbuilds.couchbase.com/job/libcouchbase/406&lt;/a&gt;</comment>
                    <comment id="46933" author="avsej" created="Wed, 2 Jan 2013 17:59:21 -0600"  >Test fixed in &lt;a href=&quot;http://review.couchbase.org/23668&quot;&gt;http://review.couchbase.org/23668&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8637</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-158] Unable to store 1M objects in a loop ( Internal error (0x6), Unknown implicit send message op=1 , eventually crash )</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-158</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When executing 1M lcb_store calls in a loop, storing items like &amp;quot;user0000001 = &amp;lt;16 hex bytes&amp;gt;&amp;quot; in the default bucket, I get a number of error callbacks saying &amp;quot;Internal error (0x6), Unknown implicit send message op=1&amp;quot; ( opcode 0x1 = PROTOCOL_BINARY_CMD_SET ). Finally, after a last &amp;quot;Internal error (0x6), Unknown implicit send message op=46&amp;quot; the process gets killed&lt;br/&gt;
.&lt;br/&gt;
Unfortunately I cannot tell where the crash happens, as running with gdb results in:&lt;br/&gt;
Couchbase event loop starting/build/buildd/gdb-7.4-2012.04/gdb/infrun.c:3189: internal-error: handle_inferior_event: Assertion `inf&amp;#39; failed.&lt;br/&gt;
A problem internal to GDB has been detected,&lt;br/&gt;
further debugging may prove unreliable.&lt;br/&gt;
&lt;br/&gt;
After a number of attempts in both debug and release mode, I ended up with almost 350K out of 1M items entered. However, I don&amp;#39;t manage to run the loop to its completion; something always breaks before it completes&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>2 VMs running Couchbase 2.0 enterprise, with 2 buckets of 256MB each. libcouchbase from git ( latest pull 1/1/2013 ). Running own event loop calling event_base_loop in a separate thread</environment>
            <key id="21553">CCBC-158</key>
            <summary>Unable to store 1M objects in a loop ( Internal error (0x6), Unknown implicit send message op=1 , eventually crash )</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="jbemmel">Jeroen van Bemmel</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Jan 2013 00:07:41 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:21 -0600</updated>
                    <resolved>Mon, 7 Jan 2013 03:42:06 -0600</resolved>
                            <version>2.0.1</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="46831" author="jbemmel" created="Wed, 2 Jan 2013 00:18:27 -0600"  >Using gdb 7.5.1 I was able to generate a stacktrace:&lt;br/&gt;
Program received signal SIGABRT, Aborted.&lt;br/&gt;
[Switching to Thread 0x7ffff7fe4700 (LWP 32200)]&lt;br/&gt;
0x00007ffff635a425 in raise () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
(gdb) backtrace&lt;br/&gt;
#0  0x00007ffff635a425 in raise () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
#1  0x00007ffff635db8b in abort () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
#2  0x00007ffff7bc2501 in ringbuffer_consumed (buffer=0x7d0048, nb=180) at src/ringbuffer.c:263&lt;br/&gt;
#3  0x00007ffff7bb73af in do_send_data (c=0x7d0000) at src/event.c:270&lt;br/&gt;
#4  0x00007ffff7bb74af in lcb_server_event_handler (sock=10, which=4, arg=0x7d0000) at src/event.c:308&lt;br/&gt;
#5  0x00007ffff777af64 in event_process_active_single_queue (activeq=0x79c010, base=0x7a0000) at event.c:1350&lt;br/&gt;
#6  event_process_active (base=&amp;lt;optimized out&amp;gt;) at event.c:1420&lt;br/&gt;
#7  event_base_loop (base=0x7a0000, flags=0) at event.c:1621&lt;br/&gt;
#8  0x000000000040cf12 in RegistrationDb::authDbEventThread(void*) ()&lt;br/&gt;
#9  0x00007ffff734de9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0&lt;br/&gt;
#10 0x00007ffff6417cbd in clone () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
&lt;br/&gt;
The abort at src/ringbuffer.c:263 is triggered:&lt;br/&gt;
void ringbuffer_consumed(ringbuffer_t *buffer, lcb_size_t nb)&lt;br/&gt;
{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_size_t n = ringbuffer_read(buffer, NULL, nb);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (n != nb) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;abort();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;</comment>
                    <comment id="46832" author="jbemmel" created="Wed, 2 Jan 2013 00:25:02 -0600"  >During a different run, Valgrind reveals the following:&lt;br/&gt;
Couchbase config callback: 1==32436== Invalid write of size 1&lt;br/&gt;
==32436==    at 0x4C2D1A5: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)&lt;br/&gt;
==32436==    by 0x4E41034: ringbuffer_write (ringbuffer.c:127)&lt;br/&gt;
==32436==    by 0x4E405E5: lcb_server_buffer_start_packet (packet.c:46)&lt;br/&gt;
==32436==    by 0x4E408F7: lcb_server_start_packet (packet.c:138)&lt;br/&gt;
==32436==    by 0x4E4491E: lcb_store (store.c:127)&lt;br/&gt;
==32436==    by 0x40CC92: RegistrationDb::populate(util::string const&amp;amp;, util::string const&amp;amp;, util::string const&amp;amp;) (RegistrationDb.cpp:209)&lt;br/&gt;
==32436==    by 0x405BEE: Registrar::Registrar(char const*, unsigned int, char const*, char*) (HARegistrar.cpp:65)&lt;br/&gt;
==32436==    by 0x40414F: main (StatefulHAProxy.cpp:238)&lt;br/&gt;
==32436==  Address 0x1e is not stack&amp;#39;d, malloc&amp;#39;d or (recently) free&amp;#39;d&lt;br/&gt;
==32436==&lt;br/&gt;
</comment>
                    <comment id="46833" author="jbemmel" created="Wed, 2 Jan 2013 00:27:01 -0600"  >I should add that my program is linked with gperftools-2.0 ( malloc replacement )</comment>
                    <comment id="46852" author="jbemmel" created="Wed, 2 Jan 2013 09:00:30 -0600"  >When I remove the separate thread for the event loop and call lcb_wait after each lcb_store, the system does not crash anymore, so I guess libcouchbase not being multi-thread safe also applies to the event handler loop. However, even when using only a single thread, I still don&amp;#39;t reach 1M objects</comment>
                    <comment id="46860" author="ingenthr" created="Wed, 2 Jan 2013 09:58:38 -0600"  >What happens in this single threaded case that prevents reaching 1M objects, if not a crash?</comment>
                    <comment id="46861" author="trond" created="Wed, 2 Jan 2013 10:01:48 -0600"  >Can you post the code somewhere (or email it to &lt;a href=&apos;mailto:trond.norbye@couchbase.com&apos;&gt;trond.norbye@couchbase.com&lt;/a&gt;) and I&amp;#39;ll take a look at it. I&amp;#39;ve used libcouchbase in a multithreaded environment earlier so I is supported to be MT-safe)&lt;br/&gt;
&lt;br/&gt;
CHeers,&lt;br/&gt;
&lt;br/&gt;
Trond&lt;br/&gt;
</comment>
                    <comment id="46950" author="jbemmel" created="Wed, 2 Jan 2013 20:35:16 -0600"  >@Matt I got temporary failures in the store callback ( code 0xB IIRC ). I suppose I could change my code to retry, but that shouldn&amp;#39;t be necessary with only a single client ( and isn&amp;#39;t so straight forward from the callback handler, which was getting called by a separate thread )&lt;br/&gt;
&lt;br/&gt;
@Trond the code is integrated with my own application, bit difficult to extract. You can easily reproduce it by taking your own &amp;quot;eventloop&amp;quot; example, changing the code to call the eventloop from a new pthread and adding a for loop with 1M times store( &amp;quot;user0xxxxx&amp;quot;, &amp;quot;0123456789012345&amp;quot; ) after starting the thread ( from main() )</comment>
                    <comment id="47130" author="trond" created="Sun, 6 Jan 2013 14:27:47 -0600"  >Jeroen: I made an MT-version of the example program and uploaded it to &lt;a href=&quot;http://review.couchbase.org/#/c/23743/&quot;&gt;http://review.couchbase.org/#/c/23743/&lt;/a&gt; I ran that with 10 threads and 1 000 000 set operations per thread in two modes: one time where I batch up everything before I start sending it to the server, and a second time where the return of operation triggers the next operation. I was not able to make that crash...&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="47134" author="jbemmel" created="Sun, 6 Jan 2013 21:30:26 -0600"  >Hi Trond,&lt;br/&gt;
&lt;br/&gt;
Thanks for following up. After briefly looking through your code, I think the difference is that in my case the lcb_store calls are made from a different thread than the one running the event loop. I can see how one can chain calls into libcouchbase by calling from a callback function, however the question is how one would do this in a regular program.&lt;br/&gt;
&lt;br/&gt;
Suppose you have a thread listening on a socket, and doing a database lookup based on the contents of a packet it receives. How would use libcouchbase in such a case? Is there another way besides running the event loop after performing a lcb_get call, essentially making the code blocking?</comment>
                    <comment id="47159" author="trond" created="Mon, 7 Jan 2013 03:35:14 -0600"  >You need to synchronize the access to libcouchbase (and libevent). None of them use locks internally, but operates on their own &amp;quot;instance&amp;quot;. &lt;br/&gt;
&lt;br/&gt;
I&amp;#39;m not sure I understand your problem when you say in &amp;quot;regular program&amp;quot;. If you hook libcouchbase into the same event loop you&amp;#39;re currently doing your database requests in everything should work just as you want?? In the &amp;quot;callback&amp;quot; you have when you receive the result from your database you can simply schedule a libcouchbase operation. When you return to the event loop the event loop will continue to drive the libcouchbase operations as well? Or isn&amp;#39;t your application using an event loop?&lt;br/&gt;
&lt;br/&gt;
Part of the problem is that libcouchbase does more than simply ship a command to a server. It monitor the cluster to react to changes in the topology, send and receive data to the individual data nodes etc. If it wasn&amp;#39;t for this you could in theory call lcb_flush_buffers() to have it send data and process all of the available input. It would however not detect changes in the cluster.&lt;br/&gt;
&lt;br/&gt;
If you can&amp;#39;t move your database code into an event framework (the same you use for libcouchbase), you could always create a dedicated libcouchbase thread running the event loop and just synchronize the communication channel between your &amp;quot;database&amp;quot; thread and the libcouchbase thread... (or even simpler you could have a threadpool of libcouchbase instances running in synchronized mode working off a single queue of operations). Anyway, it&amp;#39;s hard to give any recommendations/suggestions when I don&amp;#39;t understand your problem ;)</comment>
                    <comment id="47168" author="jbemmel" created="Mon, 7 Jan 2013 08:28:37 -0600"  >I guess my problem is that my socket code does not use libevent or some other event framework. This makes it hard to use libcouchbase, because it implies a need to synchronize between threads as you point out. This in turn kind of defeats the purpose of using an event-based database client framework for performance reasons</comment>
                    <comment id="47183" author="trond" created="Mon, 7 Jan 2013 11:24:33 -0600"  >Yes, you would be better off to fix your socket code to be non-blocking and asynchronous so you could fit everything into an event loop... </comment>
                    <comment id="47185" author="ingenthr" created="Mon, 7 Jan 2013 11:35:26 -0600"  >What is your code using?  Something like /dev/poll on Solaris or epoll on linux or kqueue on BSD?&lt;br/&gt;
&lt;br/&gt;
If so, you can probably continue to use that and then configure the event lib to use the same thing underneath.</comment>
                    <comment id="47226" author="mnunberg" created="Mon, 7 Jan 2013 15:58:24 -0600"  >I would second the proposition of having a &amp;#39;libcouchbase thread&amp;#39; that handles command and communicates using some kind of queue. The problem you are having seems to be socket buffer synchronization.&lt;br/&gt;
&lt;br/&gt;
Specifically whenever you schedule an lcb command (i.e. &amp;quot;lcb_store&amp;quot;) it writes a packet to our own socket buffer. Considering libcouchbase is asynchronous, it will flush that buffer at some unknown time to the network (thereby modifying the socket buffer).&lt;br/&gt;
&lt;br/&gt;
Therefore even if you ensure that you lock your handle with things like pthread_mutex_lock and such, you will still encounter issues unless you can also control when the socket buffer is actually flushed (i.e. when &amp;#39;lcb_wait&amp;#39; is called).&lt;br/&gt;
&lt;br/&gt;
As such, you&amp;#39;d probably need a libcouchbase &amp;quot;server&amp;quot; thread.&lt;br/&gt;
&lt;br/&gt;
One possible implementation is having this thread run an event framework (e.g. libev) which will drive libcouchbase. In addition to the thread running libcouchbase asynchronously, it will also accept command proxies over a queue (i.e. proxied requests for &amp;quot;lcb_store&amp;quot;, &amp;quot;lcb_get&amp;quot;, etc.).&lt;br/&gt;
&lt;br/&gt;
You may have this thread then schedule (within its own thread context) the command to libcouchbase. The thread will know about when there are commands available to shcedule by determining if there are items in the queue. This may be done in a non-blocking fashion by potentially constructing a &amp;#39;socketpair&amp;#39;, in which a byte of dummy data is written each time something si added to the queue.&lt;br/&gt;
&lt;br/&gt;
Subsequently, the &amp;quot;libcouchbase thread&amp;quot; will receive callbacks. You can proxy these callbacks out to your own user-defined callbacks.&lt;br/&gt;
&lt;br/&gt;
While this sounds complicated, I am guessing the whole thing (assuming you actually have a &amp;quot;Queue&amp;quot; implemented [ which being C++, you have several native structures to fit this model ]) shouldn&amp;#39;t take up more than 300 lines of code.</comment>
                    <comment id="47248" author="jbemmel" created="Mon, 7 Jan 2013 16:48:31 -0600"  >That would be possible, sure. For now I&amp;#39;ve decided to move away from using CouchBase/libcouchbase though, I&amp;#39;m only following up because I started this issue and to provide feedback to you guys.&lt;br/&gt;
&lt;br/&gt;
If you want to make it easier for people to use libcouchbase, from my perspective you could&lt;br/&gt;
a) Document a bit better / more extensively what the implications are for the application. Basically the information from this thread would be good to have known upfront&lt;br/&gt;
b) Implement something like you describe above&lt;br/&gt;
&lt;br/&gt;
I believe it could work well, the challenge is that the learning/adoption curve can be steep</comment>
                    <comment id="47249" author="trond" created="Mon, 7 Jan 2013 16:55:07 -0600"  >Earlier today I pushed through &lt;a href=&quot;http://review.couchbase.org/#/c/23749/&quot;&gt;http://review.couchbase.org/#/c/23749/&lt;/a&gt; giving you manual pages for &amp;quot;everything&amp;quot;... if you check out the lcb_attributes (looks better when you see it through man: &lt;a href=&quot;http://review.couchbase.org/#/c/23749/3/man/svr4/man5/lcb_attributes.5&quot;&gt;http://review.couchbase.org/#/c/23749/3/man/svr4/man5/lcb_attributes.5&lt;/a&gt; ) it&amp;#39;ll describe how the MT thing fits together..&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="47272" author="mnunberg" created="Mon, 7 Jan 2013 21:45:58 -0600"  >Looking at that manpage, the locking needs to be primarily focused on the state of the ringbuffers, meaning that two threads cannot be modifying the ringbuffer at any given time.&lt;br/&gt;
&lt;br/&gt;
Locking simply before scheduling operations is not sufficient because at the same time, the event loop might have woken up and the lcb_t would have started writing/reading data to/from the socket. A model similar to the one I outlined would work well - but that is pretty much the only way to get true async operations from libcouchbase from multiple threads. A different option would be to lock it whenever calling lcb_wait() but this can result in a deadlock if someone tries to use lcb_store from within a callback itself.&lt;br/&gt;
&lt;br/&gt;
Perhaps some stuff in this thread (i.e. jira thread) should be broken out into its own discussion about MT-safety and libcouchbase - the specific bits about maintaining ringbuffer/command log integrity are not immediately obvious; neither are its solutions</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8628</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-157] libvbucket should validate vbucket indices before performing lookup</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-157</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Otherwise, this will cause a segfault and buffer overrun;&lt;br/&gt;
e.g. vb=44444 should raise an error rather than crash</description>
                <environment></environment>
            <key id="21513">CCBC-157</key>
            <summary>libvbucket should validate vbucket indices before performing lookup</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Dec 2012 11:57:40 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:25 -0600</updated>
                    <resolved>Thu, 31 Jan 2013 02:28:52 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="48950" author="ingenthr" created="Tue, 29 Jan 2013 16:36:37 -0600"  >Also, anything &amp;lt;0.</comment>
                    <comment id="49127" author="avsej" created="Thu, 31 Jan 2013 02:28:52 -0600"  >It cannot return negative value or something too big&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/contrib/libvbucket/vbucket.c#L705-L711&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/contrib/libvbucket/vbucket.c#L705-L711&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8644</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-156] don&apos;t retry OBSERVE on NOT_MY_VBUCKET</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-156</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Retrying observe on NOT_MY_VBUCKET might lead to an infinite network loop as NOT_MY_VBUCKET is received if any of the vbuckets are not belonging to the server.&lt;br/&gt;
&lt;br/&gt;
This could happen if an OBSERVE command happens during a configuration change.</description>
                <environment></environment>
            <key id="21499">CCBC-156</key>
            <summary>don&apos;t retry OBSERVE on NOT_MY_VBUCKET</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Sun, 23 Dec 2012 15:36:27 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:24 -0600</updated>
                    <resolved>Tue, 5 Feb 2013 05:10:17 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="46541" author="ingenthr" created="Sun, 23 Dec 2012 18:00:57 -0600"  >But retry is expected, just on the next loop through (or one of them, eventually) the retry should hit the new location for the given vbucket.</comment>
                    <comment id="46554" author="mnunberg" created="Mon, 24 Dec 2012 02:03:12 -0600"  >When OBSERVE is used with multiple keys, the keys are encoded into the response like so:&lt;br/&gt;
&lt;br/&gt;
[entry]&lt;br/&gt;
vb=13&lt;br/&gt;
key=&amp;quot;foo&amp;quot;&lt;br/&gt;
&lt;br/&gt;
[entry]&lt;br/&gt;
vb=53&lt;br/&gt;
key = &amp;quot;bar&amp;quot;&lt;br/&gt;
&lt;br/&gt;
etc.&lt;br/&gt;
&lt;br/&gt;
From what I&amp;#39;ve seen (see my comments on OBSERVE wiki), the server will respond with NOT_MY_VBUCKET if *any* of the keys mentioned therein are not controlled by the server (as either master or replica). When a configuration change occurs (which it very well may) there is no guarantee that all the vbuckets encoded into the request will still be hosted by that same server.&lt;br/&gt;
&lt;br/&gt;
This is specifically for &amp;#39;multi-observe&amp;#39;</comment>
                    <comment id="46556" author="ingenthr" created="Mon, 24 Dec 2012 02:18:41 -0600"  >That all makes sense to me.  So, when retrying, if we re-distribute to the nodes based on the new vbucket locations, all will be well, right?  Are you saying multi-observe doesn&amp;#39;t do this?  Just trying to understand.</comment>
                    <comment id="46563" author="mnunberg" created="Mon, 24 Dec 2012 10:23:04 -0600"  >I&amp;#39;m saying we don&amp;#39;t actually re-construct the packet (and well, we can&amp;#39;t), we just re-send the packet out.&lt;br/&gt;
&lt;br/&gt;
For single-key packets this workds because the vbid is at the beginning fo the header, so we just calculate the vbucket and ship it to a different node. For observe however the vbucket information is mixed, and is not encoded into the header of the packet..</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8519</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-155] Observe will malfunction in the case of multiple keys and server failure</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-155</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Observe requests and responses may contain multiple keys, but this is not handled during the server failure phase in the code; therefore a user will not get callbacks for all the keys.&lt;br/&gt;
&lt;br/&gt;
We need to make a common handler for observe requests and responses</description>
                <environment></environment>
            <key id="21495">CCBC-155</key>
            <summary>Observe will malfunction in the case of multiple keys and server failure</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Sat, 22 Dec 2012 12:14:36 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:24 -0600</updated>
                    <resolved>Tue, 5 Feb 2013 05:10:03 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="46802" author="mnunberg" created="Mon, 31 Dec 2012 01:41:40 -0600"  >&lt;a href=&quot;http://review.couchbase.org/#/c/23527/&quot;&gt;http://review.couchbase.org/#/c/23527/&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8518</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-154] Missing documentation for some error codes</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-154</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>LCB_SERVER_BUG and LCB_PLUGIN_VERSION_MISMATCH is not documented with lcb_strerror</description>
                <environment></environment>
            <key id="21494">CCBC-154</key>
            <summary>Missing documentation for some error codes</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Sat, 22 Dec 2012 03:48:52 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:24 -0600</updated>
                    <resolved>Tue, 29 Jan 2013 17:42:02 -0600</resolved>
                                            <fixVersion>2.0.2</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8640</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-153] core dump whenever CouchBase connection attempt fails</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-153</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>We are seeing a core dump whenever CouchBase connection attempt fails for the first time and we try to reconnect. &lt;br/&gt;
This is a case when the client comes up before the Couchbase server.&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment></environment>
            <key id="21489">CCBC-153</key>
            <summary>core dump whenever CouchBase connection attempt fails</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="james.mauss">James Mauss</reporter>
                        <labels>
                    </labels>
                <created>Fri, 21 Dec 2012 13:44:44 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:24 -0600</updated>
                    <resolved>Thu, 10 Jan 2013 07:56:32 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="46908" author="avsej" created="Wed, 2 Jan 2013 15:24:55 -0600"  >&lt;a href=&quot;http://review.couchbase.org/23663&quot;&gt;http://review.couchbase.org/23663&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;ve fixed one usage of addrinfo struct, is it possible to get minimal script to reproduce the issue, or maybe you can grab the patch, apply and verify it?</comment>
                    <comment id="47362" author="avsej" created="Wed, 9 Jan 2013 06:24:27 -0600"  >Ok, I&amp;#39;ve found the issue, and they are right, rebuild instance will of course fix the issue. So there is workaround. I&amp;#39;m working on proper solution.</comment>
                    <comment id="47363" author="avsej" created="Wed, 9 Jan 2013 06:26:14 -0600"  >There is some state which isn&amp;#39;t reset on the second connection attempt: like instance-&amp;gt;backup_idx and instance-&amp;gt;configuration_callback_last. I&amp;#39;m working on the fix now</comment>
                    <comment id="47365" author="avsej" created="Wed, 9 Jan 2013 06:58:34 -0600"  >The fix &lt;a href=&quot;http://review.couchbase.org/23809&quot;&gt;http://review.couchbase.org/23809&lt;/a&gt;</comment>
                    <comment id="47470" author="avsej" created="Thu, 10 Jan 2013 07:56:32 -0600"  >Marking it as resolved and reassigning to James for feedback</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8639</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-152] Provide lcb_check to (weakly) check for the existence of a key</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-152</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <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.&lt;br/&gt;
&lt;br/&gt;
We need to have this in libcouchbase as normal observe is implemented by &amp;#39;broadcasting&amp;#39; to all the nodes</description>
                <environment></environment>
            <key id="21487">CCBC-152</key>
            <summary>Provide lcb_check to (weakly) check for the existence of a key</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Fri, 21 Dec 2012 13:26:43 -0600</created>
                <updated>Fri, 21 Dec 2012 13:27:18 -0600</updated>
                                    <version>2.0.1</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11118</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-151] Cancellation of the HTTP request might lead to segfault or memory leaks</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-151</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>* request_valid() and lcb_cancel_http_request() must not dereference request pointer until it makes sure that the pointer is valid&lt;br/&gt;
&lt;br/&gt;
* lcb_cancel_http_request() must not remove the request from the hashset, because it will prevent it from destroying&lt;br/&gt;
&lt;br/&gt;
* on_data callback should check if the request has been cancelled and  finish it without on_complete notification.</description>
                <environment></environment>
            <key id="21483">CCBC-151</key>
            <summary>Cancellation of the HTTP request might lead to segfault or memory leaks</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 21 Dec 2012 11:54:18 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:22 -0600</updated>
                    <resolved>Fri, 21 Dec 2012 11:54:44 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.2</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="46494" author="avsej" created="Fri, 21 Dec 2012 11:54:44 -0600"  >&lt;a href=&quot;http://review.couchbase.org/23497&quot;&gt;http://review.couchbase.org/23497&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8631</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-150] Observe (and possibly other) callbacks receiving NULL callback more than once when batched</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-150</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>See here &lt;a href=&quot;http://paste.scsys.co.uk/219902&quot;&gt;http://paste.scsys.co.uk/219902&lt;/a&gt; for an example.&lt;br/&gt;
&lt;br/&gt;
This primarily affects observe operation in &amp;#39;multi&amp;#39; mode; where multiple observe requests are queued up. This fails when the request distribution is asymmetric.&lt;br/&gt;
&lt;br/&gt;
This also affects stats and version commands if coupled with other commands in an asynchronous mode.&lt;br/&gt;
&lt;br/&gt;
This will definitely affect node.js.&lt;br/&gt;
&lt;br/&gt;
In summary, the function lcb_lookup_server_with_packet tries to find &amp;#39;associated&amp;#39; packets; but it does it wrongly. It assumes associated packets will always be at the tail (or pop-end) of the command log.&lt;br/&gt;
&lt;br/&gt;
However this will only be the case in a purely synchronous mode where there are no subsequent commands. The following scenario demonstrates this rather well:&lt;br/&gt;
&lt;br/&gt;
With three servers and two keys (and one replica), you have something like this for the vb/server map&lt;br/&gt;
&lt;br/&gt;
&amp;quot;K1&amp;quot; = servers[1], servers[2]&lt;br/&gt;
&amp;quot;K2&amp;quot; = servers[0], servers[1]&lt;br/&gt;
&lt;br/&gt;
When the commands are sent out, the command look for the server looks something like:&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
-- order in the buffer&lt;br/&gt;
BUFFERS:&lt;br/&gt;
[ OLD .. NEW]&lt;br/&gt;
&lt;br/&gt;
0: &amp;quot;K2&amp;quot;,&lt;br/&gt;
1: &amp;quot;K1&amp;quot;, &amp;quot;K2&amp;quot;&lt;br/&gt;
2: &amp;quot;K1&amp;quot;,&lt;br/&gt;
&lt;br/&gt;
LOGICAL PRECEDENCE:&lt;br/&gt;
[ OLD .. NEW ]&lt;br/&gt;
&lt;br/&gt;
&amp;quot;K1&amp;quot;, &amp;quot;K2&amp;quot;&lt;br/&gt;
&lt;br/&gt;
The idea to keep in mind is that even though we&amp;#39;ve scheduled the request for &amp;quot;K1&amp;quot; first, we may very well receive the response for &amp;quot;K2&amp;quot; first - this is especially true if server[0] is quicker than the other servers.&lt;br/&gt;
&lt;br/&gt;
So what happens when &amp;quot;K2&amp;quot; is received first? - the code checks to see the older commands on all the other servers (only the oldest command), and if not, it assumes this is the last command to be received and notifies the user that the command has finished.&lt;br/&gt;
&lt;br/&gt;
So now the buffers look like:&lt;br/&gt;
&lt;br/&gt;
0: &amp;quot;K3&amp;quot;&lt;br/&gt;
1: &amp;quot;K1&amp;quot;, &amp;quot;K2&amp;quot;&lt;br/&gt;
2: &amp;quot;K1&amp;quot;&lt;br/&gt;
&lt;br/&gt;
Now, server[1] responds with &amp;quot;K1&amp;quot;. Since the request for &amp;quot;K1&amp;quot; is still at the pop-end of server[2] nothing special happens here&lt;br/&gt;
&lt;br/&gt;
The buffers look like:&lt;br/&gt;
&lt;br/&gt;
0: &lt;br/&gt;
1: &amp;quot;K2&amp;quot;&lt;br/&gt;
2: &amp;quot;K1&amp;quot;&lt;br/&gt;
&lt;br/&gt;
Then server[1] responds again, this time with the next response for &amp;quot;K2&amp;quot;. It delivers the callback again. In a typical use case a user maintains a cookie tied to the command, and when the command is done, the cookie is freed. Plainly speaking, this double-singalling (i.e. telling the user a command has finished twice) segfaults the app.</description>
                <environment></environment>
            <key id="21476">CCBC-150</key>
            <summary>Observe (and possibly other) callbacks receiving NULL callback more than once when batched</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Fri, 21 Dec 2012 03:18:14 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:20 -0600</updated>
                    <resolved>Tue, 29 Jan 2013 17:49:17 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.2</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="46474" author="mnunberg" created="Fri, 21 Dec 2012 03:56:02 -0600"  >I actually have a fix in mind, which is to make a refcounted cookie for each observe operation - this will bind all of them together and allow us to simply invoke the callback when the refcount is 0.&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;ve implemented this and it seems to be working..</comment>
                    <comment id="46644" author="trond" created="Thu, 27 Dec 2012 18:10:50 -0600"  >I think I would prefer a solution that works for all of these commands and not just one of them..</comment>
                    <comment id="46645" author="ingenthr" created="Thu, 27 Dec 2012 18:13:30 -0600"  >Agreed with Trond, but not necessarily said here is that Observe is somewhat special.</comment>
                    <comment id="46650" author="mnunberg" created="Thu, 27 Dec 2012 19:25:59 -0600"  >After a re-analysis of the commands, I&amp;#39;m not so sure these things exist in multiple version or stats commands, because those commands are sent uniformly to all servers and is not asymmetric like observe. I stress &amp;#39;possibly others&amp;#39; as I&amp;#39;m still not sure&lt;br/&gt;
&lt;br/&gt;
In any event, it&amp;#39;s perfectly possible to abstract/extrapolate this refcount approach to other commands in a later commit.</comment>
                    <comment id="46796" author="trond" created="Sun, 30 Dec 2012 11:40:27 -0600"  >I think we would be better off by just fixing the real problem here: the way lcb_lookup_server_with_command.. instead of expecting the response to match the first response we&amp;#39;re awaiting for each socket, we should rather just check if it is in the &amp;quot;pipeline&amp;quot; for each server. Given that the opaque field is a command counter we know how deep we have to search for it..</comment>
                    <comment id="46797" author="trond" created="Sun, 30 Dec 2012 11:42:18 -0600"  >&lt;a href=&quot;http://review.couchbase.org/#/c/23633/&quot;&gt;http://review.couchbase.org/#/c/23633/&lt;/a&gt;</comment>
                    <comment id="46798" author="mnunberg" created="Sun, 30 Dec 2012 11:50:31 -0600"  >The real problem is that implicitly relying on things existing within the ringbuffer is difficult to follow and error prone:&lt;br/&gt;
&lt;br/&gt;
(1) In order to find &amp;#39;associated&amp;#39; commands one needs to actually search through the command log of the server&lt;br/&gt;
(2) The command in the ringbuffer must not have already been removed somehow (the command is only removed during a server failure or when a response has been received, but this is a fairly contrived step).&lt;br/&gt;
(3) Simply searching through the server buffer is not enough. There is an explicit &amp;quot;are we done yet&amp;quot; step which needs to be performed every time we respond to a command.&lt;br/&gt;
&lt;br/&gt;
This can also have negative performance hits in cases where lots of commands are scheduled (though in the single-command use case, this is normally not an issue)..&lt;br/&gt;
&lt;br/&gt;
The fix for this needs to be coupled by a general &amp;#39;invoke_callback&amp;#39; wrapper which will invoke the specific callback as well as check that &amp;#39;neighbor&amp;#39; packets do not remain, and then invoke with the NULL parameter.</comment>
                    <comment id="46799" author="trond" created="Mon, 31 Dec 2012 01:01:30 -0600"  >I am not sure I follow the problem here... You would only have to search until you found the first entry for a command in a command buffer. You may have a large batch of commands in the pipeline, but I am failing to see the usecase where that would happen (given that that the normal code-path would be get/sets and those are sent to a single server). The commands that are distributed to multiple servers would be the observe, stats, version, verbosity commands, and I don&amp;#39;t see where I would put them into big batches of other commands...&lt;br/&gt;
&lt;br/&gt;
I would assume the logic for where I wanted to use observe would be together with the result of a store operation, and my application would normally &amp;quot;wait&amp;quot; for it to complete.. Yes, it could be used in a singlethreaded server where we have a ton of other logical threads using the same instance and hence end up with a huge batch of pending commands, but I would find that more of a corner case than the normal code path...</comment>
                    <comment id="46800" author="trond" created="Mon, 31 Dec 2012 01:07:44 -0600"  >ops.. pressed resolve before code was merged...</comment>
                    <comment id="46801" author="mnunberg" created="Mon, 31 Dec 2012 01:39:21 -0600"  >The issue of performance is indeed a corner case (as noted in my initial comment) - however the other two concerns - namely the tip-toeing needed and the whole lack of clarity when reading the code - and understanding how the commands are actually tied together, leads to a point of significant confusion (confusing enough that we&amp;#39;re running into these issues now, which would have likely been avoided had the association been explicit). It&amp;#39;s my opinion that there are too many implicit assumptions with little performance gain; I think we can agree that our performance (read: throughput) issues with observe will not be CPU-bound but rather I/O bound.&lt;br/&gt;
&lt;br/&gt;
Anyway my point isn&amp;#39;t so much about performance but rather about clarity in respect to what happens in such a central code path. In terms of performance for the normal case, looking in the command log might be &amp;quot;faster&amp;quot; because there&amp;#39;s no need to allocate an extra chunk of memory to contain the refcount (assuming that there is only a handful of commands in the pipeline); however I think it&amp;#39;s safe to say that observe/version/stats aren&amp;#39;t going to be commands bound by client-side CPU or memory.&lt;br/&gt;
&lt;br/&gt;
We&amp;#39;d also need to handle all these commands in the case of server failures (see patch/issue for &lt;a href=&quot;http://www.couchbase.com/issues/browse/CCBC-155&quot; title=&quot;Observe will malfunction in the case of multiple keys and server failure&quot;&gt;&lt;strike&gt;CCBC-155&lt;/strike&gt;&lt;/a&gt;) - which wouldn&amp;#39;t be impossible; we would need to pass these functions the opaque value for the request/response.&lt;br/&gt;
&lt;br/&gt;
Edit: I see that VERSION already adds the boilerplate there. In any event, OBSERVE is still special - and in the future should be split out into three commands (on the client) - durability (what I&amp;#39;m working on right now), broadcast (our current lcb_observe implementation) and check (which checks the master to see if the key exists without actually fetching its contents)</comment>
                    <comment id="46803" author="trond" created="Mon, 31 Dec 2012 01:53:49 -0600"  >these commands should go in libcouchbase_util or something... It woud be nice with a discussion about such commands prior to implementations....</comment>
                    <comment id="48958" author="trond" created="Tue, 29 Jan 2013 17:49:17 -0600"  >The fix is already merged...</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="21311">CCBC-145</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8625</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-149] Docs: typo under Mac installation instructions</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-149</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>&lt;a href=&quot;http://www.couchbase.com/develop/c/current&quot;&gt;http://www.couchbase.com/develop/c/current&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
The text for the Mac installation instructions needs to be cleaned up a bit.</description>
                <environment></environment>
            <key id="21459">CCBC-149</key>
            <summary>Docs: typo under Mac installation instructions</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="5" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="perry">Perry Krug</reporter>
                        <labels>
                    </labels>
                <created>Thu, 20 Dec 2012 06:13:30 -0600</created>
                <updated>Fri, 8 Feb 2013 06:01:26 -0600</updated>
                    <resolved>Fri, 8 Feb 2013 06:01:26 -0600</resolved>
                            <version>2.0.1</version>
                                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8709</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-148] intermittent test failures in MockUnitTest.testPurgedBody</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-148</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Currently, we see intermittent test failures all in the same test from sdk-repo.  This has been at least since build #866, and probably earlier.&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://sdkbuilds.couchbase.com/job/sdk-repo/&quot;&gt;http://sdkbuilds.couchbase.com/job/sdk-repo/&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
[----------] Global test environment tear-down&lt;br/&gt;
[==========] 80 tests from 17 test cases ran. (49277 ms total)&lt;br/&gt;
[  PASSED  ] 79 tests.&lt;br/&gt;
[  FAILED  ] 1 test, listed below:&lt;br/&gt;
[  FAILED  ] MockUnitTest.testPurgedBody</description>
                <environment></environment>
            <key id="21431">CCBC-148</key>
            <summary>intermittent test failures in MockUnitTest.testPurgedBody</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Wed, 19 Dec 2012 14:15:57 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:20 -0600</updated>
                    <resolved>Sat, 5 Jan 2013 02:29:00 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.2</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="46349" author="mnunberg" created="Wed, 19 Dec 2012 14:20:17 -0600"  >The test assumes that the mock server  is timely enough, so that the command being sent to the mock is processed within 0.25 seconds.&lt;br/&gt;
&lt;br/&gt;
The test might fail because of this.&lt;br/&gt;
&lt;br/&gt;
There&amp;#39;s no easy fix for this, other than to make the mock send ACKs to commands, so that we know when the mock has completed the operation.&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/tests/mock-unit-test.cc#L568&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/tests/mock-unit-test.cc#L568&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8621</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-147] function lcb_wait works infinitly after trying to connect (by calling lcb_connect) to Couchbase server that is on Pending state </title>
                <link>http://www.couchbase.com/issues/browse/CCBC-147</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Start server with one node.&lt;br/&gt;
Create many buckets, that uses all allowed memory -&amp;gt; Server have to chnage status on Pending (In my situation server stay in Pending for all time and can&amp;#39;t change it to Up)&lt;br/&gt;
&lt;br/&gt;
After that try to connect to one of the bucket by calling lcb_connect.&lt;br/&gt;
Call lcb_wait to wait for connection is done.&lt;br/&gt;
As a result lcb_wait work infinitly and timeout doesn&amp;#39;t happen&lt;br/&gt;
&lt;br/&gt;
Below I share call stack in Red Hat Linux:&lt;br/&gt;
#0  0x00000034350d4473 in __epoll_wait_nocancel () from /lib64/libc.so.6&lt;br/&gt;
#1  0x00002ad81b1dccc9 in ?? () from ./lib/libevent-2.0.so.5&lt;br/&gt;
#2  0x00002ad81b1c9cdc in event_base_loop () from ./lib/libevent-2.0.so.5&lt;br/&gt;
#3  0x00002ad8174c1dc6 in lcb_wait () from ./lib/libcouchbase.so.2&lt;br/&gt;
#4  0x000000000043c0e1 in Couchbase::connect (this=0x60df508) at couchbase_loader_source/couchbase.cpp:152&lt;br/&gt;
#5  0x000000000043c8b7 in connect_to_bucket (cbase=..., config=..., bucket_name=...) at couchbase_loader_source/couchbase.cpp:478&lt;br/&gt;
#6  0x0000000000440924 in couchbase_loader::writer_thread::writer_thread (this=0x60df480, config=..., bucket_name=..., dbh=...) at couchbase_loader_source/writer_thread.cpp:25&lt;br/&gt;
#7  0x000000000042168c in main (argc=1, argv=0x7fff22162028) at couchbase_loader_source/couchbase_loader.cpp:175&lt;br/&gt;
</description>
                <environment>I reproduced a bug on Linux Rad Hat 5.0 x64 and on Windows XP x32&lt;br/&gt;
Couchbase server version 1.8.1 &lt;br/&gt;
libcouchbase version 2.0.1</environment>
            <key id="21423">CCBC-147</key>
            <summary>function lcb_wait works infinitly after trying to connect (by calling lcb_connect) to Couchbase server that is on Pending state </summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="Haster">Haster</reporter>
                        <labels>
                    </labels>
                <created>Wed, 19 Dec 2012 06:25:30 -0600</created>
                <updated>Tue, 5 Mar 2013 16:07:54 -0600</updated>
                    <resolved>Tue, 5 Mar 2013 15:47:44 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.4</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="46570" author="Haster" created="Wed, 26 Dec 2012 02:12:36 -0600"  >I&#8217;ve investigated a little this problem and I have additional info.&lt;br/&gt;
&lt;br/&gt;
My error happened scenario:&lt;br/&gt;
&lt;br/&gt;
First of all I try to connect to some bucket (Primary for example) which is absent&lt;br/&gt;
&lt;br/&gt;
lcb_connect&lt;br/&gt;
lcb_wait&lt;br/&gt;
&lt;br/&gt;
here I get error. Then I create bucket, destroy instance by calling lcb_destroy and try connect to bucket again:&lt;br/&gt;
&lt;br/&gt;
func_create_bucket()&lt;br/&gt;
sleep(some_time)&lt;br/&gt;
lcb_destroy()&lt;br/&gt;
lcb_create()&lt;br/&gt;
lcb_connect()&lt;br/&gt;
lcb_wait()&lt;br/&gt;
&lt;br/&gt;
After that I receive 3 messages from my error_callback function, where errinfo is &#8220;Number of vBuckets must be a power of two &amp;gt; 0 and &amp;lt;= 65536&#8221;&lt;br/&gt;
And deadlock happened in lcb_wait.&lt;br/&gt;
</comment>
                    <comment id="46601" author="Haster" created="Thu, 27 Dec 2012 07:24:14 -0600"  >I&amp;#39;ve investigated this issue more deeply.&lt;br/&gt;
The problem take place then connection timeout happend.&lt;br/&gt;
&lt;br/&gt;
connect&lt;br/&gt;
lcb_wait&lt;br/&gt;
&amp;nbsp;&amp;nbsp;lcb_io_run_event_loop (for Windows Platform)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;...&lt;br/&gt;
&amp;nbsp;&amp;nbsp;select&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;if (ret == 0)    &amp;lt;-- 0 then timeout happend&lt;br/&gt;
&amp;nbsp;&amp;nbsp;{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;-- Here our problems begin&lt;br/&gt;
&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
After select returns zero code tries to reconnect in callback function(is it good idea? Maybe it is better to exit from loop and return error?), but some structures (as I think) are corrupted after that.&lt;br/&gt;
After that event_loop calls select function, but timeout variable contain zero value (infinitly execution)...&lt;br/&gt;
&lt;br/&gt;
As I think, problem is near here</comment>
                    <comment id="47540" author="avsej" created="Thu, 10 Jan 2013 14:54:55 -0600"  >could you post a piece of source code, demonstrating the issue?</comment>
                    <comment id="47545" author="avsej" created="Thu, 10 Jan 2013 15:05:07 -0600"  >Possibly this patch has been fixed the issue &lt;a href=&quot;https://github.com/couchbase/libcouchbase/commit/d4948192439e61a8cc23d5e8572e81db1aebef7f&quot;&gt;https://github.com/couchbase/libcouchbase/commit/d4948192439e61a8cc23d5e8572e81db1aebef7f&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Could you verify with libcouchbase from master?&lt;br/&gt;
&lt;br/&gt;
To do so either pull and build the sources:&lt;br/&gt;
&lt;br/&gt;
git clone &lt;a href=&quot;git://github.com/couchbase/libcouchbase.git&quot;&gt;git://github.com/couchbase/libcouchbase.git&lt;/a&gt;&lt;br/&gt;
cd libcouchbase&lt;br/&gt;
./config/autorun.sh &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&lt;br/&gt;
&lt;br/&gt;
or install from snapsot deb/rpm repositories, like for example for recent ubuntus&lt;br/&gt;
&lt;br/&gt;
sudo wget -O/etc/apt/sources.list.d/couchbase-snapshot.list &lt;a href=&quot;http://packages.couchbase.com/snapshot/ubuntu/couchbase-ubuntu1110.list&quot;&gt;http://packages.couchbase.com/snapshot/ubuntu/couchbase-ubuntu1110.list&lt;/a&gt;&lt;br/&gt;
sudo aptitude update&lt;br/&gt;
sudo aptitude install libcouchbase-dev libcouchbase2-bin</comment>
                    <comment id="47551" author="Haster" created="Thu, 10 Jan 2013 15:40:50 -0600"  >My code is very big :one application server creates many processes (couchbase_loader)(one process for each cache) and whose processes operate with couchbase.&lt;br/&gt;
But also they cooperate with oracle database...&lt;br/&gt;
If you want I can share all code, but you need Oracle to run it. Or I can try to write more simple testcase...&lt;br/&gt;
&lt;br/&gt;
Also I will check patch tomorrow and share results </comment>
                    <comment id="47576" author="Haster" created="Fri, 11 Jan 2013 02:30:51 -0600"  >It looks good now. Thanks a lot</comment>
                    <comment id="47591" author="Haster" created="Fri, 11 Jan 2013 06:49:31 -0600"  >Sergey, I reproduced this issue on Windows platform.&lt;br/&gt;
Now it works more stable, but than I&amp;#39;ve tried to create 9 buckets in same time by executing 9 copies of my program 4 of them deadlocked in lcb_wait function.</comment>
                    <comment id="47660" author="Haster" created="Sun, 13 Jan 2013 10:21:47 -0600"  >&#1044;&#1086;&#1073;&#1072;&#1074;&#1083;&#1077;&#1085;&#1072; &#1090;&#1077;&#1089;&#1090;&#1086;&#1074;&#1072;&#1103; &#1087;&#1088;&#1086;&#1075;&#1088;&#1072;&#1084;&#1084;&#1072; &#1076;&#1083;&#1103; &#1074;&#1086;&#1089;&#1087;&#1088;&#1086;&#1080;&#1079;&#1074;&#1077;&#1076;&#1077;&#1085;&#1080;&#1103; &#1087;&#1088;&#1086;&#1073;&#1083;&#1077;&#1084;&#1099;</comment>
                    <comment id="49888" author="avsej" created="Wed, 6 Feb 2013 14:04:01 -0600"  >Fixed invalid memory access in win32 plugin &lt;a href=&quot;http://review.couchbase.org/24451&quot;&gt;http://review.couchbase.org/24451&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="21721">CCBC-167</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                    <attachment id="16180" name="cloader.rar" size="2070177" author="Haster" created="Sun, 13 Jan 2013 10:21:47 -0600" />
                    <attachment id="16181" name="NMakefile_new" size="5449" author="Haster" created="Sun, 13 Jan 2013 10:21:47 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8609</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-146] configuration.h not copied during installation</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-146</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment>debian 2.6.32-5-amd64</environment>
            <key id="21315">CCBC-146</key>
            <summary>configuration.h not copied during installation</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="Otetz">Alexey Shevchenko</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Dec 2012 13:48:40 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:21 -0600</updated>
                    <resolved>Thu, 13 Dec 2012 13:56:10 -0600</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="45994" author="avsej" created="Thu, 13 Dec 2012 13:51:53 -0600"  >what package are you using to install libcouchbase headers?</comment>
                    <comment id="45995" author="Otetz" created="Thu, 13 Dec 2012 13:53:21 -0600"  >I am use git source from github</comment>
                    <comment id="45996" author="avsej" created="Thu, 13 Dec 2012 13:54:02 -0600"  >there was issue, but introduced after release, please use either deb packages or official tarballs. the bug was fixed in git master also</comment>
                    <comment id="45997" author="avsej" created="Thu, 13 Dec 2012 13:54:57 -0600"  >then just update your copy</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8626</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-145] Provide API for durability operations</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-145</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>This feature will provide a callback-oriented API for durability (aka observe-poll) operations. Considering that the logic of implementing these operations has proved somewhat more complex than intended, it would be better to centralize this in libcouchbase.&lt;br/&gt;
&lt;br/&gt;
The API will provide a &amp;quot;durability set&amp;quot; which is a group of keys to be monitored, a &amp;quot;per-key&amp;quot; callback for when each key reaches its persistence/durability requirements, a &amp;quot;set callback&amp;quot; for when all keys have been endured (or have encountered a condition in which no further retries can be made)</description>
                <environment></environment>
            <key id="21311">CCBC-145</key>
            <summary>Provide API for durability operations</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="3" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/inprogress.png">In Progress</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Dec 2012 12:37:36 -0600</created>
                <updated>Fri, 21 Dec 2012 18:59:38 -0600</updated>
                                                    <fixVersion>2.1.0</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                        <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                <outwardlinks description="depends on">
                            <issuelink>
            <issuekey id="21476">CCBC-150</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11182</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-144] Standardize view option handling</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-144</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Centralize view option conversion, validation, and construction so dependent code does not have to repeat the same boilerplate all the time. This makes it easier for client libraries to adapt to new view options, as well as provide common expected behavior with current options.</description>
                <environment></environment>
            <key id="21289">CCBC-144</key>
            <summary>Standardize view option handling</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="3" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/inprogress.png">In Progress</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Wed, 12 Dec 2012 16:22:25 -0600</created>
                <updated>Thu, 10 Jan 2013 15:47:26 -0600</updated>
                                                    <fixVersion>2.1.0</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45976" author="mnunberg" created="Thu, 13 Dec 2012 11:58:32 -0600"  >&lt;a href=&quot;http://review.couchbase.org/#/c/23249/&quot;&gt;http://review.couchbase.org/#/c/23249/&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11181</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-143] cbc version reports that uses 2.0.0, but really installed with 2.0.1</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-143</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>$ cbc version&lt;br/&gt;
cbc built from: libcouchbase 2.0.1&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using libcouchbase: 2.0.0&lt;br/&gt;
</description>
                <environment></environment>
            <key id="21240">CCBC-143</key>
            <summary>cbc version reports that uses 2.0.0, but really installed with 2.0.1</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Dec 2012 19:35:09 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:20 -0600</updated>
                    <resolved>Mon, 10 Dec 2012 19:37:12 -0600</resolved>
                            <version>2.0.1</version>
                                <fixVersion>2.0.2</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45775" author="avsej" created="Mon, 10 Dec 2012 19:36:55 -0600"  >Not really a bug. Just mistype in configure.ac&lt;br/&gt;
&lt;br/&gt;
This version isn&amp;#39;t used by dynamic linker or tools like that. Fixed in &lt;a href=&quot;http://review.couchbase.org/23183&quot;&gt;http://review.couchbase.org/23183&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8623</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-142] test libcouchbase observe functionality</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-142</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="19655">CCBC-142</key>
            <summary>test libcouchbase observe functionality</summary>
                <type id="7" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task_agile.png">Technical task</type>
                    <parent id="19498">CCBC-137</parent>
                        <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Sep 2012 12:38:02 -0500</created>
                <updated>Sat, 8 Dec 2012 00:11:17 -0600</updated>
                                                                                    <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8728</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-141] test libcouchbase lock functionality</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-141</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="19654">CCBC-141</key>
            <summary>test libcouchbase lock functionality</summary>
                <type id="7" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task_agile.png">Technical task</type>
                    <parent id="19498">CCBC-137</parent>
                        <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Sep 2012 12:37:35 -0500</created>
                <updated>Sat, 8 Dec 2012 00:11:17 -0600</updated>
                    <resolved>Wed, 12 Sep 2012 16:55:53 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8744</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-140] add http tests to libcouchbase</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-140</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="19566">CCBC-140</key>
            <summary>add http tests to libcouchbase</summary>
                <type id="7" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task_agile.png">Technical task</type>
                    <parent id="19498">CCBC-137</parent>
                        <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 Sep 2012 11:03:28 -0500</created>
                <updated>Wed, 6 Feb 2013 13:48:24 -0600</updated>
                    <resolved>Thu, 6 Sep 2012 13:22:14 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8642</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-139] add timeout tests for libcouchbase</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-139</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="19500">CCBC-139</key>
            <summary>add timeout tests for libcouchbase</summary>
                <type id="7" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task_agile.png">Technical task</type>
                    <parent id="19498">CCBC-137</parent>
                        <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Fri, 31 Aug 2012 11:37:04 -0500</created>
                <updated>Sat, 8 Dec 2012 00:11:17 -0600</updated>
                                                                                    <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="37514" author="farshid" created="Fri, 31 Aug 2012 17:34:24 -0500"  >1- timeout to a server that is down&lt;br/&gt;
2- timeout a server that is slow </comment>
                    <comment id="37678" author="mnunberg" created="Wed, 5 Sep 2012 11:06:17 -0500"  >Apparently there are some new tests for this already.. I&amp;#39;ll document them again during next pass</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11184</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-138] allow libcouchbase tests to be executed against a real cluster</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-138</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="19499">CCBC-138</key>
            <summary>allow libcouchbase tests to be executed against a real cluster</summary>
                <type id="7" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task_agile.png">Technical task</type>
                    <parent id="19498">CCBC-137</parent>
                        <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Fri, 31 Aug 2012 11:36:26 -0500</created>
                <updated>Wed, 6 Feb 2013 13:48:23 -0600</updated>
                    <resolved>Thu, 6 Sep 2012 13:22:04 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="37534" author="mnunberg" created="Fri, 31 Aug 2012 22:39:11 -0500"  >Tests are now implemented and functional on a real cluster.. some nice dressing needs to happen in order to make it acceptable upstream..</comment>
                    <comment id="37676" author="mnunberg" created="Wed, 5 Sep 2012 11:04:06 -0500"  >This task is mainly done, pending some refactoring and polishing of the proposed gerrit changes&lt;br/&gt;
&lt;a href=&quot;http://review.couchbase.org/#/c/20447/&quot;&gt;http://review.couchbase.org/#/c/20447/&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8638</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-137] libcouchbase test improvements</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-137</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Generic improvements and fixes for libcouchbase test suite</description>
                <environment></environment>
            <key id="19498">CCBC-137</key>
            <summary>libcouchbase test improvements</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Fri, 31 Aug 2012 11:36:01 -0500</created>
                <updated>Sat, 11 May 2013 13:31:12 -0500</updated>
                                                                                    <votes>0</votes>
                        <watches>0</watches>
                                                                                          <attachments>
                </attachments>
            <subtasks>
            <subtask id="19499">CCBC-138</subtask>
            <subtask id="19500">CCBC-139</subtask>
            <subtask id="19566">CCBC-140</subtask>
            <subtask id="19654">CCBC-141</subtask>
            <subtask id="19655">CCBC-142</subtask>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11177</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-136] abort from libcouchbase_purge_single_server at timeout.c:93</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-136</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>#0 0x40022424 in __kernel_vsyscall ()&lt;br/&gt;
#1 0x402bc1ef in raise () from /lib/i386-linux-gnu/libc.so.6&lt;br/&gt;
#2 0x402bf835 in abort () from /lib/i386-linux-gnu/libc.so.6&lt;br/&gt;
#3 0x40be9b7b in libcouchbase_purge_single_server (server=0x42043d58, tmo=2500000000, now=1354688386324058000, error=LIBCOUCHBASE_ETIMEDOUT) at src/server.c:234&lt;br/&gt;
#4 0x40bec9bc in libcouchbase_purge_timedout (instance=0x42003af8) at src/timeout.c:93&lt;br/&gt;
#5 0x40beca2c in libcouchbase_timeout_handler (sock=-1, which=0, arg=0x42003af8) at src/timeout.c:41&lt;br/&gt;
(trimmed...)</description>
                <environment></environment>
            <key id="21163">CCBC-136</key>
            <summary>abort from libcouchbase_purge_single_server at timeout.c:93</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 Dec 2012 10:54:38 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:23 -0600</updated>
                    <resolved>Mon, 10 Dec 2012 07:47:53 -0600</resolved>
                            <version>1.0.4</version>
                <version>2.0.0</version>
                                <fixVersion>2.0.1</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45506" author="avsej" created="Wed, 5 Dec 2012 14:42:12 -0600"  >fixed for 2.0.0 &lt;a href=&quot;http://review.couchbase.org/23100&quot;&gt;http://review.couchbase.org/23100&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8436</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-135] lcb_server_purge_implicit_responses: Assertion `nr == sizeof(req)&apos; failed</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-135</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Cannot reproduce, this is all the info I have&lt;br/&gt;
&lt;br/&gt;
FAIL GetMulti - MgetOrdered [tests/phpt/GetMulti/MgetOrdered.phpt] &lt;br/&gt;
&lt;br/&gt;
&lt;a href=&apos;mailto:mnunberg@csure&apos;&gt;mnunberg@csure&lt;/a&gt;:/sources/lcb2.0-repo/php$ cat tests/phpt/GetMulti/*.out&lt;br/&gt;
PHP_COUCHBASE_OK&lt;br/&gt;
php: src/server.c:799: lcb_server_purge_implicit_responses: Assertion `nr == sizeof(req)&amp;#39; failed.&lt;br/&gt;
&lt;br/&gt;
*Might* be related to &lt;a href=&quot;http://www.couchbase.com/issues/browse/CCBC-120&quot; title=&quot;Unhandled opcode=92&quot;&gt;&lt;strike&gt;CCBC-120&lt;/strike&gt;&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
To reiterate again, I cannot reproduce this - I just happened to notice it</description>
                <environment></environment>
            <key id="21127">CCBC-135</key>
            <summary>lcb_server_purge_implicit_responses: Assertion `nr == sizeof(req)&apos; failed</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Dec 2012 14:22:41 -0600</created>
                <updated>Fri, 14 Dec 2012 13:04:43 -0600</updated>
                                    <version>2.0.0</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45433" author="mnunberg" created="Wed, 5 Dec 2012 01:11:02 -0600"  >#0  0x00007f4d29d00475 in *__GI_raise (sig=&amp;lt;optimized out&amp;gt;) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64&lt;br/&gt;
#1  0x00007f4d29d036f0 in *__GI_abort () at abort.c:92&lt;br/&gt;
#2  0x00007f4d29cf9621 in *__GI___assert_fail (assertion=0x7f4d28a88fd3 &amp;quot;nr == sizeof(req)&amp;quot;, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file=&amp;lt;optimized out&amp;gt;, line=799, function=0x7f4d28a893c0 &amp;quot;lcb_server_purge_implicit_responses&amp;quot;)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at assert.c:81&lt;br/&gt;
#3  0x00007f4d28a7ab53 in lcb_server_purge_implicit_responses (c=0x2c35ff0, seqno=34, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end=1354691478793889000) at src/server.c:799&lt;br/&gt;
#4  0x00007f4d28a79a56 in lcb_server_destroy (server=0x2c35ff0) at src/server.c:394&lt;br/&gt;
#5  0x00007f4d28a74ba5 in lcb_destroy (instance=0x2c83ed0) at src/instance.c:347&lt;br/&gt;
#6  0x00007f4d28c9b836 in php_couchbase_res_dtor (rsrc=&amp;lt;optimized out&amp;gt;)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /sources/lcb2.0-repo/php/couchbase.c:43&lt;br/&gt;
#7  0x00000000006ae89e in list_entry_destructor (ptr=0x7f4d27d177d8)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_list.c:183&lt;br/&gt;
#8  0x00000000006ac6bd in zend_hash_del_key_or_index (ht=0xdb8750, arKey=0x0, nKeyLength=0, h=56, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flag=753497888) at /tmp/buildd/php5-5.4.4/Zend/zend_hash.c:531&lt;br/&gt;
#9  0x00000000006ae9b1 in _zend_list_delete (id=14243) at /tmp/buildd/php5-5.4.4/Zend/zend_list.c:57&lt;br/&gt;
#10 0x000000000068fa5a in _zval_ptr_dtor (zval_ptr=0x7f4d27d175d8)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_variables.h:35&lt;br/&gt;
#11 0x00000000006bf947 in zend_object_std_dtor (object=0x7f4d27c9c978)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:54&lt;br/&gt;
#12 0x00000000006bf979 in zend_objects_free_object_storage (object=0x7f4d27c9c978)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:137&lt;br/&gt;
#13 0x00000000006c5693 in zend_objects_store_del_ref_by_handle_ex (handle=753383344, handlers=0x37a3)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects_API.c:220&lt;br/&gt;
#14 0x00000000006c56b3 in zend_objects_store_del_ref (zobject=0x7f4d27ca0b60)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects_API.c:172&lt;br/&gt;
#15 0x000000000068fa5a in _zval_ptr_dtor (zval_ptr=0x7f4d27cfc130)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_variables.h:35&lt;br/&gt;
#16 0x00000000006ac7b8 in zend_hash_destroy (ht=0x7f4d27cfd508)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_hash.c:560&lt;br/&gt;
#17 0x00000000006bf8ec in zend_object_std_dtor (object=0x7f4d27cb9900)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:44&lt;br/&gt;
#18 0x00000000006bf979 in zend_objects_free_object_storage (object=0x7f4d27cb9900)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:137&lt;br/&gt;
#19 0x00000000006c5693 in zend_objects_store_del_ref_by_handle_ex (handle=753383728, handlers=0x37a3)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects_API.c:220&lt;br/&gt;
#20 0x00000000006c56b3 in zend_objects_store_del_ref (zobject=0x7f4d27cb9100)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects_API.c:172&lt;br/&gt;
#21 0x000000000068fa5a in _zval_ptr_dtor (zval_ptr=0x7f4d27cb9a78)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_variables.h:35&lt;br/&gt;
#22 0x00000000006ac7b8 in zend_hash_destroy (ht=0x7f4d27cb9c58)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_hash.c:560&lt;br/&gt;
---Type &amp;lt;return&amp;gt; to continue, or q &amp;lt;return&amp;gt; to quit---&lt;br/&gt;
#23 0x000000000069d9f7 in _zval_dtor_func (zvalue=0x7f4d27cb9d38)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_variables.c:43&lt;br/&gt;
#24 0x000000000068fa5a in _zval_ptr_dtor (zval_ptr=0x7f4d27e325b0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_variables.h:35&lt;br/&gt;
#25 0x00000000006bf947 in zend_object_std_dtor (object=0x7f4d27cf8fa8)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:54&lt;br/&gt;
#26 0x00000000006bf979 in zend_objects_free_object_storage (object=0x7f4d27cf8fa8)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects.c:137&lt;br/&gt;
#27 0x00000000006c51c7 in zend_objects_store_free_object_storage (objects=0xdb8880)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/Zend/zend_objects_API.c:92&lt;br/&gt;
#28 0x000000000068ffbc in shutdown_executor () at /tmp/buildd/php5-5.4.4/Zend/zend_execute_API.c:297&lt;br/&gt;
#29 0x000000000069e9e5 in zend_deactivate () at /tmp/buildd/php5-5.4.4/Zend/zend.c:941&lt;br/&gt;
#30 0x000000000063e36a in php_request_shutdown (dummy=0x37a3) at /tmp/buildd/php5-5.4.4/main/main.c:1781&lt;br/&gt;
#31 0x0000000000748374 in do_cli (argc=0, argv=0x7fff0f1f03e5)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/sapi/cli/php_cli.c:1174&lt;br/&gt;
#32 0x00000000004310ca in main (argc=32767, argv=0x2a5e210)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /tmp/buildd/php5-5.4.4/sapi/cli/php_cli.c:1361&lt;br/&gt;
(gdb) &lt;br/&gt;
</comment>
                    <comment id="45437" author="mnunberg" created="Wed, 5 Dec 2012 01:28:12 -0600"  >Core Dump -- self-compiled versions of lcb and php-ext</comment>
                    <comment id="46035" author="ingenthr" created="Fri, 14 Dec 2012 13:04:43 -0600"  >Talking with Mark, he can&amp;#39;t regularly repro this, but does still see it randomly&lt;br/&gt;
</comment>
                </comments>
                    <attachments>
                    <attachment id="15962" name="core" size="10932224" author="mnunberg" created="Wed, 5 Dec 2012 01:28:12 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11116</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-134] Repo refuses to download packages: &quot;Package does not match intended download&quot;</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-134</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Doing this:&lt;br/&gt;
&lt;br/&gt;
wget -O/etc/yum.repos.d/couchbase.repo &lt;a href=&quot;http://packages.couchbase.com/rpm/couchbase-centos55-x86_64.repo&quot;&gt;http://packages.couchbase.com/rpm/couchbase-centos55-x86_64.repo&lt;/a&gt;&lt;br/&gt;
yum clean all&lt;br/&gt;
yum install -y libcouchbase2.x86_64 libcouchbase-devel&lt;br/&gt;
&lt;br/&gt;
Results in a failed install/update with these errors:&lt;br/&gt;
&lt;br/&gt;
[&lt;a href=&apos;mailto:root@host&apos;&gt;root@host&lt;/a&gt; ~]# yum install -y libcouchbase2.x86_64 libcouchbase-devel&lt;br/&gt;
Loaded plugins: fastestmirror&lt;br/&gt;
Loading mirror speeds from cached hostfile&lt;br/&gt;
&amp;nbsp;* base: mirrors.sonic.net&lt;br/&gt;
&amp;nbsp;* centosplus: mirror.hmc.edu&lt;br/&gt;
&amp;nbsp;* epel: mirrors.solfo.com&lt;br/&gt;
&amp;nbsp;* extras: mirror.stanford.edu&lt;br/&gt;
&amp;nbsp;* updates: mirrors.arpnetworks.com&lt;br/&gt;
Setting up Install Process&lt;br/&gt;
Resolving Dependencies&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package libcouchbase-devel.x86_64 0:2.0.0-1 set to be updated&lt;br/&gt;
--&amp;gt; Processing Dependency: libcouchbase2-core for package: libcouchbase-devel&lt;br/&gt;
--&amp;gt; Processing Dependency: libcouchbase.so.2()(64bit) for package: libcouchbase-devel&lt;br/&gt;
---&amp;gt; Package libcouchbase2.x86_64 0:2.0.0-1 set to be updated&lt;br/&gt;
--&amp;gt; Processing Dependency: libcouchbase2-backend for package: libcouchbase2&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package libcouchbase2-core.x86_64 0:2.0.0-1 set to be updated&lt;br/&gt;
---&amp;gt; Package libcouchbase2-libev.x86_64 0:2.0.0-1 set to be updated&lt;br/&gt;
--&amp;gt; Finished Dependency Resolution&lt;br/&gt;
&lt;br/&gt;
Dependencies Resolved&lt;br/&gt;
&lt;br/&gt;
=======================================================================&lt;br/&gt;
&amp;nbsp;Package                 Arch       Version        Repository     Size&lt;br/&gt;
=======================================================================&lt;br/&gt;
Installing:&lt;br/&gt;
&amp;nbsp;libcouchbase-devel      x86_64     2.0.0-1        couchbase      52 k&lt;br/&gt;
&amp;nbsp;libcouchbase2           x86_64     2.0.0-1        couchbase      26 k&lt;br/&gt;
Installing for dependencies:&lt;br/&gt;
&amp;nbsp;libcouchbase2-core      x86_64     2.0.0-1        couchbase      82 k&lt;br/&gt;
&amp;nbsp;libcouchbase2-libev     x86_64     2.0.0-1        couchbase      31 k&lt;br/&gt;
&lt;br/&gt;
Transaction Summary&lt;br/&gt;
=======================================================================&lt;br/&gt;
Install       4 Package(s)&lt;br/&gt;
Upgrade       0 Package(s)&lt;br/&gt;
&lt;br/&gt;
Total download size: 191 k&lt;br/&gt;
Downloading Packages:&lt;br/&gt;
(1/4): libcouchbase2-2.0.0-1.x86_64.rpm         |  26 kB     00:00&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/rpm/5.5/x86_64/libcouchbase2-2.0.0-1.x86_64.rpm:&quot;&gt;http://packages.couchbase.com/rpm/5.5/x86_64/libcouchbase2-2.0.0-1.x86_64.rpm:&lt;/a&gt; [Errno -1] Package does not match intended download&lt;br/&gt;
Trying other mirror.&lt;br/&gt;
(2/4): libcouchbase2-libev-2.0.0-1.x86_64.rpm   |  31 kB     00:00&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/rpm/5.5/x86_64/libcouchbase2-libev-2.0.0-1.x86_64.rpm:&quot;&gt;http://packages.couchbase.com/rpm/5.5/x86_64/libcouchbase2-libev-2.0.0-1.x86_64.rpm:&lt;/a&gt; [Errno -1] Package does not match intended download&lt;br/&gt;
Trying other mirror.&lt;br/&gt;
(3/4): libcouchbase-devel-2.0.0-1.x86_64.rpm    |  52 kB     00:01&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/rpm/5.5/x86_64/libcouchbase-devel-2.0.0-1.x86_64.rpm:&quot;&gt;http://packages.couchbase.com/rpm/5.5/x86_64/libcouchbase-devel-2.0.0-1.x86_64.rpm:&lt;/a&gt; [Errno -1] Package does not match intended download&lt;br/&gt;
Trying other mirror.&lt;br/&gt;
(4/4): libcouchbase2-core-2.0.0-1.x86_64.rpm    |  82 kB     00:00&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/rpm/5.5/x86_64/libcouchbase2-core-2.0.0-1.x86_64.rpm:&quot;&gt;http://packages.couchbase.com/rpm/5.5/x86_64/libcouchbase2-core-2.0.0-1.x86_64.rpm:&lt;/a&gt; [Errno -1] Package does not match intended download&lt;br/&gt;
Trying other mirror.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Error Downloading Packages:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;libcouchbase2-2.0.0-1.x86_64: failure: libcouchbase2-2.0.0-1.x86_64.rpm from couchbase: [Errno 256] No more mirrors to try.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;libcouchbase2-core-2.0.0-1.x86_64: failure: libcouchbase2-core-2.0.0-1.x86_64.rpm from couchbase: [Errno 256] No more mirrors to try.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;libcouchbase-devel-2.0.0-1.x86_64: failure: libcouchbase-devel-2.0.0-1.x86_64.rpm from couchbase: [Errno 256] No more mirrors to try.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;libcouchbase2-libev-2.0.0-1.x86_64: failure: libcouchbase2-libev-2.0.0-1.x86_64.rpm from couchbase: [Errno 256] No more mirrors to try.</description>
                <environment>CentOS 5.8</environment>
            <key id="21124">CCBC-134</key>
            <summary>Repo refuses to download packages: &quot;Package does not match intended download&quot;</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="chuyskywalker">Jeff Minard</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Dec 2012 13:46:02 -0600</created>
                <updated>Thu, 10 Jan 2013 15:57:47 -0600</updated>
                    <resolved>Thu, 10 Jan 2013 15:57:41 -0600</resolved>
                            <version>2.0.0</version>
                                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45383" author="avsej" created="Tue, 4 Dec 2012 13:50:15 -0600"  >Could you run yum check-update, just to ensure everything in sync?</comment>
                    <comment id="45387" author="chuyskywalker" created="Tue, 4 Dec 2012 13:52:34 -0600"  >Yeah, doing &lt;br/&gt;
&lt;br/&gt;
# yum clean all&lt;br/&gt;
# yum check-update&lt;br/&gt;
&lt;br/&gt;
Shows a few out of data packages (httpd, iptables, kernel, etc) just general &amp;quot;haven&amp;#39;t updated my dev machine in a while&amp;quot; stuff. Install command still fails the same.</comment>
                    <comment id="45388" author="chuyskywalker" created="Tue, 4 Dec 2012 13:57:24 -0600"  >Possibly bad meta data? &lt;a href=&quot;http://forums.famillecollet.com/viewtopic.php?id=402&quot;&gt;http://forums.famillecollet.com/viewtopic.php?id=402&lt;/a&gt;</comment>
                    <comment id="45391" author="chuyskywalker" created="Tue, 4 Dec 2012 14:05:44 -0600"  >...aaaand now it&amp;#39;s working. Maybe the repo files were slow to update? Or perhaps you fixed it? Either way, it installed now after another round of clean &amp;amp;&amp;amp; check-update</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11409</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-133] HTTP Request hangs during failover</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-133</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>lcb_wait hangs..&lt;br/&gt;
&lt;br/&gt;
Code:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_http_request_t htreq;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_error_t lcb_err;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_err = lcb_make_http_request(handle-&amp;gt;getLcb(),&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LCB_HTTP_TYPE_VIEW,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;htcmd,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;htreq);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (lcb_err != LCB_SUCCESS) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;goto GT_ERR;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_err = lcb_wait(handle-&amp;gt;getLcb());&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf(&amp;quot;Wait returned..\n&amp;quot;);&lt;br/&gt;
&lt;br/&gt;
GDB:&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
$45 = {sock = -1275067896, io = 0x7f76b4000208, server = 0x0, instance = 0x4, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;url = 0x7f76ffffffff &amp;lt;Address 0x7f76ffffffff out of bounds&amp;gt;, nurl = 0, url_info = {field_set = 65535, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;port = 65535, field_data = {{off = 0, len = 0}, {off = 19968, len = 476}, {off = 0, len = 0}, {off = 65535, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;len = 65535}, {off = 65535, len = 65535}, {off = 337, len = 0}}}, host = 0x7f76b4000000 &amp;quot; &amp;quot;, port = 0x0, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;path = 0x8000000000 &amp;lt;Address 0x8000000000 out of bounds&amp;gt;, npath = 36, password = 0x7f76b4000b90 &amp;quot;\020&amp;quot;, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;method = LCB_HTTP_METHOD_GET, parser = 0x0, parser_settings = {on_message_begin = 0x25, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;on_url = 0x3132312e332e3031, on_header_field = 0x3231313a3830322e, on_header_value = 0x3031, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;on_headers_complete = 0x25, on_body = 0x3132312e332e3031, on_message_complete = 0x323131003830322e}, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;root_ai = 0x3031, curr_ai = 0x35, event = 0x312f2f3a70747468, chunked = 775106096, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;on_complete = 0x323930383a383032, on_data = 0x746c75616665642f, output = {root = 0x0, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;read_head = 0x35 &amp;lt;Address 0x35 out of bounds&amp;gt;, write_head = 0x3 &amp;lt;Address 0x3 out of bounds&amp;gt;, size = 7, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nbytes = 8}, input = {root = 0x7f76b400e0c0 &amp;quot;&amp;quot;, read_head = 0x0, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write_head = 0x55 &amp;lt;Address 0x55 out of bounds&amp;gt;, size = 0, nbytes = 0}, result = {root = 0x0, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;read_head = 0x0, write_head = 0x0, size = 0, nbytes = 0}, command_cookie = 0x0, cancelled = 0, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;completed = 0, headers_list = 0x25, headers = 0x3132312e332e3031, nheaders = 4120855481762722350}&lt;br/&gt;
(gdb) frame 4&lt;br/&gt;
#4  0x00007f76ce7340a3 in lcb_wait (instance=0x1dd9580) at src/wait.c:112&lt;br/&gt;
112             instance-&amp;gt;io-&amp;gt;v.v0.run_event_loop(instance-&amp;gt;io);&lt;br/&gt;
(gdb) print *instance &lt;br/&gt;
$46 = {type = LCB_TYPE_BUCKET, host = &amp;quot;10.3.121.212\000\070\060\071\061&amp;quot;, &amp;#39;\000&amp;#39; &amp;lt;repeats 1008 times&amp;gt;, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;port = &amp;quot;8091&amp;quot;, &amp;#39;\000&amp;#39; &amp;lt;repeats 28 times&amp;gt;, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;http_uri = 0x1dd14a0 &amp;quot;GET /pools/default/bucketsStreaming/default HTTP/1.1\r\nAuthorization: Basic QWRtaW5pc3RyYXRvcjoxMjM0NTY=\r\n\r\n&amp;quot;, n_http_uri_sent = 107, event = 0x1dd8900, vbucket_config = 0x7f76b4003760, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;vbucket_stream = {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header = 0x1dd7fb0 &amp;quot;HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\nServer: Couchbase Server 2.0.0-1956-rel-enterprise\r\nPragma: no-cache\r\nDate: Sun, 02 Dec 2012 16:58:58 GMT\r\nContent-Type: application/json; charset=utf-8\r\nC&amp;quot;..., input = {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data = 0x1ddca90 &amp;quot;{\&amp;quot;name\&amp;quot;:\&amp;quot;default\&amp;quot;,\&amp;quot;bucketType\&amp;quot;:\&amp;quot;membase\&amp;quot;,\&amp;quot;authType\&amp;quot;:\&amp;quot;sasl\&amp;quot;,\&amp;quot;saslPassword\&amp;quot;:\&amp;quot;\&amp;quot;,\&amp;quot;proxyPort\&amp;quot;:0,\&amp;quot;replicaIndex\&amp;quot;:false,\&amp;quot;uri\&amp;quot;:\&amp;quot;/pools/default/buckets/default?bucket_uuid=0535828b5b9f231994f876e3b4299956\&amp;quot;,\&amp;quot;str&amp;quot;..., size = 4096, avail = 0}, chunk_size = 18446744073709551615, chunk = {&lt;br/&gt;
</description>
                <environment></environment>
            <key id="21067">CCBC-133</key>
            <summary>HTTP Request hangs during failover</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Sun, 2 Dec 2012 17:24:46 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:23 -0600</updated>
                    <resolved>Mon, 3 Dec 2012 16:40:14 -0600</resolved>
                            <version>2.0.0</version>
                                <fixVersion>2.0.1</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45234" author="mnunberg" created="Mon, 3 Dec 2012 12:10:49 -0600"  >#0  0x00007ffff69ea475 in *__GI_raise (sig=&amp;lt;optimized out&amp;gt;)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at ../nptl/sysdeps/unix/sysv/linux/raise.c:64&lt;br/&gt;
#1  0x00007ffff69ed6f0 in *__GI_abort () at abort.c:92&lt;br/&gt;
#2  0x00007ffff74e66f6 in lcb_http_request_destroy (req=0x64e4e0) at src/http.c:39&lt;br/&gt;
#3  0x00007ffff74eef00 in lcb_server_destroy (server=0x620b10) at src/server.c:403&lt;br/&gt;
#4  0x00007ffff74ead8b in lcb_update_serverlist (instance=0x61b2b0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at src/instance.c:596&lt;br/&gt;
#5  0x00007ffff74ebaea in vbucket_stream_handler (sock=28, which=2, arg=0x61b2b0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at src/instance.c:970&lt;br/&gt;
#6  0x00007ffff5d7cccc in event_base_loop ()&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;from /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5&lt;br/&gt;
#7  0x00007ffff4f60537 in lcb_io_run_event_loop (iops=0x61a570)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at plugins/io/libevent/plugin-libevent.c:320&lt;br/&gt;
#8  0x00007ffff74f269f in lcb_wait (instance=0x61b2b0) at src/wait.c:112&lt;br/&gt;
#9  0x00007ffff7bbe5c9 in CBSdkd::ViewExecutor::runSingleView (&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this=0x7ffff475c710, htcmd=0x7ffff475c5a0) at ViewExecutor.cpp:255&lt;br/&gt;
#10 0x00007ffff7bbe9c0 in CBSdkd::ViewExecutor::executeView (this=0x7ffff475c710, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cmd=..., out=..., options=..., req=...) at ViewExecutor.cpp:310&lt;br/&gt;
#11 0x00007ffff7bb2c49 in CBSdkd::WorkerDispatch::_process_request (&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this=0x61a0b0, req=..., rs=0x61a480) at IODispatch.cpp:548&lt;br/&gt;
#12 0x00007ffff7bb3574 in CBSdkd::WorkerDispatch::run (this=0x61a0b0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at IODispatch.cpp:634&lt;br/&gt;
#13 0x00007ffff7bb0c4a in CBSdkd::new_worker_thread (worker=0x61a0b0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at IODispatch.cpp:216&lt;br/&gt;
#14 0x00007ffff7952b50 in start_thread (arg=&amp;lt;optimized out&amp;gt;)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at pthread_create.c:304&lt;br/&gt;
#15 0x00007ffff6a9070d in clone ()&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112&lt;br/&gt;
#16 0x0000000000000000 in ?? ()&lt;br/&gt;
(gdb) &lt;br/&gt;
</comment>
                    <comment id="45235" author="mnunberg" created="Mon, 3 Dec 2012 12:11:15 -0600"  >^^^ Request is destroyed and the event loop is not properly stopped..</comment>
                    <comment id="45281" author="mnunberg" created="Mon, 3 Dec 2012 16:40:14 -0600"  >&lt;a href=&quot;https://github.com/couchbase/libcouchbase/commit/e37a9fab6d8ae7f556082a339cd8561ec1e93f32&quot;&gt;https://github.com/couchbase/libcouchbase/commit/e37a9fab6d8ae7f556082a339cd8561ec1e93f32&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8635</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-132] Making http request to ECONNREFUSED node seems to loop forever...</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-132</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>To reproduce, simply try to issue a raw request to say, &amp;quot;localhost:2&amp;quot;</description>
                <environment></environment>
            <key id="21020">CCBC-132</key>
            <summary>Making http request to ECONNREFUSED node seems to loop forever...</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Fri, 30 Nov 2012 01:28:59 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:23 -0600</updated>
                    <resolved>Mon, 3 Dec 2012 16:40:33 -0600</resolved>
                            <version>2.0.0</version>
                                <fixVersion>2.0.1</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45057" author="mnunberg" created="Fri, 30 Nov 2012 01:31:28 -0600"  >static void&lt;br/&gt;
test_refused(lcb_t handle)&lt;br/&gt;
{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_http_cmd_t cmd;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_http_request_t req;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memset(&amp;amp;cmd, 0, sizeof(cmd));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cmd.version = 1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OV1(&amp;amp;cmd).host = &amp;quot;127.0.0.1:2&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OV1(&amp;amp;cmd).path = &amp;quot;/&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OV1(&amp;amp;cmd).npath = 1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OV1(&amp;amp;cmd).content_type = &amp;quot;application/json&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OV1(&amp;amp;cmd).method = LCB_HTTP_METHOD_GET;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_error_t err;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;err = lcb_make_http_request(handle, NULL, LCB_HTTP_TYPE_RAW, &amp;amp;cmd, &amp;amp;req);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert(err == LCB_SUCCESS);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_wait(handle);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf(&amp;quot;Wait done..\n&amp;quot;);&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&apos;mailto:mnunberg@csure&apos;&gt;mnunberg@csure&lt;/a&gt;:~/src/sdkd-cpp/src/views$ time ./test &lt;br/&gt;
^C&lt;br/&gt;
&lt;br/&gt;
real    1m37.361s&lt;br/&gt;
user    0m9.861s&lt;br/&gt;
sys     1m27.213s&lt;br/&gt;
&lt;a href=&apos;mailto:mnunberg@csure&apos;&gt;mnunberg@csure&lt;/a&gt;:~/src/sdkd-cpp/src/views$ &lt;br/&gt;
</comment>
                    <comment id="45058" author="mnunberg" created="Fri, 30 Nov 2012 01:32:30 -0600"  >not really &amp;quot;blocking&amp;quot; me.. but this is a fatal issue..</comment>
                    <comment id="45282" author="mnunberg" created="Mon, 3 Dec 2012 16:40:33 -0600"  >&lt;a href=&quot;https://github.com/couchbase/libcouchbase/commit/e37a9fab6d8ae7f556082a339cd8561ec1e93f32&quot;&gt;https://github.com/couchbase/libcouchbase/commit/e37a9fab6d8ae7f556082a339cd8561ec1e93f32&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8636</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-131] Views sometimes failing if all nodes lack couchApiBase</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-131</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>LCB_NOT_SUPPORTED is returned.</description>
                <environment></environment>
            <key id="21015">CCBC-131</key>
            <summary>Views sometimes failing if all nodes lack couchApiBase</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Thu, 29 Nov 2012 20:03:27 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:24 -0600</updated>
                    <resolved>Tue, 4 Dec 2012 12:07:44 -0600</resolved>
                            <version>2.0.0beta3</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45059" author="mnunberg" created="Fri, 30 Nov 2012 01:35:23 -0600"  >&lt;a href=&quot;http://review.couchbase.org/22918&quot;&gt;http://review.couchbase.org/22918&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8643</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-130] Memory leak on header responses..</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-130</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memset(&amp;amp;htcmd, 0, sizeof(htcmd));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OV1(&amp;amp;htcmd).content_type = &amp;quot;application/json&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OV1(&amp;amp;htcmd).path = vqstr;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OV1(&amp;amp;htcmd).npath = strlen(vqstr);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OV1(&amp;amp;htcmd).chunked = 1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OV1(&amp;amp;htcmd).method = LCB_HTTP_METHOD_GET;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rctx-&amp;gt;callback = my_vr_callback;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_set_http_data_callback(instance, http_data_callback);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;err = lcb_make_http_request(instance,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rctx,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LCB_HTTP_TYPE_VIEW,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;htcmd,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;htreq);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert(err == LCB_SUCCESS);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf(&amp;quot;Waiting for request..\n&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;err = lcb_wait(instance);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assert (err == LCB_SUCCESS);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;printf(&amp;quot;Got query string: %s\n&amp;quot;, vqstr);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;free(vqstr);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_vopt_cleanup_list(&amp;amp;vopt_list, num_options, 1);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;free(vopt_list);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_vrow_free(rctx);&lt;br/&gt;
&lt;br/&gt;
/**********************************************************/&lt;br/&gt;
&lt;a href=&apos;mailto:mnunberg@csure&apos;&gt;mnunberg@csure&lt;/a&gt;:~/src/sdkd-cpp/src/views$ valgrind --leak-check=full ./test &lt;br/&gt;
==31887== Memcheck, a memory error detector&lt;br/&gt;
==31887== Copyright (C) 2002-2011, and GNU GPL&amp;#39;d, by Julian Seward et al.&lt;br/&gt;
==31887== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info&lt;br/&gt;
==31887== Command: ./test&lt;br/&gt;
==31887== &lt;br/&gt;
Waiting for request..&lt;br/&gt;
Got callback..&lt;br/&gt;
Got status 404&lt;br/&gt;
Parsing bytes &amp;#39;{&amp;quot;error&amp;quot;:&amp;quot;not_found&amp;quot;,&amp;quot;reason&amp;quot;:&amp;quot;Design document _design/design_doc not found&amp;quot;}&lt;br/&gt;
&amp;#39;&lt;br/&gt;
Got query string: _design/design_doc/_view/view_doc?stale=false&amp;amp;limit=150&amp;amp;debug=true&lt;br/&gt;
==31887== &lt;br/&gt;
==31887== HEAP SUMMARY:&lt;br/&gt;
==31887==     in use at exit: 1,915 bytes in 18 blocks&lt;br/&gt;
==31887==   total heap usage: 3,349 allocs, 3,331 frees, 305,322 bytes allocated&lt;br/&gt;
==31887== &lt;br/&gt;
==31887== 254 (88 direct, 166 indirect) bytes in 1 blocks are definitely lost in loss record 8 of 10&lt;br/&gt;
==31887==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)&lt;br/&gt;
==31887==    by 0x4E375FE: http_parser_headers_complete_cb (http.c:101)&lt;br/&gt;
==31887==    by 0x4E463ED: http_parser_execute (http_parser.c:1602)&lt;br/&gt;
==31887==    by 0x4E37D11: request_do_read (http.c:262)&lt;br/&gt;
==31887==    by 0x4E37F07: request_event_handler (http.c:320)&lt;br/&gt;
==31887==    by 0x6090CCB: ???&lt;br/&gt;
==31887==    by 0x5E7F536: ???&lt;br/&gt;
==31887==    by 0x4E4301E: lcb_wait (wait.c:112)&lt;br/&gt;
==31887==    by 0x4015A0: schedule_http (main.c:139)&lt;br/&gt;
==31887==    by 0x401B20: main (main.c:304)&lt;br/&gt;
==31887== &lt;br/&gt;
==31887== LEAK SUMMARY:&lt;br/&gt;
==31887==    definitely lost: 88 bytes in 1 blocks&lt;br/&gt;
==31887==    indirectly lost: 166 bytes in 10 blocks&lt;br/&gt;
==31887==      possibly lost: 0 bytes in 0 blocks&lt;br/&gt;
==31887==    still reachable: 1,661 bytes in 7 blocks&lt;br/&gt;
==31887==         suppressed: 0 bytes in 0 blocks&lt;br/&gt;
==31887== Reachable blocks (those to which a pointer was found) are not shown.&lt;br/&gt;
==31887== To see them, rerun with: --leak-check=full --show-reachable=yes&lt;br/&gt;
==31887== &lt;br/&gt;
==31887== For counts of detected and suppressed errors, rerun with: -v&lt;br/&gt;
==31887== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 10 from 6)&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
==6220== HEAP SUMMARY:&lt;br/&gt;
==6220==     in use at exit: 1,923 bytes in 18 blocks&lt;br/&gt;
==6220==   total heap usage: 3,349 allocs, 3,331 frees, 427,889 bytes allocated&lt;br/&gt;
==6220== &lt;br/&gt;
==6220== 262 (88 direct, 174 indirect) bytes in 1 blocks are definitely lost in loss record 8 of 10&lt;br/&gt;
==6220==    at 0x4C272B8: calloc (vg_replace_malloc.c:566)&lt;br/&gt;
==6220==    by 0x4E375FE: http_parser_headers_complete_cb (http.c:101)&lt;br/&gt;
==6220==    by 0x4E4644D: http_parser_execute (http_parser.c:1602)&lt;br/&gt;
==6220==    by 0x4E37D11: request_do_read (http.c:262)&lt;br/&gt;
==6220==    by 0x4E37F07: request_event_handler (http.c:320)&lt;br/&gt;
==6220==    by 0x6090CCB: ???&lt;br/&gt;
==6220==    by 0x5E7F536: ???&lt;br/&gt;
==6220==    by 0x4E4307E: lcb_wait (wait.c:112)&lt;br/&gt;
==6220==    by 0x40158B: schedule_http (main.c:140)&lt;br/&gt;
==6220==    by 0x401AF5: main (main.c:305)&lt;br/&gt;
==6220== &lt;br/&gt;
==6220== LEAK SUMMARY:&lt;br/&gt;
==6220==    definitely lost: 88 bytes in 1 blocks&lt;br/&gt;
==6220==    indirectly lost: 174 bytes in 10 blocks&lt;br/&gt;
==6220==      possibly lost: 0 bytes in 0 blocks&lt;br/&gt;
==6220==    still reachable: 1,661 bytes in 7 blocks&lt;br/&gt;
==6220==         suppressed: 0 bytes in 0 blocks&lt;br/&gt;
==6220== Reachable blocks (those to which a pointer was found) are not shown.&lt;br/&gt;
==6220== To see them, rerun with: --leak-check=full --show-reachable=yes&lt;br/&gt;
==6220== &lt;br/&gt;
==6220== For counts of detected and suppressed errors, rerun with: -v&lt;br/&gt;
==6220== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 10 from 6)&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>lcb 2.0.0</environment>
            <key id="21014">CCBC-130</key>
            <summary>Memory leak on header responses..</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Thu, 29 Nov 2012 19:10:04 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:21 -0600</updated>
                    <resolved>Sat, 8 Dec 2012 00:04:19 -0600</resolved>
                            <version>2.0.0beta3</version>
                                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45050" author="mnunberg" created="Fri, 30 Nov 2012 00:04:41 -0600"  >Yes, apparently this just leaks. It seems to happen on errors, chunked responses, and non-chunked responses..</comment>
                    <comment id="45060" author="mnunberg" created="Fri, 30 Nov 2012 01:35:57 -0600"  >&lt;a href=&quot;http://review.couchbase.org/#/c/22922/&quot;&gt;http://review.couchbase.org/#/c/22922/&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8627</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-129] Add libevent support for win32</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-129</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>I created a NMakefile and made changes to the code to support libevent on windows.&lt;br/&gt;
&lt;br/&gt;
Files affected:&lt;br/&gt;
iofactory.c&lt;br/&gt;
plugin-libevent.c&lt;br/&gt;
&lt;br/&gt;
New file:&lt;br/&gt;
NMakefile.libevent&lt;br/&gt;
&lt;br/&gt;
I uploaded a zipfile of the changes if you are interested in merging them.</description>
                <environment></environment>
            <key id="20864">CCBC-129</key>
            <summary>Add libevent support for win32</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="brettharrison">Brett Harrison</reporter>
                        <labels>
                    </labels>
                <created>Tue, 20 Nov 2012 17:29:44 -0600</created>
                <updated>Wed, 21 Nov 2012 12:53:20 -0600</updated>
                                    <version>2.0.0beta2</version>
                                                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="44517" author="avsej" created="Wed, 21 Nov 2012 02:03:12 -0600"  >it would be awesome if you can move your patch to our review system. &lt;a href=&quot;http://review.couchbase.com&quot;&gt;http://review.couchbase.com&lt;/a&gt;</comment>
                    <comment id="44571" author="brettharrison" created="Wed, 21 Nov 2012 12:46:49 -0600"  >Is there a guild on how to use the review system?  If you can explain the steps I&amp;#39;ll upload the patch.</comment>
                    <comment id="44572" author="ingenthr" created="Wed, 21 Nov 2012 12:50:48 -0600"  >It&amp;#39;s roughly &lt;a href=&quot;http://www.couchbase.com/wiki/display/couchbase/Contributing+Changes&quot;&gt;http://www.couchbase.com/wiki/display/couchbase/Contributing+Changes&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Repo tool isn&amp;#39;t required for this project though</comment>
                    <comment id="44574" author="ingenthr" created="Wed, 21 Nov 2012 12:53:20 -0600"  >Also, Brett: saw your CLA on review.couchbase.org and you&amp;#39;re all set.</comment>
                </comments>
                    <attachments>
                    <attachment id="15850" name="win32libevent.zip" size="7900" author="brettharrison" created="Tue, 20 Nov 2012 17:29:44 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11333</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-128] Allow semi-static bootstrapping</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-128</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>I&amp;#39;m marking this as critical because many folks seem to frown upon the high delays (read http connection latency) when establishing a new couchbase client.&lt;br/&gt;
&lt;br/&gt;
In this case, this would be a constructor option available for lcb_create which will accept an opaque &amp;#39;map file&amp;#39;. This &amp;#39;map file&amp;#39; will really just be a dump of a vbucket configuration. What makes this different from compat mode is that the clients will bootstrap when a network error or timeout occurs.&lt;br/&gt;
&lt;br/&gt;
However in the normal model of spawn -&amp;gt; mc operation, where the cluster config is fairly static, there is no need for the latency induced by an extra http connection.&lt;br/&gt;
&lt;br/&gt;
We&amp;#39;d need to implement file-locking semantics to write to this file (we&amp;#39;d maybe just ask for a path to read/write the config to/from, perhaps checking the timestamp, too).. as we&amp;#39;d have multiple clients trying to read/write to this. This is simple enough in Unix&lt;br/&gt;
&lt;br/&gt;
This is in conjunction with a different discussion regarding how to best handle re-bootstrapping, where it was suggested that we really don&amp;#39;t need the bootstrap connection in the first place.&lt;br/&gt;
&lt;br/&gt;
There are inherent risks involved with this approach, for example, if one specifies the wrong nodes, then we only know about this during the re-bootstrap.</description>
                <environment></environment>
            <key id="20850">CCBC-128</key>
            <summary>Allow semi-static bootstrapping</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 19 Nov 2012 22:38:26 -0600</created>
                <updated>Tue, 5 Mar 2013 16:08:38 -0600</updated>
                                    <version>2.0.0beta2</version>
                                <fixVersion>2.1.0</fixVersion>
                                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="44401" author="ingenthr" created="Mon, 19 Nov 2012 23:30:55 -0600"  >I&amp;#39;m certainly not opposed to this idea, but I&amp;#39;m not sure about it being at the critical level.  I do think it&amp;#39;d have to be portable though.  &lt;br/&gt;
&lt;br/&gt;
Sergey, what do you think?  Is this a hotly needed feature?</comment>
                    <comment id="44474" author="avsej" created="Tue, 20 Nov 2012 15:04:56 -0600"  >Frankly speaking I don&amp;#39;t understand the benefit from dumping some configuration to the disk. It might be better to implement lcb_reconnect() and in this case the user just won&amp;#39;t destroy lcb_t internal structs and reuse previous in-memory config.</comment>
                    <comment id="44477" author="mnunberg" created="Tue, 20 Nov 2012 15:38:45 -0600"  >This is for performance enhancements, it&amp;#39;s not directly related to failures, but can increase speed for some use cases dramatically, as it cuts out a lot of latency.&lt;br/&gt;
&lt;br/&gt;
The idea is that the node map is static, so we don&amp;#39;t need to have the initial HTTP connection.&lt;br/&gt;
&lt;br/&gt;
If you really want to be inventive, this can also use POSIX IPC instead of actual &amp;#39;disk&amp;#39; (i.e. define a common shm path). The idea here in any event is to not depend so heavily on the REST connection in normal non-failure situations.</comment>
                    <comment id="44480" author="ingenthr" created="Tue, 20 Nov 2012 16:22:06 -0600"  >While I think this makes sense, I do believe it can be deferred.</comment>
                    <comment id="50322" author="ingenthr" created="Wed, 13 Feb 2013 14:48:39 -0600"  >Let&amp;#39;s see about this in the near future Sergey.  We can discuss in our next sync up.&lt;br/&gt;
</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8814</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-127] libvbucket RPM is missing /usr/lib64/libvbucket.la file</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-127</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The libvbucket1 rpm does not include the libvbucket.la file. The libcouchbase.la file references libvbucket.la as a dependency.&lt;br/&gt;
&lt;br/&gt;
Linking via libtool against libcouchbase fails because of this. For example, compiling the php-ext-couchbase package fails like:&lt;br/&gt;
&lt;br/&gt;
/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&lt;br/&gt;
grep: /usr/lib64/libvbucket.la: No such file or directory&lt;br/&gt;
/bin/sed: can&amp;#39;t read /usr/lib64/libvbucket.la: No such file or directory&lt;br/&gt;
libtool: link: `/usr/lib64/libvbucket.la&amp;#39; is not a valid libtool archive&lt;br/&gt;
make: *** [couchbase.la] Error 1&lt;br/&gt;
&lt;br/&gt;
I created a fake libvbucket.la by copying /usr/lib64/libcouchbase.la and editing it, and it allowed the compile to succeed.&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>libvbucket1-1.8.0.4-1&lt;br/&gt;
centos 5.5 couchbase repo&lt;br/&gt;
x86_64</environment>
            <key id="20816">CCBC-127</key>
            <summary>libvbucket RPM is missing /usr/lib64/libvbucket.la file</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Fri, 16 Nov 2012 17:51:51 -0600</created>
                <updated>Fri, 16 Nov 2012 17:51:51 -0600</updated>
                                    <version>1.0</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11115</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-126] Failed to create IO Instance error.</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-126</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>This is the php used when getting the error:&lt;br/&gt;
&lt;br/&gt;
&amp;lt;?php&lt;br/&gt;
$cb = new Couchbase(&amp;quot;localhost:8091&amp;quot;, &amp;quot;Administrator&amp;quot;, &amp;quot;password&amp;quot;, &amp;quot;default&amp;quot;);&lt;br/&gt;
$cb-&amp;gt;set(&amp;quot;a&amp;quot;, 1);&lt;br/&gt;
var_dump($cb-&amp;gt;get(&amp;quot;a&amp;quot;));&lt;br/&gt;
?&amp;gt;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
---------------------------&lt;br/&gt;
ERROR&lt;br/&gt;
----------------------------&lt;br/&gt;
&lt;br/&gt;
PHP Warning:  Couchbase::__construct(): failed to create IO instance in /var/www/test_couchbase.php on line 3&lt;br/&gt;
</description>
                <environment>- CentOS release 5.4 (Final)&lt;br/&gt;
- PHP 5.3.18&lt;br/&gt;
&lt;br/&gt;
and&lt;br/&gt;
&lt;br/&gt;
Latest Basic Amazon AMI 64 bit (3.2.30-49.59.amzn1.x86_64) --&amp;gt; &lt;a href=&quot;http://aws.amazon.com/amazon-linux-ami/&quot;&gt;http://aws.amazon.com/amazon-linux-ami/&lt;/a&gt;&lt;br/&gt;
</environment>
            <key id="20453">CCBC-126</key>
            <summary>Failed to create IO Instance error.</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="PaulB">Paul B</reporter>
                        <labels>
                        <label>php</label>
                    </labels>
                <created>Sat, 27 Oct 2012 01:35:01 -0500</created>
                <updated>Wed, 21 Nov 2012 07:51:07 -0600</updated>
                    <resolved>Tue, 20 Nov 2012 14:55:54 -0600</resolved>
                            <version>2.0.0beta2</version>
                                <fixVersion>2.0.0beta3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="42714" author="ingenthr" created="Sun, 28 Oct 2012 19:07:37 -0500"  >Sergey: I believe this is caused by a problem with the new packaging.  Amazon Linux doesn&amp;#39;t install an event backend by default for libcouchbase.  Can you look into this?</comment>
                    <comment id="42734" author="chuyskywalker" created="Mon, 29 Oct 2012 11:20:50 -0500"  >I had the same in centos5. Base on your suggestion Matt, I ran&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sudo yum install libcouchbase2-libevent.x86_64&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
and the error went away.</comment>
                    <comment id="42874" author="PaulB" created="Tue, 30 Oct 2012 14:39:05 -0500"  >Jeff Minard:&lt;br/&gt;
&lt;br/&gt;
I currently have &lt;br/&gt;
libevent-2.0.18-1.9.amzn1.x86_64 &lt;br/&gt;
libevent-devel-2.0.18-1.9.amzn1.x86_64 &lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;when I try install that I get this error:&lt;br/&gt;
&lt;br/&gt;
Setting up Install Process&lt;br/&gt;
Resolving Dependencies&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package libcouchbase2-libevent.x86_64 0:2.0.0beta2-1 will be installed&lt;br/&gt;
--&amp;gt; Processing Dependency: libevent-1.4.so.2()(64bit) for package: libcouchbase2-libevent-2.0.0beta2-1.x86_64&lt;br/&gt;
--&amp;gt; Finished Dependency Resolution&lt;br/&gt;
Error: Package: libcouchbase2-libevent-2.0.0beta2-1.x86_64 (couchbase)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Requires: libevent-1.4.so.2()(64bit)&lt;br/&gt;
&amp;nbsp;You could try using --skip-broken to work around the problem&lt;br/&gt;
&amp;nbsp;You could try running: rpm -Va --nofiles --nodigest&lt;br/&gt;
&lt;br/&gt;
Does anyone know where to get this file as I cannot seem to locate it.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="42875" author="avsej" created="Tue, 30 Oct 2012 14:42:15 -0500"  >Could you please point where amazon said that amazon latest ami is centos 5.5? We doesn&amp;#39;t build RPMs for amazon AMI. You should install libcouchbase from sources.</comment>
                    <comment id="42876" author="avsej" created="Tue, 30 Oct 2012 14:51:34 -0500"  >You should use only official centos packages (5.5 for example has only libevent1)&lt;br/&gt;
&lt;br/&gt;
[&lt;a href=&apos;mailto:root@ip-10-28-193-82&apos;&gt;root@ip-10-28-193-82&lt;/a&gt; ~]# yum install libcouchbase2-libevent&lt;br/&gt;
Loaded plugins: fastestmirror&lt;br/&gt;
Loading mirror speeds from cached hostfile&lt;br/&gt;
&amp;nbsp;* base: mirror.us.leaseweb.net&lt;br/&gt;
&amp;nbsp;* extras: mirror.cogentco.com&lt;br/&gt;
&amp;nbsp;* updates: mirror.cogentco.com&lt;br/&gt;
Setting up Install Process&lt;br/&gt;
Resolving Dependencies&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package libcouchbase2-libevent.i386 0:2.0.0beta2-1 set to be updated&lt;br/&gt;
--&amp;gt; Processing Dependency: libcouchbase2 for package: libcouchbase2-libevent&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package libcouchbase2.i386 0:2.0.0beta2-1 set to be updated&lt;br/&gt;
--&amp;gt; Finished Dependency Resolution&lt;br/&gt;
&lt;br/&gt;
Dependencies Resolved&lt;br/&gt;
&lt;br/&gt;
=========================================================================================================================================================================&lt;br/&gt;
&amp;nbsp;Package                                           Arch                            Version                                    Repository                            Size&lt;br/&gt;
=========================================================================================================================================================================&lt;br/&gt;
Installing:&lt;br/&gt;
&amp;nbsp;libcouchbase2-libevent                            i386                            2.0.0beta2-1                               couchbase                             28 k&lt;br/&gt;
Installing for dependencies:&lt;br/&gt;
&amp;nbsp;libcouchbase2                                     i386                            2.0.0beta2-1                               couchbase                             81 k&lt;br/&gt;
&lt;br/&gt;
Transaction Summary&lt;br/&gt;
=========================================================================================================================================================================&lt;br/&gt;
Install       2 Package(s)&lt;br/&gt;
Upgrade       0 Package(s)&lt;br/&gt;
&lt;br/&gt;
Total download size: 109 k&lt;br/&gt;
Is this ok [y/N]: y&lt;br/&gt;
Downloading Packages:&lt;br/&gt;
(1/2): libcouchbase2-libevent-2.0.0beta2-1.i386.rpm                                                                                               |  28 kB     00:00     &lt;br/&gt;
(2/2): libcouchbase2-2.0.0beta2-1.i386.rpm                                                                                                        |  81 kB     00:00     &lt;br/&gt;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br/&gt;
Total                                                                                                                                    374 kB/s | 109 kB     00:00     &lt;br/&gt;
Running rpm_check_debug&lt;br/&gt;
Running Transaction Test&lt;br/&gt;
Finished Transaction Test&lt;br/&gt;
Transaction Test Succeeded&lt;br/&gt;
Running Transaction&lt;br/&gt;
&amp;nbsp;&amp;nbsp;Installing     : libcouchbase2-libevent                                                                                                                            1/2 &lt;br/&gt;
&amp;nbsp;&amp;nbsp;Installing     : libcouchbase2                                                                                                                                     2/2 &lt;br/&gt;
&lt;br/&gt;
Installed:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;libcouchbase2-libevent.i386 0:2.0.0beta2-1                                                                                                                             &lt;br/&gt;
&lt;br/&gt;
Dependency Installed:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;libcouchbase2.i386 0:2.0.0beta2-1                                                                                                                                      &lt;br/&gt;
&lt;br/&gt;
Complete!&lt;br/&gt;
</comment>
                    <comment id="42877" author="avsej" created="Tue, 30 Oct 2012 14:57:54 -0500"  >curl -s &lt;a href=&quot;http://vault.centos.org/5.5/os/i386/CentOS/&quot;&gt;http://vault.centos.org/5.5/os/i386/CentOS/&lt;/a&gt; | grep libevent</comment>
                    <comment id="44197" author="ingenthr" created="Fri, 16 Nov 2012 11:45:58 -0600"  >Sergey: you marked this one as resolved, but did not indicate what the resolution was.  Is the resolution &amp;quot;workaround, please use libevent1?&amp;quot;.  &lt;br/&gt;
&lt;br/&gt;
Please clarify and change the state.</comment>
                    <comment id="44469" author="avsej" created="Tue, 20 Nov 2012 14:54:13 -0600"  >Yes, all RPM systems where we are building _binary_ packages have only libevent1, therefore if someone decided to install libevent2, he should either install libcouchbase from tarball, or make his own RPM packages using &amp;#39;make dist-rpm&amp;#39; target</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10069</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-125] Man page for cbc does not describe the new -f argument for cbc hash</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-125</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="20729">CCBC-125</key>
            <summary>Man page for cbc does not describe the new -f argument for cbc hash</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Wed, 14 Nov 2012 00:34:11 -0600</created>
                <updated>Mon, 3 Dec 2012 05:37:18 -0600</updated>
                    <resolved>Wed, 14 Nov 2012 02:47:09 -0600</resolved>
                                            <fixVersion>2.0.0</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10113</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-124] cbc hash shows incorrect replica bucket host</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-124</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>cbc hash --host &amp;lt;my host&amp;gt; &amp;lt;my key&amp;gt;                     &lt;br/&gt;
&amp;quot;&amp;lt;my key&amp;gt;&amp;quot;	vBucket:931 Server:&amp;quot;172.16.10.119:11210&amp;quot; Replicas:&amp;quot;172.16.10.119:11210&amp;quot;&lt;br/&gt;
&lt;br/&gt;
attaching the vbucket map from that host</description>
                <environment></environment>
            <key id="20710">CCBC-124</key>
            <summary>cbc hash shows incorrect replica bucket host</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="chadkouse">Chad Kouse</reporter>
                        <labels>
                    </labels>
                <created>Tue, 13 Nov 2012 11:14:07 -0600</created>
                <updated>Wed, 21 Nov 2012 07:51:07 -0600</updated>
                    <resolved>Thu, 15 Nov 2012 04:24:56 -0600</resolved>
                                            <fixVersion>2.0.0beta3</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="43898" author="avsej" created="Tue, 13 Nov 2012 11:16:07 -0600"  >could you tell what key you are trying?</comment>
                    <comment id="43899" author="chadkouse" created="Tue, 13 Nov 2012 11:17:57 -0600"  >cbc hash --host mem16.shared.day1.tunewiki.net tw:twobbleitem:1:1352759847634412209       &lt;br/&gt;
&amp;quot;tw:twobbleitem:1:1352759847634412209&amp;quot;	vBucket:931 Server:&amp;quot;172.16.10.119:11210&amp;quot; Replicas:&amp;quot;172.16.10.119:11210&amp;quot;</comment>
                    <comment id="43901" author="chadkouse" created="Tue, 13 Nov 2012 11:41:10 -0600"  >vbuckettool output for the same key:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&apos;mailto:elliott@mem16&apos;&gt;elliott@mem16&lt;/a&gt;:/opt/couchbase/bin$ curl &lt;a href=&quot;http://localhost:8091/pools/default/buckets/default&quot;&gt;http://localhost:8091/pools/default/buckets/default&lt;/a&gt; | ./vbuckettool - tw:twobbleitem:1:1352759847634412209&lt;br/&gt;
&amp;nbsp;&amp;nbsp;% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dload  Upload   Total   Spent    Left  Speed&lt;br/&gt;
100 17071  100 17071    0     0   397k      0 --:--:-- --:--:-- --:--:--  416k&lt;br/&gt;
key: tw:twobbleitem:1:1352759847634412209 master: 172.16.10.119:11210 vBucketId: 931 couchApiBase: (null) replicas: 172.16.10.123:11210&lt;br/&gt;
&lt;a href=&apos;mailto:elliott@mem16&apos;&gt;elliott@mem16&lt;/a&gt;:/opt/couchbase/bin$ curl &lt;a href=&quot;http://mem12.shared.day1.tunewiki.net:8091/pools/default/buckets/default&quot;&gt;http://mem12.shared.day1.tunewiki.net:8091/pools/default/buckets/default&lt;/a&gt; | ./vbuckettool - tw:twobbleitem:1:1352759847634412209&lt;br/&gt;
&amp;nbsp;&amp;nbsp;% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dload  Upload   Total   Spent    Left  Speed&lt;br/&gt;
100 17095  100 17095    0     0  20907      0 --:--:-- --:--:-- --:--:-- 20949&lt;br/&gt;
key: tw:twobbleitem:1:1352759847634412209 master: 172.16.10.119:11210 vBucketId: 931 couchApiBase: (null) replicas: 172.16.10.123:11210</comment>
                    <comment id="43911" author="avsej" created="Tue, 13 Nov 2012 13:30:24 -0600"  >fix &lt;a href=&quot;http://review.couchbase.org/22488&quot;&gt;http://review.couchbase.org/22488&lt;/a&gt;</comment>
                    <comment id="43913" author="avsej" created="Tue, 13 Nov 2012 13:34:57 -0600"  >the fix was trivial, cbc tool just picked wrong server index</comment>
                </comments>
                    <attachments>
                    <attachment id="15793" name="vbucketmap" size="17019" author="chadkouse" created="Tue, 13 Nov 2012 11:14:07 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11410</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-123] Client does not skip over unreachable nodes</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-123</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>In some recent testing, I found that the client does not skip over the array to find a reachable node. For example when I&amp;#39;m running one on localhost, this fails:&lt;br/&gt;
&lt;br/&gt;
&amp;lt;?php&lt;br/&gt;
&lt;br/&gt;
$hosts = array(&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;1.2.3.4&amp;#39;,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;127.0.0.1&amp;#39;&lt;br/&gt;
);&lt;br/&gt;
$client = new Couchbase($hosts, &amp;quot;default&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;default&amp;quot;);&lt;br/&gt;
&lt;br/&gt;
?&amp;gt;&lt;br/&gt;
&lt;br/&gt;
Of course, when I leave out the first one it works. And it works too if I put the localhost before the invalid node.&lt;br/&gt;
&lt;br/&gt;
Here is the libcouchbase error:&lt;br/&gt;
&lt;br/&gt;
Warning: Failed to establish libcouchbase connection to server: Connection failure&lt;br/&gt;
&lt;br/&gt;
Hopefully this should be easy to reproduce!</description>
                <environment></environment>
            <key id="20679">CCBC-123</key>
            <summary>Client does not skip over unreachable nodes</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="3">Duplicate</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="daschl">Michael Nitschinger</reporter>
                        <labels>
                    </labels>
                <created>Sat, 10 Nov 2012 18:37:32 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Mon, 12 Nov 2012 06:14:21 -0600</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="43752" author="ingenthr" created="Sun, 11 Nov 2012 09:43:37 -0600"  >Trond, can you please have a look at this one?</comment>
                    <comment id="43758" author="mnunberg" created="Sun, 11 Nov 2012 12:07:17 -0600"  >This is an issue in libcouchbase. We have a test for this specifically (though in this case, the test looks for an invalid hostname, not an invalid IP address.&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;ve reproduced it with the unreachable IP address.&lt;br/&gt;
&lt;br/&gt;
This also works properly if the connection is refused. But not if the host is unreachable.</comment>
                    <comment id="43789" author="trond" created="Mon, 12 Nov 2012 06:03:58 -0600"  >I created &lt;a href=&quot;http://www.couchbase.com/issues/browse/CCBC-122&quot;&gt;http://www.couchbase.com/issues/browse/CCBC-122&lt;/a&gt; for libcouchbase to track this.</comment>
                    <comment id="43790" author="trond" created="Mon, 12 Nov 2012 06:05:01 -0600"  >I&amp;#39;m marking this as incomplete (I don&amp;#39;t want to mark it as fixed until it is fixed in libcouchbase... If I only knew how to move bugs over to another &amp;quot;project&amp;quot; ;-)</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                <outwardlinks description="duplicates">
                            <issuelink>
            <issuekey id="20697">CCBC-122</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11075</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-122] Handle timeout for connecting to a cluster</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-122</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>If we&amp;#39;ve got a list of servers to connect to we don&amp;#39;t try the next server in the list if we&amp;#39;re getting a timeout connecting to a host in that list.. We should probably try the next server in the list.. (alternatively we could try all of them in parallel ;))</description>
                <environment></environment>
            <key id="20697">CCBC-122</key>
            <summary>Handle timeout for connecting to a cluster</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Mon, 12 Nov 2012 06:03:06 -0600</created>
                <updated>Thu, 10 Jan 2013 15:53:28 -0600</updated>
                    <resolved>Thu, 10 Jan 2013 15:53:21 -0600</resolved>
                            <version>2.0.0</version>
                                <fixVersion>2.0.0</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="43788" author="trond" created="Mon, 12 Nov 2012 06:03:24 -0600"  >See also &lt;a href=&quot;http://www.couchbase.com/issues/browse/PCBC-145&quot;&gt;http://www.couchbase.com/issues/browse/PCBC-145&lt;/a&gt;</comment>
                    <comment id="43794" author="avsej" created="Mon, 12 Nov 2012 09:55:46 -0600"  >Fix &lt;a href=&quot;http://review.couchbase.org/22449&quot;&gt;http://review.couchbase.org/22449&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="20679">CCBC-123</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11074</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-120] Unhandled opcode=92</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-120</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>#0  0x00007ffff6143acf in php_couchbase_error_callback (handle=0x11c0c70, error=LCB_EINTERNAL, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;errinfo=0x7fffffffa2a0 &amp;quot;Unknown implicit send message op=92&amp;quot;) at /sources/lcb2.0-repo/php/couchbase.c:724&lt;br/&gt;
#1  0x00007ffff5f1aa85 in lcb_error_handler (instance=0x11c0c70, error=LCB_EINTERNAL, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;errinfo=0x7fffffffa2a0 &amp;quot;Unknown implicit send message op=92&amp;quot;) at src/error.c:67&lt;br/&gt;
#2  0x00007ffff5f28278 in lcb_server_purge_implicit_responses (c=0x15e67d0, seqno=39360, end=1352507659266497000)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at src/server.c:710&lt;br/&gt;
#3  0x00007ffff5f1af11 in parse_single (c=0x15e67d0, stop=1352507659266497000) at src/event.c:135&lt;br/&gt;
#4  0x00007ffff5f1b3ca in do_read_data (c=0x15e67d0) at src/event.c:232&lt;br/&gt;
#5  0x00007ffff5f1b5a4 in lcb_server_event_handler (sock=14, which=2, arg=0x15e67d0) at src/event.c:298&lt;br/&gt;
#6  0x00007ffff5a5dccc in event_base_loop () from /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5&lt;br/&gt;
#7  0x00007ffff5c95547 in lcb_io_run_event_loop (iops=0x11c0740) at plugins/io/libevent/plugin-libevent.c:320&lt;br/&gt;
#8  0x00007ffff5f2aa1c in lcb_wait (instance=0x11c0c70) at src/wait.c:116&lt;br/&gt;
#9  0x00007ffff61523f9 in observe_iterate (res=0x11a3c50, ocoll=0x7fffffffa720) at /sources/lcb2.0-repo/php/observe.c:529&lt;br/&gt;
#10 0x00007ffff61525b7 in observe_poll (res=0x11a3c50, ocoll=0x7fffffffa720, tprefs=0x7fffffffa700)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /sources/lcb2.0-repo/php/observe.c:597&lt;br/&gt;
#11 0x00007ffff6153096 in php_couchbase_observe_impl (ht=2, return_value=0x14e2af8, return_value_ptr=0x0, this_ptr=0x11a2f60, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return_value_used=1, tsrm_ls=0xf53090, multi=1, oo=1, poll=1) at /sources/lcb2.0-repo/php/observe.c:862&lt;br/&gt;
#12 0x00007ffff614e089 in zim_couchbase_keyDurabilityMulti (ht=2, return_value=0x14e2af8, return_value_ptr=0x0, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this_ptr=0x11a2f60, return_value_used=1, tsrm_ls=0xf53090) at /sources/lcb2.0-repo/php/couchbase.c:3468&lt;br/&gt;
#13 0x000000000088d5cd in zend_do_fcall_common_helper_SPEC (execute_data=0x7ffff5e96098, tsrm_ls=0xf53090)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /sources/php-5.3.17/Zend/zend_vm_execute.h:320&lt;br/&gt;
#14 0x000000000088dfe8 in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7ffff5e96098, tsrm_ls=0xf53090)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /sources/php-5.3.17/Zend/zend_vm_execute.h:425&lt;br/&gt;
#15 0x000000000088c588 in execute (op_array=0x11a3ce8, tsrm_ls=0xf53090) at /sources/php-5.3.17/Zend/zend_vm_execute.h:107&lt;br/&gt;
#16 0x0000000000851d7a in zend_execute_scripts (type=8, tsrm_ls=0xf53090, retval=0x0, file_count=3)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /sources/php-5.3.17/Zend/zend.c:1236&lt;br/&gt;
#17 0x00000000007b5106 in php_execute_script (primary_file=0x7fffffffde10, tsrm_ls=0xf53090)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at /sources/php-5.3.17/main/main.c:2308&lt;br/&gt;
#18 0x0000000000951d89 in main (argc=3, argv=0x7fffffffe078) at /sources/php-5.3.17/sapi/cli/php_cli.c:1189&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
I don&amp;#39;t really have a way to reproduce this right now, I just happened to have been in that situation.</description>
                <environment>During an observe + rebalance-in.&lt;br/&gt;
&lt;br/&gt;
Cluster build 1941, lcb 2.0.0-beta2-something (git sha d34403763eec7f91e98fa13e260d47ef64a05945).. php is my own build atm (until i push)</environment>
            <key id="20666">CCBC-120</key>
            <summary>Unhandled opcode=92</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Fri, 9 Nov 2012 18:46:01 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:23 -0600</updated>
                    <resolved>Sat, 8 Dec 2012 00:03:20 -0600</resolved>
                                            <fixVersion>2.0.1</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="43868" author="avsej" created="Mon, 12 Nov 2012 22:57:19 -0600"  >92 is observe command, could you show your PHP script?</comment>
                    <comment id="43871" author="avsej" created="Tue, 13 Nov 2012 03:40:16 -0600"  >&lt;a href=&quot;http://review.couchbase.org/22478&quot;&gt;http://review.couchbase.org/22478&lt;/a&gt;</comment>
                    <comment id="43873" author="avsej" created="Tue, 13 Nov 2012 03:42:03 -0600"  >Now it will respond with LCB_SERVER_BUG if found stale OBSERVE packet. It will use command callback instead of generic error callback, therefore you will have context and key name</comment>
                    <comment id="44555" author="mnunberg" created="Wed, 21 Nov 2012 10:40:59 -0600"  >I&amp;#39;ll see if I recognize this one again.. this was rather difficult to reproduce and only happened accidentally -- I&amp;#39;m guessing that when and if the sdkd has observe implemented we&amp;#39;d be able to more reliably reproduce it</comment>
                    <comment id="44556" author="avsej" created="Wed, 21 Nov 2012 10:54:42 -0600"  >And at least now, you won&amp;#39;t get abort() in real life application, but still can abort in tests</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="20668">PCBC-143</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8437</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-119] Feed a different string (or hash?) for vBucket attribution</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-119</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>We currently are in a situation where we would like to use a different string than the key for hashing and selection of the destination vBucket. This can be useful to keep all of a single user data on many keys but on the same vBucket (and therefore servers), and allow for node downtime to only affect a percentage of the user base instead of the full user base. More generally, it could be used to gain better control over the distribution of data over the nodes.&lt;br/&gt;
&lt;br/&gt;
Looking at the current code, I guess it would be safer not to touch the hashing but just allow for the hashing of a separate string?</description>
                <environment></environment>
            <key id="20621">CCBC-119</key>
            <summary>Feed a different string (or hash?) for vBucket attribution</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="stelcheck">Marc Trudel</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 Nov 2012 07:02:47 -0600</created>
                <updated>Thu, 10 Jan 2013 15:50:34 -0600</updated>
                    <resolved>Thu, 10 Jan 2013 15:50:29 -0600</resolved>
                            <version>2.0.0beta2</version>
                                <fixVersion>2.0.0</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>3</watches>
                                                    <comments>
                    <comment id="43556" author="trond" created="Thu, 8 Nov 2012 07:08:53 -0600"  >To facilitate this we need to create an extended version of our arguments (the lcb_get_cmd_t etc) that includes a &amp;quot;blob&amp;quot; to use for hashing instead of the key. &lt;br/&gt;
&lt;br/&gt;
We need to verify that the code in libcouchbase that handles &amp;quot;not-my-vbuckets&amp;quot; doesn&amp;#39;t rehash the key, but just use the updated servermap to locate the correct server.</comment>
                    <comment id="43560" author="avsej" created="Thu, 8 Nov 2012 07:51:31 -0600"  >I thought we removed *_by_key() functions for reason here &lt;a href=&quot;http://review.couchbase.org/20073&quot;&gt;http://review.couchbase.org/20073&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
See Matt&amp;#39;s comment here &lt;a href=&quot;http://review.couchbase.org/14956&quot;&gt;http://review.couchbase.org/14956&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
&amp;gt; At this point in time, I do not think we want to include this. It is &lt;br/&gt;
&amp;gt; accurate that python exposes this to the user, but that&amp;#39;s more out &lt;br/&gt;
&amp;gt; of python&amp;#39;s legacy as testing code than a decision to add that to &lt;br/&gt;
&amp;gt; API.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; vbuckets are generally to be abstracted away from the user&amp;#39;s app. &lt;br/&gt;
&amp;gt; let&amp;#39;s not leak the abstraction out any more than we need to.</comment>
                    <comment id="43607" author="ingenthr" created="Thu, 8 Nov 2012 16:31:04 -0600"  >Given that there is a user requirement for it, perhaps we should re-add it.  Let me check into it.&lt;br/&gt;
&lt;br/&gt;
The concern in the past has been that this will likely cause unbalanced clusters and can create confusion on how one can get to the data from one client that isn&amp;#39;t available from another client.</comment>
                    <comment id="43609" author="mnunberg" created="Thu, 8 Nov 2012 16:41:14 -0600"  >Would it not be simpler from our perspective to simply provide a &amp;#39;hash&amp;#39; field in the request structure?&lt;br/&gt;
&lt;br/&gt;
Much less boilerplate in our code - change would simply be to use an existing hash if it&amp;#39;s already there, and then we can do the normal vbucket mapping If it&amp;#39;s 0, then calculate it.&lt;br/&gt;
&lt;br/&gt;
This is actually quite familiar with APIs that do hashing.&lt;br/&gt;
&lt;br/&gt;
Maybe expose an additional lcb_hash_key  function.</comment>
                    <comment id="43647" author="trond" created="Fri, 9 Nov 2012 05:32:44 -0600"  >&lt;a href=&quot;http://review.couchbase.org/#/c/22395/&quot;&gt;http://review.couchbase.org/#/c/22395/&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Mark: unfortunately that would require a bigger change in the current code (we would have to supply a new API from libvbucket). Given that we haven&amp;#39;t released any version of libcouchbase 2.0, I decided that we can just put this into the basic struct..</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11073</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-118] the lcb_error_t member in the http callbacks shouldn&apos;t reflect the HTTP response code</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-118</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The lcb_error_t member should reflect weather the operation succeeded on a libcouchbase level and if you may look into the http response object. In there you&amp;#39;ll find the http return code indicating what the server mean about the request.</description>
                <environment></environment>
            <key id="20620">CCBC-118</key>
            <summary>the lcb_error_t member in the http callbacks shouldn&apos;t reflect the HTTP response code</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 Nov 2012 06:31:36 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 8 Nov 2012 06:44:59 -0600</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="43549" author="avsej" created="Thu, 8 Nov 2012 06:38:30 -0600"  >&lt;a href=&quot;http://review.couchbase.org/22351&quot;&gt;http://review.couchbase.org/22351&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11411</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-117] Cannot compile libev plugin when switching from v3 to latest 4.11</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-117</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>I&amp;#39;m trying to track down the cause of some timeout errors that I am now getting under heavy load since the&lt;br/&gt;
&amp;quot;network error&amp;quot; return issue has been resolved and I was able to abandon the use of lcb_wait(). I don&amp;#39;t know &lt;br/&gt;
if this is due to using an old libev OR these are some commands being lost in ringbuffer logic when I pound it&lt;br/&gt;
with tons of lcb_get() calls within a loop (before control is returned to the event loop)&lt;br/&gt;
&lt;br/&gt;
So, easiest step it to try a new libev first before I come here crying :&amp;gt;&lt;br/&gt;
&lt;br/&gt;
When I try to compile the plugin with v4.11 (latest from Feb 2012) it will not compile&lt;br/&gt;
unless I add the following&lt;br/&gt;
&lt;br/&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br/&gt;
#include &amp;lt;string.h&amp;gt;&lt;br/&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br/&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br/&gt;
#define INVALID_SOCKET -1&lt;br/&gt;
&lt;br/&gt;
into either the header file or the top of the code. And, yes, I did add -DHAVE_LIBEV4 to my gcc line&lt;br/&gt;
&lt;br/&gt;
warning: implicit declaration of function memset&lt;br/&gt;
warning: implicit declaration of function fcntl&lt;br/&gt;
error: INVALID_SOCKET undeclared (first use in this function)&lt;br/&gt;
warning: implicit declaration of function free&lt;br/&gt;
etc&lt;br/&gt;
&lt;br/&gt;
Looks like the old libev headers sucked in more includes than they do now.</description>
                <environment>CentOS 6.x, 64-bit</environment>
            <key id="20612">CCBC-117</key>
            <summary>Cannot compile libev plugin when switching from v3 to latest 4.11</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mleib">Michael Leib</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Nov 2012 17:59:55 -0600</created>
                <updated>Wed, 6 Feb 2013 13:48:22 -0600</updated>
                    <resolved>Mon, 4 Feb 2013 09:02:25 -0600</resolved>
                            <version>2.0.0beta2</version>
                                <fixVersion>2.0.0</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="43564" author="mleib" created="Thu, 8 Nov 2012 11:49:37 -0600"  >Looking into this further, libev has a config.h which is used by ev.c.&lt;br/&gt;
&lt;br/&gt;
You guys have a config.h as well, which (when loaded) pulls-up config_static.h which has all the goodies&lt;br/&gt;
needed to compile the plugin.&lt;br/&gt;
&lt;br/&gt;
#include &amp;quot;config.h&amp;quot; at the top of &amp;quot;plugin-libev.c&amp;quot; maybe should be changed to include the full relative path?&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="43606" author="mleib" created="Thu, 8 Nov 2012 15:58:06 -0600"  >btw, my problem still exists even with the latest libev....depending on load, I am getting &amp;quot;lost&amp;quot; events (ie lcb_get() never returns&lt;br/&gt;
with a result until I get timeout error) even if I set the timeout to multiple minutes.&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;m starting to lose faith.</comment>
                    <comment id="45375" author="mleib" created="Tue, 4 Dec 2012 13:13:08 -0600"  >Just an fyi, I just installed the latest available build of the 2.0 server and rebuilt my apps with lcb beta3 and still get random timeout errors with use of lcb_get() even with the timeout set to minutes.</comment>
                    <comment id="45824" author="mleib" created="Tue, 11 Dec 2012 12:18:20 -0600"  >I received the latest patch to the libev plugin code with the changes for timers. It appears my problem has been corrected as I am no longer receiving any timeouts.&lt;br/&gt;
&lt;br/&gt;
Thanks to whomever found and corrected this issue.&lt;br/&gt;
&lt;br/&gt;
I Think this CBC is still an issue, however, as it has to do with builds with libevent and not the timeout problem.</comment>
                    <comment id="47558" author="avsej" created="Thu, 10 Jan 2013 15:59:32 -0600"  >Will check on recent master and will either fix and mark as resolved or just mark</comment>
                    <comment id="49593" author="avsej" created="Mon, 4 Feb 2013 09:02:25 -0600"  >We&amp;#39;ve released 2.0.0 with libev plugins, therefore it works on our builders, including CentOS 6.2 64bit</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8404</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-116] Heavy errors during short network loss</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-116</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <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?&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment></environment>
            <key id="20606">CCBC-116</key>
            <summary>Heavy errors during short network loss</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Nov 2012 11:55:50 -0600</created>
                <updated>Wed, 14 Nov 2012 11:55:10 -0600</updated>
                                    <version>2.0.0beta2</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="43984" author="ingenthr" created="Wed, 14 Nov 2012 11:55:10 -0600"  >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.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11072</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-115] Async Mode results in &quot;network error&quot; when many lcb_get() calls are made without use of lcb_wait() within loop</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-115</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Am receiving &amp;quot;network error&amp;quot; back from error callback when using lcb_get() within a loop, within a function, in libev async mode&lt;br/&gt;
(regardless if I make 1 call with a long command list or many calls of 1 command each) after returning control to the&lt;br/&gt;
event loop (ie; return back from this function).&lt;br/&gt;
&lt;br/&gt;
If I add an occasional lcb_wait() during some interval of calls before returning back, then this does not happen but, of course, I am blocked&lt;br/&gt;
during this call so that is not really a solution.&lt;br/&gt;
&lt;br/&gt;
Appears to be event overflow related but not sure. We are not talking about millions of calls, maybe 100k-ish over the network,&lt;br/&gt;
not loopback.</description>
                <environment>CentOS 6.2, 64Bit</environment>
            <key id="20430">CCBC-115</key>
            <summary>Async Mode results in &quot;network error&quot; when many lcb_get() calls are made without use of lcb_wait() within loop</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mleib">Michael Leib</reporter>
                        <labels>
                    </labels>
                <created>Thu, 25 Oct 2012 16:30:17 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Tue, 6 Nov 2012 09:53:18 -0600</resolved>
                            <version>2.0.0beta2</version>
                                <fixVersion>2.0.0beta3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="43223" author="avsej" created="Mon, 5 Nov 2012 06:41:05 -0600"  >Does this test meet your description? &lt;a href=&quot;http://review.couchbase.org/#/c/22263/1/tests/get-unit-test.cc&quot;&gt;http://review.couchbase.org/#/c/22263/1/tests/get-unit-test.cc&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
It is passing when I&amp;#39;m running it with: &lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;LIBCOUCHBASE_EVENT_PLUGIN_NAME=libev make check</comment>
                    <comment id="43241" author="mleib" created="Mon, 5 Nov 2012 11:20:31 -0600"  >Your &amp;quot;value&amp;quot; is much smaller in length than mine and I think that might be part of the issue. It would not be easy for me to create a  simple &lt;br/&gt;
test case code because I am using a wrapper library - but I will take the time to do so if you can not recreate the problem as this is&lt;br/&gt;
big issue for me as lcb_wait() fires off all pending events, not just those added by libcouchbase, but application ones as well&lt;br/&gt;
which should not fire until control is given back to the loop.&lt;br/&gt;
&lt;br/&gt;
Can you try this again without using &amp;quot;foo&amp;quot; as the value? My values are in the neighborhood of a 4k blob per key.&lt;br/&gt;
&lt;br/&gt;
If it still works for you, I will make test code. Please let me know.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="43242" author="avsej" created="Mon, 5 Nov 2012 11:24:52 -0600"  >ok, but you mentioned queueing GET operations, so i thought the value doesn&amp;#39;t matter here. but i will try</comment>
                    <comment id="43244" author="mnunberg" created="Mon, 5 Nov 2012 11:30:32 -0600"  >So this actually made me wonder a bit.&lt;br/&gt;
&lt;br/&gt;
You say you are using an entirely asynchronous event loop, in which case, why are you calling lcb_wait at all?&lt;br/&gt;
&lt;br/&gt;
You may also need to adjust the actions of run_event_loop/stop_event_loop in your iops plugin as well.&lt;br/&gt;
&lt;br/&gt;
lcb_wait is intended for synchronous operation only, and I wouldn&amp;#39;t recommend calling it from an async program (unless as I mentioned, you ensure start/stop_event_loop are functioning as intended)</comment>
                    <comment id="43249" author="mleib" created="Mon, 5 Nov 2012 11:46:22 -0600"  >Mark -&lt;br/&gt;
&lt;br/&gt;
I am aware of this and I do not wish to use lcb_wait() (outside of initial connection checks). &lt;br/&gt;
However, if I do not, I get network error and then I&amp;#39;m not able to continue.&lt;br/&gt;
&lt;br/&gt;
This was the only way to get it to work. I currently have it run in intervals based on how many lcb_get() calls&lt;br/&gt;
have been fired off.&lt;br/&gt;
&lt;br/&gt;
Michael</comment>
                    <comment id="43264" author="mnunberg" created="Mon, 5 Nov 2012 12:37:24 -0600"  >A traceback if possible from the callback would be rather helpful. I cannot see anywhere in the code where a NETWORK_ERROR is returned as the value without there actually being a socket error.&lt;br/&gt;
&lt;br/&gt;
I have just tried to reproduce your scenario by batching 500k commands (individual calls) with a 4k value blob (and calling one big lcb_wait at the end). The scenario was not asynchronous, but it was using libev - and I have not seen any errors.&lt;br/&gt;
&lt;br/&gt;
If you are getting this error in the error callback it means the problem is with the REST connection..&lt;br/&gt;
&lt;br/&gt;
Anyway, a traceback would really help, if possible (basically break where your error callback is called)</comment>
                    <comment id="43292" author="mleib" created="Mon, 5 Nov 2012 13:44:15 -0600"  >I am using stock beta2 - Please let me know if this helps at all....&lt;br/&gt;
&lt;br/&gt;
Michael&lt;br/&gt;
&lt;br/&gt;
(gdb) where&lt;br/&gt;
#0  pcollector_error (cback=0x66cca0, error=LCB_NETWORK_ERROR, error_string=0x45713a &amp;quot;Network error&amp;quot;,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error_string1=0x45713a &amp;quot;Network error&amp;quot;) at pcollector_main.c:135&lt;br/&gt;
#1  0x000000000040972a in LCB_Error (cbhandle=0x672370, error=LCB_NETWORK_ERROR, errinfo=0x45713a &amp;quot;Network error&amp;quot;) at liblcb.c:75&lt;br/&gt;
#2  0x000000000040987e in LCB_Get (cbhandle=0x672370, cookie=0x6713b0, error=LCB_NETWORK_ERROR, resp=0x7fffffffd560) at liblcb.c:93&lt;br/&gt;
#3  0x000000000043d2d9 in lcb_purge_single_server (server=0x675ac0, error=LCB_NETWORK_ERROR) at src/server.c:138&lt;br/&gt;
#4  0x000000000043d976 in lcb_failout_server (server=0x675ac0, error=LCB_NETWORK_ERROR) at src/server.c:288&lt;br/&gt;
#5  0x0000000000443d6e in lcb_server_event_handler (sock=14, which=2, arg=0x675ac0) at src/event.c:301&lt;br/&gt;
#6  0x000000000040a5f3 in handler_thunk (loop=0x66c8c0, io=0x66e560, events=1)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at ../libcouchbase/plugins/io/libev/plugin-libev.c:208&lt;br/&gt;
#7  0x0000000000433fac in call_pending (loop=0x66c8c0, flags=0) at ev.c:1749&lt;br/&gt;
#8  ev_loop (loop=0x66c8c0, flags=0) at ev.c:2084&lt;br/&gt;
#9  0x000000000040bfd7 in main (argc=4, argv=0x7fffffffe9e8, envp=0x7fffffffea10) at pcollector_main.c:445&lt;br/&gt;
</comment>
                    <comment id="43296" author="mnunberg" created="Mon, 5 Nov 2012 14:29:49 -0600"  >aha, so the error state is actually coming from the get callback and not the special error callback.&lt;br/&gt;
&lt;br/&gt;
Looking at the code path, it might seem that there are buffer issues which are causing some packets to be malformed (this would not have been the first time I&amp;#39;ve seen issues happen with scheduling many commands).&lt;br/&gt;
&lt;br/&gt;
If you were indeed having a network error, it would come from do_fill_input_buffer (in which failout_server() would be called).&lt;br/&gt;
&lt;br/&gt;
This was supposedly resolved in a bug regarding ringbuffer error handling.&lt;br/&gt;
&lt;br/&gt;
I think the problem is ultimately connected to the large buffer size (and lcb wait naturally acts as some kind of &amp;#39;barrier&amp;#39; to prevent the buffer from getting too large).&lt;br/&gt;
&lt;br/&gt;
As a workaround, instead of partitioning the calls by lcb_wait, can you perhaps schedule them asynchronously using timers? (i.e. invoke 500k commands, and then schedule another timer that will dispatch antoher callback and invoke 500k more, etc. etc.) -- if I&amp;#39;m right, this should help alleviate your issue without having to use lcb_wait to block your program.</comment>
                    <comment id="43298" author="mleib" created="Mon, 5 Nov 2012 14:53:15 -0600"  >Not easily and here is why....&lt;br/&gt;
&lt;br/&gt;
The keys I need to get from CB are being delivered in an async result callback from a query to PostgreSQL via pqlib. &lt;br/&gt;
So, if I wanted to &amp;quot;chunk&amp;quot; the lcb_get() calls, I would need to store these results myself because soon as I return from my&lt;br/&gt;
callback, the postgres results are going to disappear (since they were delivered) and I won&amp;#39;t be able to get them again&lt;br/&gt;
to move onto the next batch.&lt;br/&gt;
&lt;br/&gt;
Or, alternatively, do the same thing on the other side and make all the commands for lcb_get() in advance and then either&lt;br/&gt;
queue them or pull off a list. &lt;br/&gt;
&lt;br/&gt;
This is a huge memory requirement and/or a chunk of code that really shouldn&amp;#39;t be required.&lt;br/&gt;
&lt;br/&gt;
I can re-create this at will with my current code....what can I do to actually help fix this issue because I&amp;#39;m sure it&amp;#39;s not going away &lt;br/&gt;
on it own (and if it did, then we should all start to worry!)&lt;br/&gt;
</comment>
                    <comment id="43305" author="mnunberg" created="Mon, 5 Nov 2012 15:23:50 -0600"  >Yes, I totally agree that the code should be fixed and the &amp;#39;chunking&amp;#39; of the commands is not the way to go about making a solution; however since I&amp;#39;m unable to reproduce the issue on my own..&lt;br/&gt;
&lt;br/&gt;
Right now I&amp;#39;m trying to ascertain that this is indeed a buffer handling issue; hence the request to &amp;#39;chunk this up&amp;#39;.&lt;br/&gt;
&lt;br/&gt;
Let me post a summary of the &amp;#39;root symptom&amp;#39; (based on the backtrace) here just to outline what&amp;#39;s happening.&lt;br/&gt;
&lt;br/&gt;
If you look at the file event.c (I know you are using 2.0.0-beta2 and the link is to the current master, &lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/9e90ce8ece72dd3eaad0ca0fcbe9054aecc411fd/src/event.c&quot;&gt;https://github.com/couchbase/libcouchbase/blob/9e90ce8ece72dd3eaad0ca0fcbe9054aecc411fd/src/event.c&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
- You&amp;#39;ll see that line 301 (which is in your code path) is called.&lt;br/&gt;
- This is called only if do_read_data returns nonzero&lt;br/&gt;
- do_read_data returns nonzero if either there is an issue in parse_single (this is the code which handles the base protocol decoding) OR if there was an issue in do_fill_input_bufffer (actually filling up the input buffer).&lt;br/&gt;
- Assuming this is a problem in do_fill_input_buffer, I am seeing the only possible error scenarios being the following:&lt;br/&gt;
&lt;br/&gt;
* There is an actual network issue, in which case there&amp;#39;s nothing we can do here&lt;br/&gt;
* Your application is making use of signals and the read loop (which is probably very long as you&amp;#39;re using a lot of data) is being interrupted by EINTR.&lt;br/&gt;
&lt;br/&gt;
Try putting a &amp;#39;return 0&amp;#39; in the case of EINTR and see if this goes away (right now it falls out of the switch statement, and ends up returning 1, which is nonzero, which is an error on line 301).&lt;br/&gt;
</comment>
                    <comment id="43320" author="mleib" created="Mon, 5 Nov 2012 17:24:13 -0600"  >Ok, hopefully this helps...makes sense to me (and I hate socket programming)&lt;br/&gt;
&lt;br/&gt;
In do_fill_input_buffer(),  the switch (c-&amp;gt;instance-&amp;gt;io-&amp;gt;v.v0.error)  is falling into the default case because the value is &lt;br/&gt;
&lt;br/&gt;
#define EAGAIN          11      /* Try again */&lt;br/&gt;
&lt;br/&gt;
Looks like some retry code needs to be implemented as this is common with non-blocking sockets.&lt;br/&gt;
&lt;br/&gt;
Please advise.&lt;br/&gt;
&lt;br/&gt;
Michael </comment>
                    <comment id="43326" author="mleib" created="Mon, 5 Nov 2012 17:40:20 -0600"  >Ok, my bad...didn&amp;#39;t realize EAGAIN is the same as EWOULDBLOCK, which is already covered....&lt;br/&gt;
&lt;br/&gt;
so, this is messing up someplace else but at least you know it&amp;#39;s not EINTR&lt;br/&gt;
&lt;br/&gt;
Michael</comment>
                    <comment id="43331" author="mleib" created="Mon, 5 Nov 2012 18:01:28 -0600"  >The error is coming from here:&lt;br/&gt;
&lt;br/&gt;
void lcb_server_event_handler(lcb_socket_t sock, short which, void *arg)&lt;br/&gt;
{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_server_t *c = arg;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(void)sock;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_update_server_timer(c);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (which &amp;amp; LCB_READ_EVENT) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (do_read_data(c) != 0) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* TODO stash error message somewhere&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;* &amp;quot;Failed to read from connection to \&amp;quot;%s:%s\&amp;quot;&amp;quot;, c-&amp;gt;hostname, c-&amp;gt;port */&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcb_failout_server(c, LCB_NETWORK_ERROR);                                                        &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;=========================&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
What more can I tell you?</comment>
                    <comment id="43336" author="mnunberg" created="Mon, 5 Nov 2012 18:25:40 -0600"  >Hrrm.. this is interesting. So you&amp;#39;re saying do_fill_input_buffer is not returning an error status. This means the problem is inside the packet decoding.&lt;br/&gt;
&lt;br/&gt;
I don&amp;#39;t want to jump the gun and say this is a server issue -- as I&amp;#39;m quite sure the server has traveled this path before.&lt;br/&gt;
&lt;br/&gt;
So you&amp;#39;re saying you get the error when io-&amp;gt;error == EWOULDBLOCK?&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;ll need to poke around parse_single and see what might be failing. There might also be possible reentrancy issues as well..&lt;br/&gt;
&lt;br/&gt;
Basically, the callback is invoked from do_parse_single; but the buffer is only &amp;quot;cleaned up&amp;quot; *after* the callback returns.&lt;br/&gt;
&lt;br/&gt;
This means we might be doing weird things with the buffers..&lt;br/&gt;
&lt;br/&gt;
Just wondering (and I&amp;#39;m gonna try and replicate this tomorrow.. now that I might have a bit of a better idea regarding what&amp;#39;s happening here..):&lt;br/&gt;
&lt;br/&gt;
Are you issuing any batched requests (i.e. gets where you are passing more than a single command to libcouchbase) before this?&lt;br/&gt;
Are any of your results not found?&lt;br/&gt;
Does this only occur with get commands, or does this happen with sets as well&lt;br/&gt;
&lt;br/&gt;
Basically there is special handling when we receive responses for batched gets.&lt;br/&gt;
&lt;br/&gt;
It would be awesome if you can see where parse_single is returning -1 (which it now seems it is..)&lt;br/&gt;
&lt;br/&gt;
It also seems that in all cases where that function returns -1, the &amp;quot;global&amp;quot; error handler (i.e. set_error_callback) should tell you something as well.</comment>
                    <comment id="43377" author="avsej" created="Tue, 6 Nov 2012 08:05:16 -0600"  >What is the cluster config? Are all the nodes healthy always?</comment>
                    <comment id="43378" author="avsej" created="Tue, 6 Nov 2012 08:26:23 -0600"  >Is it possible you are reaching maximum request number?&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/9e90ce8ece72dd3eaad0ca0fcbe9054aecc411fd/src/event.c#L223&quot;&gt;https://github.com/couchbase/libcouchbase/blob/9e90ce8ece72dd3eaad0ca0fcbe9054aecc411fd/src/event.c#L223&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
In this case chances are that parse_single() return value bubbles. It returns positive number on success, but the caller treats any non-zero value as error</comment>
                    <comment id="43379" author="avsej" created="Tue, 6 Nov 2012 08:30:07 -0600"  >If so, it should be fixed if the function will return zero instead of rv at the end&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/9e90ce8ece72dd3eaad0ca0fcbe9054aecc411fd/src/event.c#L247&quot;&gt;https://github.com/couchbase/libcouchbase/blob/9e90ce8ece72dd3eaad0ca0fcbe9054aecc411fd/src/event.c#L247&lt;/a&gt;</comment>
                    <comment id="43380" author="avsej" created="Tue, 6 Nov 2012 08:37:22 -0600"  >Fixed in &lt;a href=&quot;http://review.couchbase.org/22310&quot;&gt;http://review.couchbase.org/22310&lt;/a&gt;</comment>
                    <comment id="43388" author="mleib" created="Tue, 6 Nov 2012 09:47:18 -0600"  >I have verified that this indeed solves the problem. YEAH!!!!&lt;br/&gt;
&lt;br/&gt;
I am getting timeouts now, but that is unrelated and I will need to increase the wait time - I am beating the server pretty hard.&lt;br/&gt;
&lt;br/&gt;
Thanks to all -&lt;br/&gt;
&lt;br/&gt;
MIchael</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11071</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-114] Starting with Beta2, only 1/2 my commands return and the others hang or timeout</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-114</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Ok, I was on a previous beta taken from Sergey&amp;#39;s git with libev embeded support. Mostly, things were working fine except having some issues with socket disconnect, etc.&lt;br/&gt;
&lt;br/&gt;
I just examined beta2 from the 12th and I see that not only is all the libev code in it, there are additional changes...so, I grabbed it and am trying to get my test apps to work.&lt;br/&gt;
&lt;br/&gt;
I am building the library&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;./configure --enable-static --enable-debug --disable-plugins --disable-couchbasemock --disable-tools&lt;br/&gt;
&lt;br/&gt;
and then linking the libev plugin object into my application outside of libcouchbase.&lt;br/&gt;
&lt;br/&gt;
Ok, so first thing I noticed was that:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memset( &amp;amp;ciops, 0, sizeof( ciops ) );&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ciops.v.v0.type = LCB_IO_OPS_LIBEV;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ciops.v.v0.cookie = loop;&lt;br/&gt;
&lt;br/&gt;
used to work just fine. Now, it results in a &amp;quot;generic error&amp;quot; being returned from lcb_create_io_ops().&lt;br/&gt;
&lt;br/&gt;
I switched it to&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ciops.version = 1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ciops.v.v1.sofile = NULL;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ciops.v.v1.symbol = &amp;quot;lcb_create_libev_io_opts&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ciops.v.v1.cookie = loop;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
and now lcb_create_io_ops() works as expected. I don&amp;#39;t think this is right? It looks like it&amp;#39;s not handled properly &lt;br/&gt;
in the call where create_v0 -&amp;gt; create_v1 converts the stucture relating to the sofile struct member; however, I could be wrong, &lt;br/&gt;
or maybe this is functioning as designed? Don&amp;#39;t know.&lt;br/&gt;
&lt;br/&gt;
However, once I got past that - here is the real problem:&lt;br/&gt;
&lt;br/&gt;
Only about 1/2 of my commands (whether it be from store or get) are comming back with LCB_SUCCESS.&lt;br/&gt;
If I connect and batch off say 100 calls to get, about 50 will come back LCB_SUCCESS and the other 50&lt;br/&gt;
will come back with a timeout error. The errors are NOT inter-mixed with the successful calls...meaning, whichever &lt;br/&gt;
50 come back good happen 1st and then the remaining events are all timeout (no mixing/alternating with the successful returns).&lt;br/&gt;
&lt;br/&gt;
This was not the case with the git code I was using previously.&lt;br/&gt;
&lt;br/&gt;
Now, if I do not use  lcb_set_timeout(), I don&amp;#39;t get the timeout error...it just hangs after the 50 LCB_SUCCESS&lt;br/&gt;
returns and no events appear to be firing&lt;br/&gt;
&lt;br/&gt;
Help!!! :&amp;lt;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>CentOS 6.2, 64-Bit, libev</environment>
            <key id="20385">CCBC-114</key>
            <summary>Starting with Beta2, only 1/2 my commands return and the others hang or timeout</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mleib">Michael Leib</reporter>
                        <labels>
                    </labels>
                <created>Tue, 23 Oct 2012 16:25:57 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Mon, 5 Nov 2012 13:12:13 -0600</resolved>
                            <version>2.0.0beta2</version>
                                <fixVersion>2.0.0beta3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="42389" author="mleib" created="Wed, 24 Oct 2012 10:43:46 -0500"  >Ok, the api question still remains but something went funky with the server...both nodes went offline and I could not restart them...ended up having to re-install 2.0 beta cb server from scratch and now I no longer have the timeout issue. Somehow, the &amp;quot;db&amp;quot; got corrupted. If the api change is per specification, this is ok to resolve.</comment>
                    <comment id="43225" author="avsej" created="Mon, 5 Nov 2012 07:50:04 -0600"  >You are right I&amp;#39;ve lost one dlopen() call with NULL&lt;br/&gt;
&lt;br/&gt;
Fixed in &lt;a href=&quot;http://review.couchbase.org/22265&quot;&gt;http://review.couchbase.org/22265&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11412</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-113] libcouchbase receives assert(relocate_packets: Assertion `!dst-&gt;connected&apos; failed.) if server is stopped during active connection</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-113</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Received:&lt;br/&gt;
&lt;br/&gt;
relocate_packets: Assertion `!dst-&amp;gt;connected&amp;#39; failed.&lt;br/&gt;
Aborted&lt;br/&gt;
&lt;br/&gt;
When sending commands (store and get) in mass to a connection on which the corresponding beta 2.0 server is shutdown normally.&lt;br/&gt;
Basically, just keep sending commands to the connection and shut down the server (only one in the cluster) and you will see this.&lt;br/&gt;
Doesn&amp;#39;t happen everytime, but most times.&lt;br/&gt;
&lt;br/&gt;
Since my application cannot exit, this is a workstoppage for me.&lt;br/&gt;
&lt;br/&gt;
I am having lots of issues with the library being able to properly handle connecting and disconnecting from a server that is&lt;br/&gt;
going up/down via normal command sequence as root.&lt;br/&gt;
</description>
                <environment>CentOs 6.2, 64-Bit</environment>
            <key id="20382">CCBC-113</key>
            <summary>libcouchbase receives assert(relocate_packets: Assertion `!dst-&gt;connected&apos; failed.) if server is stopped during active connection</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mleib">Michael Leib</reporter>
                        <labels>
                    </labels>
                <created>Tue, 23 Oct 2012 12:48:03 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Mon, 5 Nov 2012 13:12:03 -0600</resolved>
                            <version>2.0.0beta2</version>
                                <fixVersion>2.0.0beta3</fixVersion>
                                <component>library</component>
                                <votes>1</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="42274" author="mnunberg" created="Tue, 23 Oct 2012 12:59:56 -0500"  >To clarify, are you running a one-node cluster?</comment>
                    <comment id="42277" author="mleib" created="Tue, 23 Oct 2012 13:29:52 -0500"  >I have a 2-node cluster, but my hostline when I start the library only specifies one of them. Not trying to do failover to the other node.&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="42278" author="mnunberg" created="Tue, 23 Oct 2012 13:34:56 -0500"  >Ok, I&amp;#39;ve seen &lt;a href=&quot;http://www.couchbase.com/issues/browse/CCBC-104&quot; title=&quot;Client crashes when entrypoint node connection is dropped&quot;&gt;&lt;strike&gt;CCBC-104&lt;/strike&gt;&lt;/a&gt; occur in this setting as well. (Just want to reference that here)</comment>
                    <comment id="43226" author="avsej" created="Mon, 5 Nov 2012 08:29:03 -0600"  >You are right, I may not make such assertions in the code&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/4029b9966f3fae9cd6feffbcccc9ba6c97e6dabd/src/instance.c#L526&quot;&gt;https://github.com/couchbase/libcouchbase/blob/4029b9966f3fae9cd6feffbcccc9ba6c97e6dabd/src/instance.c#L526&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
I think it is safe to remove the destination server assertion here, because later in the lcb_server_send_packets() we are ensuring that server socket is open&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/4029b9966f3fae9cd6feffbcccc9ba6c97e6dabd/src/server.c#L622&quot;&gt;https://github.com/couchbase/libcouchbase/blob/4029b9966f3fae9cd6feffbcccc9ba6c97e6dabd/src/server.c#L622&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
I removed it in this patch &lt;a href=&quot;http://review.couchbase.org/22266&quot;&gt;http://review.couchbase.org/22266&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11413</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-112] Build source package with at least one event loop plugin unless explicitly building in &apos;pluingless&apos; mode</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-112</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When users build from the source, we should ensure that at least one event loop plugin is available for libcouchbase unless a user specifically says not to build any plugins. (i.e. --no-io-plugins)&lt;br/&gt;
&lt;br/&gt;
Otherwise it becomes confusing for users -- a good example is when compiling as a dependency for the php couchbase extension</description>
                <environment></environment>
            <key id="20360">CCBC-112</key>
            <summary>Build source package with at least one event loop plugin unless explicitly building in &apos;pluingless&apos; mode</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 22 Oct 2012 17:49:42 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 1 Nov 2012 13:49:10 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="42221" author="avsej" created="Mon, 22 Oct 2012 18:17:28 -0500"  >this is done actually &lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/configure.ac#L190&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/configure.ac#L190&lt;/a&gt;</comment>
                    <comment id="42222" author="avsej" created="Mon, 22 Oct 2012 18:18:36 -0500"  >And the patch itself &lt;a href=&quot;https://github.com/couchbase/libcouchbase/commit/f0d5b522b90ff70227fe61a5214f2feddd10d1f8&quot;&gt;https://github.com/couchbase/libcouchbase/commit/f0d5b522b90ff70227fe61a5214f2feddd10d1f8&lt;/a&gt;</comment>
                    <comment id="42273" author="mnunberg" created="Tue, 23 Oct 2012 12:55:17 -0500"  >Have you tested this? it seems like users are continuously having problems with this.&lt;br/&gt;
&lt;br/&gt;
Specifically, the configure script should fail by default it it can&amp;#39;t find any backend, unless --disable-plugins is specified</comment>
                    <comment id="43063" author="avsej" created="Thu, 1 Nov 2012 13:46:09 -0500"  >Reassigned to check</comment>
                    <comment id="43068" author="avsej" created="Thu, 1 Nov 2012 14:21:32 -0500"  >&lt;a href=&quot;http://review.couchbase.org/22209&quot;&gt;http://review.couchbase.org/22209&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11414</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-111] Make iops functions &apos;private&apos;, and discourage calls to run_event_loop/stop_event_loop</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-111</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>There&amp;#39;s quite a bit of user code which calls io-&amp;gt;run_event_loop and io-&amp;gt;stop_event_loop.&lt;br/&gt;
&lt;br/&gt;
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.&lt;br/&gt;
&lt;br/&gt;
These functions should never be called by user code: &lt;br/&gt;
&lt;br/&gt;
1) They are a source of confusion (especially when mixed with lcb_wait)&lt;br/&gt;
2) They prevent any kind of wrapping/sanity logic done by lcb_wait (some already exists, and some can be implemented in future versions)&lt;br/&gt;
&lt;br/&gt;
The following should be done&lt;br/&gt;
&lt;br/&gt;
1) Remove the iops structure definition from being included by the main header file. Thus, #include &amp;lt;libcouchbase/couchbase.h&amp;gt; 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 &amp;#39;user&amp;#39; code. types.h should include a predeclaration of the structure so that it may still be passed around as a simple pointer value.&lt;br/&gt;
&lt;br/&gt;
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.&lt;br/&gt;
&lt;br/&gt;
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</description>
                <environment></environment>
            <key id="20356">CCBC-111</key>
            <summary>Make iops functions &apos;private&apos;, and discourage calls to run_event_loop/stop_event_loop</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 22 Oct 2012 15:25:39 -0500</created>
                <updated>Mon, 10 Dec 2012 07:47:33 -0600</updated>
                                    <version>2.0.0beta2</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11183</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-110] Implement lcb_reconnect() which will reconnect all dead sockets</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-110</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>This functionality very important for long-living connection handles</description>
                <environment></environment>
            <key id="20300">CCBC-110</key>
            <summary>Implement lcb_reconnect() which will reconnect all dead sockets</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Oct 2012 15:19:29 -0500</created>
                <updated>Tue, 20 Nov 2012 14:40:01 -0600</updated>
                                    <version>2.0.0beta2</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="44467" author="ingenthr" created="Tue, 20 Nov 2012 14:40:01 -0600"  >This issue needs more of a description.&lt;br/&gt;
&lt;br/&gt;
As discussed with Sergey, it&amp;#39;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.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11361</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-109] test libev plugin under CI</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-109</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Since libev support is graduating to production support, we need to be testing it under CI regularly.</description>
                <environment></environment>
            <key id="20206">CCBC-109</key>
            <summary>test libev plugin under CI</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 11 Oct 2012 18:50:35 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Tue, 6 Nov 2012 08:56:20 -0600</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="43383" author="avsej" created="Tue, 6 Nov 2012 08:56:20 -0600"  >&lt;a href=&quot;http://sdkbuilds.couchbase.com/job/libcouchbase/&quot;&gt;http://sdkbuilds.couchbase.com/job/libcouchbase/&lt;/a&gt; fixed&lt;br/&gt;
&lt;br/&gt;
[libevent libev]&lt;br/&gt;
&amp;nbsp;&amp;nbsp;x &lt;br/&gt;
[centos55_32 centos55_64 centos62_32 centos62_64 ubuntu1004_32 ubuntu1004_64 ubuntu1110_32 ubuntu1110_64]&lt;br/&gt;
</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11415</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-108] Allow per-command retries for not-my-vbucket and other transient errors</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-108</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>We should avoid the possibility of &amp;#39;infinite&amp;#39; errors and allow the user the ability of seeing the &amp;#39;real&amp;#39; error which caused the command to fail..&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://review.couchbase.org/13177&quot;&gt;http://review.couchbase.org/13177&lt;/a&gt;</description>
                <environment></environment>
            <key id="20093">CCBC-108</key>
            <summary>Allow per-command retries for not-my-vbucket and other transient errors</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Thu, 4 Oct 2012 19:34:41 -0500</created>
                <updated>Mon, 10 Dec 2012 07:47:32 -0600</updated>
                                    <version>2.0.0beta</version>
                                                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11362</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-107] Handle stale/already sent pending commands on network error</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-107</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>&lt;a href=&quot;http://review.couchbase.org/13667&quot;&gt;http://review.couchbase.org/13667&lt;/a&gt;</description>
                <environment></environment>
            <key id="20092">CCBC-107</key>
            <summary>Handle stale/already sent pending commands on network error</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Thu, 4 Oct 2012 19:32:51 -0500</created>
                <updated>Wed, 21 Nov 2012 07:51:07 -0600</updated>
                    <resolved>Mon, 19 Nov 2012 11:28:28 -0600</resolved>
                            <version>2.0.0beta</version>
                                <fixVersion>2.0.0beta3</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="43876" author="avsej" created="Tue, 13 Nov 2012 04:13:43 -0600"  >what is stale command? libcouchbase doesn&amp;#39;t have timeout per each command, so if server required to respond, but doesn&amp;#39;t do it -- it is server bug. from other hand, if socket looks like dead, we are using timeout to purge requests</comment>
                    <comment id="43985" author="ingenthr" created="Wed, 14 Nov 2012 11:58:15 -0600"  >Mark: Do you believe this needs to be addressed before 2.0 GA?  If so, please drop in a note with the details.&lt;br/&gt;
&lt;br/&gt;
My current read on this is that it&amp;#39;s not really needed.</comment>
                    <comment id="44103" author="avsej" created="Thu, 15 Nov 2012 11:32:37 -0600"  >Putting explicit link to test case &lt;a href=&quot;http://review.couchbase.org/#/c/13667/12/tests/smoke-test.c&quot;&gt;http://review.couchbase.org/#/c/13667/12/tests/smoke-test.c&lt;/a&gt;</comment>
                    <comment id="44105" author="ingenthr" created="Thu, 15 Nov 2012 11:34:47 -0600"  >Sergey: please extract the test in the referenced patchset and get it correct.  Then, please update this issue with any findings from running that test.  We&amp;#39;ll see from there whether or not to keep it as a blocker.&lt;br/&gt;
&lt;br/&gt;
I do agree that if operations timeout, that&amp;#39;s okay when the connection is interrupted.</comment>
                    <comment id="44291" author="avsej" created="Mon, 19 Nov 2012 05:22:28 -0600"  >The test has been ported to recent libcouchbase &lt;a href=&quot;http://review.couchbase.org/22585&quot;&gt;http://review.couchbase.org/22585&lt;/a&gt; and currently it is passing</comment>
                    <comment id="44316" author="avsej" created="Mon, 19 Nov 2012 11:28:28 -0600"  >Resolving the ticket, because the unit test from that patch is passing on recent version</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11376</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-105] SASL Authentication errors (and possibly others) don&apos;t stop the event loop</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-105</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When encountering an authentication error, the client library should break out the event loop after invoking the error callback.&lt;br/&gt;
&lt;br/&gt;
This means that users who are using libcouchbase and are somehow getting SASL auth errors will have their applications hang instantly, unless the user breaks out of the event loop manually from the error callback.</description>
                <environment></environment>
            <key id="20082">CCBC-105</key>
            <summary>SASL Authentication errors (and possibly others) don&apos;t stop the event loop</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Thu, 4 Oct 2012 12:58:58 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 4 Oct 2012 13:30:58 -0500</resolved>
                            <version>2.0.0beta</version>
                                <fixVersion>2.0.0beta2</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="40372" author="avsej" created="Thu, 4 Oct 2012 13:07:33 -0500"  >They should use error callbacks</comment>
                    <comment id="40373" author="mnunberg" created="Thu, 4 Oct 2012 13:08:17 -0500"  >It remains to be seen why SASL auth at all fails (this shouldn&amp;#39;t happen.. it should either be a REST failure or the correct SASL password should be retrieved from the vbucket config).&lt;br/&gt;
&lt;br/&gt;
Nevertheless I&amp;#39;m initially marked this as critical since a library should *never* hang under any circumstances.</comment>
                    <comment id="40376" author="avsej" created="Thu, 4 Oct 2012 13:13:49 -0500"  >how are you driving the event loop? does your code define error_callback?</comment>
                    <comment id="40377" author="mnunberg" created="Thu, 4 Oct 2012 13:15:47 -0500"  >The code has an error_callback and it just prints out the error but doesn&amp;#39;t do anything. Generally speaking I&amp;#39;m using lcb_wait and expecting libcouchbase to promptly return control to my application when the event loop has nothing more to wait for.&lt;br/&gt;
&lt;br/&gt;
I know it&amp;#39;s an easy work-around to just manually break out of the event loop, but it&amp;#39;s not documented in our API that &amp;#39;wait might not always return&amp;#39;.. so if we&amp;#39;re gonna maintain old behavior, this should be specified in big red letters.</comment>
                    <comment id="40383" author="avsej" created="Thu, 4 Oct 2012 13:26:37 -0500"  >&lt;a href=&quot;http://review.couchbase.org/21344&quot;&gt;http://review.couchbase.org/21344&lt;/a&gt; fix freezing </comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="20083">MB-6823</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11416</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-104] Client crashes when entrypoint node connection is dropped</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-104</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>&amp;nbsp;&amp;#39;DelayMin&amp;#39;: 1, &amp;#39;DelayMax&amp;#39;: 10}}&lt;br/&gt;
[driver driver.py:36] &amp;gt; MC_DS_MUTATE_SET:40 @19 {&amp;#39;DSType&amp;#39;: &amp;#39;DSTYPE_SEEDED&amp;#39;, &amp;#39;DS&amp;#39;: {&amp;#39;Count&amp;#39;: 1000, &amp;#39;Repeat&amp;#39;: &amp;#39;_REP_&amp;#39;, &amp;#39;VSeed&amp;#39;: &amp;#39;SimpleValue_&amp;#39;, &amp;#39;KSize&amp;#39;: 100, &amp;#39;Continuous&amp;#39;: True, &amp;#39;VSize&amp;#39;: 12, &amp;#39;KSeed&amp;#39;: &amp;#39;SimpleKey_&amp;#39;}, &amp;#39;Options&amp;#39;: {&amp;#39;TimeRes&amp;#39;: 1, &amp;#39;IterWait&amp;#39;: True, &amp;#39;DelayMin&amp;#39;: 1, &amp;#39;DelayMax&amp;#39;: 10}}&lt;br/&gt;
[driver failover.py:134] Ramp for 3 seconds..&lt;br/&gt;
[driver failover.py:141] No service specified..&lt;br/&gt;
[driver rest_client.py:710] fail_over successful&lt;br/&gt;
sdkd_lcb: src/instance.c:495: relocate_packets: Assertion `ringbuffer_write(&amp;amp;dst-&amp;gt;cmd_log, cmd.bytes, sizeof(cmd.bytes)) == sizeof(cmd.bytes)&amp;#39; failed.&lt;br/&gt;
&lt;br/&gt;
Program received signal SIGABRT, Aborted.&lt;br/&gt;
[Switching to Thread 0x7ffff21a8700 (LWP 5726)]&lt;br/&gt;
0x00007ffff6e7d475 in *__GI_raise (sig=&amp;lt;optimized out&amp;gt;) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64&lt;br/&gt;
64      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.&lt;br/&gt;
(gdb) bt&lt;br/&gt;
#0  0x00007ffff6e7d475 in *__GI_raise (sig=&amp;lt;optimized out&amp;gt;) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64&lt;br/&gt;
#1  0x00007ffff6e806f0 in *__GI_abort () at abort.c:92&lt;br/&gt;
#2  0x00007ffff6e76621 in *__GI___assert_fail (&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assertion=0x7ffff6a20478 &amp;quot;ringbuffer_write(&amp;amp;dst-&amp;gt;cmd_log, cmd.bytes, sizeof(cmd.bytes)) == sizeof(cmd.bytes)&amp;quot;, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file=&amp;lt;optimized out&amp;gt;, line=495, function=0x7ffff6a20790 &amp;quot;relocate_packets&amp;quot;) at assert.c:81&lt;br/&gt;
#3  0x00007ffff6a10724 in vbucket_stream_handler () from /home/mnunberg/src/sdkd-cpp/inst/2.0.0beta//lib/libcouchbase.so.2&lt;br/&gt;
#4  0x00007ffff5bc90a4 in event_process_active_single_queue (activeq=0x635250, base=0x63c510) at event.c:1346&lt;br/&gt;
#5  event_process_active (base=&amp;lt;optimized out&amp;gt;) at event.c:1416&lt;br/&gt;
#6  event_base_loop (base=0x63c510, flags=0) at event.c:1617&lt;br/&gt;
#7  0x00007ffff7bbc922 in CBSdkd::Handle::postsubmit (this=0x63c810, rs=..., nsubmit=1) at Handle.cpp:206&lt;br/&gt;
#8  0x00007ffff7bbceeb in CBSdkd::Handle::dsMutate (this=0x63c810, cmd=..., ds=..., out=..., options=...) at Handle.cpp:300&lt;br/&gt;
#9  0x00007ffff7bc8ab1 in CBSdkd::WorkerDispatch::_process_request (this=0x63c230, req=..., rs=0x63c420) at IODispatch.cpp:494&lt;br/&gt;
#10 0x00007ffff7bc93d5 in CBSdkd::WorkerDispatch::run (this=0x63c230) at IODispatch.cpp:572&lt;br/&gt;
#11 0x00007ffff7bc7276 in CBSdkd::new_worker_thread (worker=0x63c230) at IODispatch.cpp:227&lt;br/&gt;
#12 0x00007ffff71d8b50 in start_thread (arg=&amp;lt;optimized out&amp;gt;) at pthread_create.c:304&lt;br/&gt;
#13 0x00007ffff6f2370d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112&lt;br/&gt;
#14 0x0000000000000000 in ?? ()&lt;br/&gt;
(gdb) [driver rest_client.py:710] fail_over successful&lt;br/&gt;
[driver failover.py:149] Sleeping for 3 seconds after failover&lt;br/&gt;
[driver driver.py:36] &amp;gt; CANCEL:41 @2 {}&lt;br/&gt;
</description>
                <environment>Entry point node is the REST node passed to the constructor</environment>
            <key id="20027">CCBC-104</key>
            <summary>Client crashes when entrypoint node connection is dropped</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 2 Oct 2012 15:57:49 -0500</created>
                <updated>Tue, 20 Nov 2012 20:46:27 -0600</updated>
                    <resolved>Tue, 20 Nov 2012 20:46:20 -0600</resolved>
                            <version>2.0.0beta</version>
                                <fixVersion>2.0.0beta3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="40214" author="mnunberg" created="Wed, 3 Oct 2012 12:12:35 -0500"  >This happens during failover of a non-entrypoint node.&lt;br/&gt;
&lt;br/&gt;
#0  __memcpy_ssse3_back () at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:2571&lt;br/&gt;
#1  0x00007ffff6a11832 in ringbuffer_write ()&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;from /home/mnunberg/src/sdkd-cpp/inst/2.0.0beta//lib/libcouchbase.so.2&lt;br/&gt;
#2  0x00007ffff6a10110 in vbucket_stream_handler ()&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;from /home/mnunberg/src/sdkd-cpp/inst/2.0.0beta//lib/libcouchbase.so.2&lt;br/&gt;
#3  0x00007ffff5bc90a4 in event_process_active_single_queue (activeq=0x656360, base=0x65dc80) at event.c:1346&lt;br/&gt;
#4  event_process_active (base=&amp;lt;optimized out&amp;gt;) at event.c:1416&lt;br/&gt;
#5  event_base_loop (base=0x65dc80, flags=0) at event.c:1617&lt;br/&gt;
#6  0x00007ffff7bbc922 in CBSdkd::Handle::postsubmit (this=0x65df80, rs=..., nsubmit=1) at Handle.cpp:206&lt;br/&gt;
#7  0x00007ffff7bbcadd in CBSdkd::Handle::dsGet (this=0x65df80, cmd=..., ds=..., out=..., options=...)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at Handle.cpp:244&lt;br/&gt;
#8  0x00007ffff7bc8b0a in CBSdkd::WorkerDispatch::_process_request (this=0x65d9a0, req=..., rs=0x65db90)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at IODispatch.cpp:498&lt;br/&gt;
#9  0x00007ffff7bc93d5 in CBSdkd::WorkerDispatch::run (this=0x65d9a0) at IODispatch.cpp:572&lt;br/&gt;
#10 0x00007ffff7bc7276 in CBSdkd::new_worker_thread (worker=0x65d9a0) at IODispatch.cpp:227&lt;br/&gt;
#11 0x00007ffff71d8b50 in start_thread (arg=&amp;lt;optimized out&amp;gt;) at pthread_create.c:304&lt;br/&gt;
#12 0x00007ffff6f2370d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112&lt;br/&gt;
#13 0x0000000000000000 in ?? ()&lt;br/&gt;
(gdb) [driver failover.py:293] Sleeping 10 seconds after all failovers&lt;br/&gt;
</comment>
                    <comment id="40216" author="farshid" created="Wed, 3 Oct 2012 12:17:58 -0500"  >do client crashes count as blocker ?&lt;br/&gt;
is this a scenario where users will run into during failover operation ?</comment>
                    <comment id="40218" author="mnunberg" created="Wed, 3 Oct 2012 12:37:35 -0500"  >Client crashes are fatal errors, but I wouldn&amp;#39;t yet mark the bug as a &amp;#39;blocker&amp;#39;.. (it is &amp;#39;major&amp;#39;, but it doesn&amp;#39;t prevent normal client functionality). But feel free to re-classify.&lt;br/&gt;
&lt;br/&gt;
I would guess this is a scenario in which users might run into.</comment>
                    <comment id="40219" author="mnunberg" created="Wed, 3 Oct 2012 12:40:51 -0500"  >stack trace with line/context infromation.&lt;br/&gt;
&lt;br/&gt;
I might also note that this does *not* happen when the cluster is immediately rebalanced...&lt;br/&gt;
&lt;br/&gt;
#0  __memcpy_ssse3_back ()&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1995&lt;br/&gt;
#1  0x00007ffff6a10239 in ringbuffer_write (buffer=0x7fffd80256e0, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;src=0x7fffee99c4a0, nb=24) at src/ringbuffer.c:127&lt;br/&gt;
#2  0x00007ffff6a0d86d in relocate_packets (src=0x7fffd8001be0, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dst_instance=0x66bdf0) at src/instance.c:495&lt;br/&gt;
#3  0x00007ffff6a0dc8f in lcb_update_serverlist (instance=0x66bdf0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at src/instance.c:556&lt;br/&gt;
#4  0x00007ffff6a0ea51 in vbucket_stream_handler (sock=125, which=2, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arg=0x66bdf0) at src/instance.c:938&lt;br/&gt;
#5  0x00007ffff5bc50a4 in event_process_active_single_queue (activeq=0x66b820, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;base=0x66b200) at event.c:1346&lt;br/&gt;
#6  event_process_active (base=&amp;lt;optimized out&amp;gt;) at event.c:1416&lt;br/&gt;
#7  event_base_loop (base=0x66b200, flags=0) at event.c:1617&lt;br/&gt;
#8  0x00007ffff5dfc68d in lcb_io_run_event_loop (iops=0x66b610)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at plugins/io/libevent/plugin-libevent.c:315&lt;br/&gt;
#9  0x00007ffff6a1526d in lcb_wait (instance=0x66bdf0) at src/wait.c:112&lt;br/&gt;
#10 0x00007ffff7bbc922 in CBSdkd::Handle::postsubmit (this=0x66b500, rs=..., &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nsubmit=1) at Handle.cpp:206&lt;br/&gt;
#11 0x00007ffff7bbcadd in CBSdkd::Handle::dsGet (this=0x66b500, cmd=..., &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ds=..., out=..., options=...) at Handle.cpp:244&lt;br/&gt;
#12 0x00007ffff7bc8b0a in CBSdkd::WorkerDispatch::_process_request (&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this=0x66af20, req=..., rs=0x66b110) at IODispatch.cpp:498&lt;br/&gt;
#13 0x00007ffff7bc93d5 in CBSdkd::WorkerDispatch::run (this=0x66af20)&lt;br/&gt;
---Type &amp;lt;return&amp;gt; to continue, or q &amp;lt;return&amp;gt; to quit---&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at IODispatch.cpp:572&lt;br/&gt;
#14 0x00007ffff7bc7276 in CBSdkd::new_worker_thread (worker=0x66af20)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at IODispatch.cpp:227&lt;br/&gt;
#15 0x00007ffff71d8b50 in start_thread (arg=&amp;lt;optimized out&amp;gt;)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at pthread_create.c:304&lt;br/&gt;
#16 0x00007ffff6f2370d in clone ()&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112&lt;br/&gt;
#17 0x0000000000000000 in ?? ()&lt;br/&gt;
</comment>
                    <comment id="43983" author="ingenthr" created="Wed, 14 Nov 2012 11:53:25 -0600"  >I believe this is the one that is causing many SDK test failures.  &lt;br/&gt;
&lt;br/&gt;
Mark: can you confirm?  &lt;br/&gt;
&lt;br/&gt;
Marking it as a blocker until fully assessed.</comment>
                    <comment id="44056" author="avsej" created="Thu, 15 Nov 2012 03:33:51 -0600"  >Just verified with local cluster of 5 nodes (8091 using ./install/bin/couchbase-server and 9000-9003 using ./cluster_run --nodes=4) and this ruby script (all versions are most recent)&lt;br/&gt;
&lt;br/&gt;
conn = Couchbase.bucket&lt;br/&gt;
i = 0&lt;br/&gt;
loop do&lt;br/&gt;
&amp;nbsp;&amp;nbsp;i += 1&lt;br/&gt;
&amp;nbsp;&amp;nbsp;STDERR.print(&amp;quot;\r#{i} &amp;quot;)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;begin&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;conn.set(&amp;quot;foo-#{i % 1_000}&amp;quot;, i)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;rescue Couchbase::Error::Base =&amp;gt; ex&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STDERR.puts(&amp;quot;#{ex.class}: #{ex}\n&amp;quot;)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;end&lt;br/&gt;
end&lt;br/&gt;
&lt;br/&gt;
Tested two scenarios:&lt;br/&gt;
&lt;br/&gt;
First&lt;br/&gt;
&lt;br/&gt;
1) the single thread is connecting to 8091 node and start load&lt;br/&gt;
2) kill the 8091 process&lt;br/&gt;
3) the client hops to another node for config connection and start reporting Connect errors from data sockets&lt;br/&gt;
4) restart 8091&lt;br/&gt;
5) the client start reporting TMP_FAIL and once cluster make 8091 node green, it shuts up and continue load&lt;br/&gt;
&lt;br/&gt;
Second&lt;br/&gt;
&lt;br/&gt;
1) the single thread is connecting to 8091 node and start load&lt;br/&gt;
2) kill the 8091 process&lt;br/&gt;
3) the client hops to another node for config connection and start reporting Connect errors from data sockets&lt;br/&gt;
4) failover and rebalance node&lt;br/&gt;
5) the client receive updated config and stops sending data to broken node</comment>
                    <comment id="44101" author="ingenthr" created="Thu, 15 Nov 2012 11:24:48 -0600"  >Since more realistic testing scenarios show regular failures here, it&amp;#39;d be good to try to duplicate this there.  &lt;br/&gt;
&lt;br/&gt;
Can you work with Mark to try this with a real cluster?  He&amp;#39;s able to hit this regularly.  Schedule time with him as needed.</comment>
                    <comment id="44346" author="ingenthr" created="Mon, 19 Nov 2012 16:27:42 -0600"  >Scenario to be concerned with is:&lt;br/&gt;
client is working with the cluster, bootstrapping off of node A of a cluster of three (A, B, C)&lt;br/&gt;
client is listening for config changes from node A&lt;br/&gt;
trond walks by and hits the reset button on node A (because he&amp;#39;s mean)&lt;br/&gt;
no TCP RST&lt;br/&gt;
operations for node A keep timing out&lt;br/&gt;
even if autofailover is enabled, and the config updates&lt;br/&gt;
and node B and C takeover&lt;br/&gt;
the client will never get an update and never reconfigure&lt;br/&gt;
</comment>
                    <comment id="44436" author="avsej" created="Tue, 20 Nov 2012 12:58:52 -0600"  >This patch implements issue counting for paired memcached socket, and once number of failures exceed threshold -- it reconnect config connection&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://review.couchbase.org/22686&quot;&gt;http://review.couchbase.org/22686&lt;/a&gt; </comment>
                    <comment id="44468" author="avsej" created="Tue, 20 Nov 2012 14:45:14 -0600"  >Need verification</comment>
                    <comment id="44481" author="avsej" created="Tue, 20 Nov 2012 16:32:03 -0600"  >&lt;a href=&quot;http://review.couchbase.org/22691&quot;&gt;http://review.couchbase.org/22691&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
The patch has been merged already, but requires verification on the test installation</comment>
                    <comment id="44498" author="mnunberg" created="Tue, 20 Nov 2012 20:46:20 -0600"  >Fixed and verified in latest commit</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11417</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-103] Window plugins hangs when connecting to a couchbase cluster with 2 or more nodes</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-103</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When running the event loop from a window build it was observed that lcb_io_run_event_loop would never complete when performing a get or set operation.  lcb_wait was called after calling lcb_store or lcb_get and would never complete.&lt;br/&gt;
&lt;br/&gt;
This issue was seen after adding a second server to the couchbase cluster.&lt;br/&gt;
&lt;br/&gt;
I tracked down the issue to link_event and unlink_event in plugin-win32.c&lt;br/&gt;
&lt;br/&gt;
Link event was not inserting new events into the linked link properly after the first 2 it would trash the second entry with any addition adds.&lt;br/&gt;
&lt;br/&gt;
In unlink_event the loop would did not properly remove events from the linked list and would connect the head to the next pointer of the event being deleted skipping over any other events in the list.&lt;br/&gt;
&lt;br/&gt;
Here is the fixed code: (link_timer and unlink_timer had the same logic so I updated those also)&lt;br/&gt;
&lt;br/&gt;
static void link_event(struct winsock_io_cookie *instance,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;struct winsock_event *event)&lt;br/&gt;
{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;event-&amp;gt;next = instance-&amp;gt;events;&lt;br/&gt;
	instance-&amp;gt;events = event;&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
static void unlink_event(struct winsock_io_cookie *instance,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;struct winsock_event *event)&lt;br/&gt;
{&lt;br/&gt;
	if (instance-&amp;gt;events == NULL)&lt;br/&gt;
		return;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (instance-&amp;gt;events == event) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instance-&amp;gt;events = event-&amp;gt;next;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;struct winsock_event *prev = instance-&amp;gt;events;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;struct winsock_event *next = prev-&amp;gt;next;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (next != NULL) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (event == next) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prev-&amp;gt;next = next-&amp;gt;next;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
			prev = next;&lt;br/&gt;
			next = prev-&amp;gt;next;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
static void link_timer(struct winsock_io_cookie *instance,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;struct winsock_timer *timer)&lt;br/&gt;
{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timer-&amp;gt;next = instance-&amp;gt;timers;&lt;br/&gt;
	instance-&amp;gt;timers = timer;&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
static void unlink_timer(struct winsock_io_cookie *instance,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;struct winsock_timer *timer)&lt;br/&gt;
{&lt;br/&gt;
	if (instance-&amp;gt;timers == NULL)&lt;br/&gt;
		return;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (instance-&amp;gt;timers == timer) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instance-&amp;gt;timers = timer-&amp;gt;next;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;struct winsock_timer *prev = instance-&amp;gt;timers;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;struct winsock_timer *next = prev-&amp;gt;next;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (next != NULL) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (timer == next) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prev-&amp;gt;next = next-&amp;gt;next;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
			prev = next;&lt;br/&gt;
			next = prev-&amp;gt;next;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}</description>
                <environment>Windows</environment>
            <key id="19883">CCBC-103</key>
            <summary>Window plugins hangs when connecting to a couchbase cluster with 2 or more nodes</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="brettharrison">Brett Harrison</reporter>
                        <labels>
                    </labels>
                <created>Tue, 25 Sep 2012 12:12:07 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Tue, 25 Sep 2012 17:02:03 -0500</resolved>
                            <version>2.0.0beta</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="39591" author="avsej" created="Tue, 25 Sep 2012 12:18:49 -0500"  >patch from trondn on IRC: &lt;a href=&quot;http://pastebin.com/sDtFnsiM&quot;&gt;http://pastebin.com/sDtFnsiM&lt;/a&gt; &amp;lt;- That link is dead...</comment>
                    <comment id="39597" author="trond" created="Tue, 25 Sep 2012 13:56:41 -0500"  >&lt;a href=&quot;http://review.couchbase.org/#/c/21078/&quot;&gt;http://review.couchbase.org/#/c/21078/&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11418</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-102] event sample does not compile across all platforms</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-102</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>A recent change broke compilation owing to some libevent looking change.&lt;br/&gt;
&lt;br/&gt;
Where it was found to be broken:&lt;br/&gt;
&lt;a href=&quot;http://sdkbuilds.couchbase.com/job/libcouchbase/237/console&quot;&gt;http://sdkbuilds.couchbase.com/job/libcouchbase/237/console&lt;/a&gt;&lt;br/&gt;
This change:&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/commit/f82c93e018d723ab2adb36bd3dc94e4b9f3a11f8&quot;&gt;https://github.com/couchbase/libcouchbase/commit/f82c93e018d723ab2adb36bd3dc94e4b9f3a11f8&lt;/a&gt;&lt;br/&gt;
</description>
                <environment></environment>
            <key id="19868">CCBC-102</key>
            <summary>event sample does not compile across all platforms</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Sep 2012 20:21:00 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 27 Sep 2012 16:05:53 -0500</resolved>
                            <version>2.0.0beta</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11419</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-101] allow google test suite to be preserved between invocations of make distclean and friends</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-101</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>additionally we should make it into a DSO and link the tests against that.. would make it somewhat quicker..&lt;br/&gt;
&lt;br/&gt;
This is obviously not a major issue.. but would be nice :)</description>
                <environment></environment>
            <key id="19813">CCBC-101</key>
            <summary>allow google test suite to be preserved between invocations of make distclean and friends</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 Sep 2012 11:35:28 -0500</created>
                <updated>Tue, 18 Sep 2012 11:35:28 -0500</updated>
                                                                                    <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11364</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-100] Allow Incremental Row Callbacks</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-100</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>View query results may return large amounts of data. We should offer a row callback which returns a JSON string whose contents is a single row.&lt;br/&gt;
&lt;br/&gt;
There are awesome JSON libraries to do this task, and it&amp;#39;s something that I&amp;#39;ve found myself doing in the Perl client.. so why not move it into libcouchbase and let everyone be happy? :).&lt;br/&gt;
&lt;br/&gt;
Basic idea:&lt;br/&gt;
Two callbacks are put into place. The first is a &amp;#39;row callback&amp;#39; which receives rows, and the second is a complete callback, at which time any other non-row data is returned as a JSON object.&lt;br/&gt;
&lt;br/&gt;
So for example&lt;br/&gt;
&lt;br/&gt;
{ &amp;quot;total_rows&amp;quot; : 30,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;quot;rows&amp;quot; : [&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{  &amp;quot;id&amp;quot; : &amp;quot;foo&amp;quot; },&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;quot;id&amp;quot; : bar&amp;quot; },&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;....&lt;br/&gt;
&lt;br/&gt;
The row callback will first receive the string &amp;#39;{ &amp;quot;id&amp;quot; : &amp;quot;foo&amp;quot; }&amp;#39;, then the second time around, &amp;#39;{&amp;quot;id&amp;quot;:&amp;quot;bar&amp;quot;}&amp;#39;&lt;br/&gt;
The complete callback will return:&lt;br/&gt;
&amp;#39; { &amp;quot;total_rows&amp;quot; : 30 } &amp;#39;&lt;br/&gt;
</description>
                <environment></environment>
            <key id="19677">CCBC-100</key>
            <summary>Allow Incremental Row Callbacks</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="3" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/inprogress.png">In Progress</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 11 Sep 2012 02:25:47 -0500</created>
                <updated>Sat, 8 Dec 2012 00:06:11 -0600</updated>
                                                    <fixVersion>2.0.1</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8434</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-99] fix libcouchbase-10 build scripts to remove packages first</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-99</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>I ran into a build failure earlier today, and the root cause was a 1.1/2.0 libcouchbase package being installed.  At some point, we need to clean up the php builds and libcouchbase buidls to be more stable.</description>
                <environment></environment>
            <key id="19675">CCBC-99</key>
            <summary>fix libcouchbase-10 build scripts to remove packages first</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Sep 2012 20:50:50 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 27 Sep 2012 16:07:51 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11420</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-98] Differentiate between TMPFAILs</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-98</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Differentiate between TMPFAIL error messages received becuase of lack of vbucket config, and TMPFAIL messages actually returned by the server.&lt;br/&gt;
&lt;br/&gt;
This is confusing to the user, as he does not know whether there is a server issue, a command issue, or a usage issue.</description>
                <environment></environment>
            <key id="19645">CCBC-98</key>
            <summary>Differentiate between TMPFAILs</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Sun, 9 Sep 2012 01:25:37 -0500</created>
                <updated>Thu, 27 Sep 2012 16:06:52 -0500</updated>
                    <resolved>Mon, 10 Sep 2012 15:28:05 -0500</resolved>
                                            <fixVersion>2.0.0beta</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="38331" author="avsej" created="Mon, 10 Sep 2012 15:28:05 -0500"  >&lt;a href=&quot;http://review.couchbase.org/20700&quot;&gt;http://review.couchbase.org/20700&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="18475">CCBC-87</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11082</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-97] libmemcached: doublefree</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-97</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>I know this is the wrong component, we don&amp;#39;t have one for libmemcached.  This is version 0.44&lt;br/&gt;
&lt;br/&gt;
Customer experienced:&lt;br/&gt;
*** glibc detected *** /usr/bin/python: double free or corruption (!prev): 0x0000000002d2d300 ***&lt;br/&gt;
======= Backtrace: =========&lt;br/&gt;
/lib/libc.so.6(+0x775b6)[0x7f89d5d785b6]&lt;br/&gt;
/lib/libc.so.6(cfree+0x73)[0x7f89d5d7ee83]&lt;br/&gt;
/usr/lib/libmemcached.so.6(+0x57d3)[0x7f89d38417d3]&lt;br/&gt;
/usr/lib/libmemcached.so.6(+0xa6e0)[0x7f89d38466e0]&lt;br/&gt;
/usr/lib/libmemcached.so.6(+0x9a61)[0x7f89d3845a61]&lt;br/&gt;
/usr/lib/libmemcached.so.6(+0x9c28)[0x7f89d3845c28]&lt;br/&gt;
/usr/lib/libmemcached.so.6(+0xaa46)[0x7f89d3846a46]&lt;br/&gt;
/usr/lib/libmemcached.so.6(+0xb531)[0x7f89d3847531]&lt;br/&gt;
/usr/lib/libmemcached.so.6(memcached_fetch_result+0x63)[0x7f89d3842be3]&lt;br/&gt;
/usr/lib/libmemcached.so.6(memcached_fetch+0x4a)[0x7f89d3842d7a]&lt;br/&gt;
/usr/lib/libmemcached.so.6(memcached_get_by_key+0x80)[0x7f89d3843ef0]&lt;br/&gt;
/usr/lib/libmemcached.so.6(memcached_get+0x1f)[0x7f89d38440df]&lt;br/&gt;
/usr/local/lib/python2.6/dist-packages/pylibmc-1.1.1-py2.6-linux-x86_64.egg/_pylibmc.so(+0x56da)[0x7f89d3a566da]&lt;br/&gt;
/usr/bin/python(PyEval_EvalFrameEx+0x59be)[0x4a84ae]&lt;br/&gt;
/usr/bin/python(PyEval_EvalFrameEx+0x5a60)[0x4a8550]&lt;br/&gt;
/usr/bin/python(PyEval_EvalCodeEx+0x911)[0x4a9671]&lt;br/&gt;
/usr/bin/python(PyEval_EvalFrameEx+0x4d19)[0x4a7809]&lt;br/&gt;
/usr/bin/python(PyEval_EvalFrameEx+0x5a60)[0x4a8550]&lt;br/&gt;
/usr/bin/python(PyEval_EvalCodeEx+0x911)[0x4a9671]&lt;br/&gt;
/usr/bin/python[0x53771d]&lt;br/&gt;
/usr/bin/python(PyObject_Call+0x47)[0x41f0c7]&lt;br/&gt;
/usr/bin/python(PyEval_EvalFrameEx+0x3861)[0x4a6351]&lt;br/&gt;
/usr/bin/python(PyEval_EvalCodeEx+0x911)[0x4a9671]&lt;br/&gt;
/usr/bin/python(PyEval_EvalFrameEx+0x4d19)[0x4a7809]&lt;br/&gt;
/usr/bin/python(PyEval_EvalFrameEx+0x5a60)[0x4a8550]&lt;br/&gt;
/usr/bin/python(PyEval_EvalCodeEx+0x911)[0x4a9671]&lt;br/&gt;
/usr/bin/python[0x537620]&lt;br/&gt;
/usr/bin/python(PyObject_Call+0x47)[0x41f0c7]&lt;br/&gt;
/usr/bin/python[0x427dff]&lt;br/&gt;
/usr/bin/python(PyObject_Call+0x47)[0x41f0c7]&lt;br/&gt;
/usr/bin/python(PyEval_CallObjectWithKeywords+0x43)[0x4a1b03]&lt;br/&gt;
/usr/bin/python[0x4d7d3d]&lt;br/&gt;
/lib/libpthread.so.0(+0x69ca)[0x7f89d6f0d9ca]&lt;br/&gt;
/lib/libc.so.6(clone+0x6d)[0x7f89d5de770d]</description>
                <environment></environment>
            <key id="13545">CCBC-97</key>
            <summary>libmemcached: doublefree</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                    <security id="10011">Public</security>
                        <assignee username="-1">Unassigned</assignee>
                                <reporter username="perry">Perry Krug</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Feb 2011 13:51:49 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Mon, 15 Oct 2012 09:49:55 -0500</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="19658" author="ingenthr" created="Tue, 22 Feb 2011 18:52:52 -0600"  >Added a clients &amp;#39;umbrella&amp;#39; component.  This should be filed in a bug upstream though.  All bugs filed in this component _should_ also be filed upstream.</comment>
                    <comment id="19659" author="ingenthr" created="Tue, 22 Feb 2011 19:06:36 -0600"  >Filed &lt;a href=&quot;https://bugs.launchpad.net/libmemcached/+bug/723485&quot;&gt;https://bugs.launchpad.net/libmemcached/+bug/723485&lt;/a&gt; upstream</comment>
                    <comment id="19712" author="perry" created="Mon, 7 Mar 2011 11:49:47 -0600"  >Process:         Python [695]&lt;br/&gt;
Path:            /System/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python&lt;br/&gt;
Identifier:      Python&lt;br/&gt;
Version:         ??? (???)&lt;br/&gt;
Code Type:       X86-64 (Native)&lt;br/&gt;
Parent Process:  Python [690]&lt;br/&gt;
&lt;br/&gt;
PlugIn Path:       /opt/local/lib/libmemcached.5.dylib&lt;br/&gt;
PlugIn Identifier: libmemcached.5.dylib&lt;br/&gt;
PlugIn Version:    6.0.0 (compatibility 6.0.0)&lt;br/&gt;
&lt;br/&gt;
Stack trace from a Mac development environment:&lt;br/&gt;
&lt;br/&gt;
Date/Time:       2011-03-05 11:43:56.691 -0500&lt;br/&gt;
OS Version:      Mac OS X 10.6.6 (10J567)&lt;br/&gt;
Report Version:  6&lt;br/&gt;
&lt;br/&gt;
Interval Since Last Report:          144740 sec&lt;br/&gt;
Crashes Since Last Report:           20&lt;br/&gt;
Per-App Crashes Since Last Report:   19&lt;br/&gt;
Anonymous UUID:                      91E1B520-D3D2-4792-B429-E5FF8EE710AE&lt;br/&gt;
&lt;br/&gt;
Exception Type:  EXC_CRASH (SIGABRT)&lt;br/&gt;
Exception Codes: 0x0000000000000000, 0x0000000000000000&lt;br/&gt;
Crashed Thread:  5&lt;br/&gt;
&lt;br/&gt;
Application Specific Information:&lt;br/&gt;
abort() called&lt;br/&gt;
&lt;br/&gt;
Thread 0:  Dispatch queue: com.apple.main-thread&lt;br/&gt;
0   libSystem.B.dylib                   0x00007fff81d8916a kevent + 10&lt;br/&gt;
1   select.so                           0x00000001010567b0 initselect + 1688&lt;br/&gt;
2   org.python.python                   0x0000000100089187 PyEval_EvalFrameEx + 15317&lt;br/&gt;
3   org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
4   org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
5   org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
6   org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
7   org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
8   org.python.python                   0x000000010008935e PyEval_EvalFrameEx + 15788&lt;br/&gt;
9   org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
10  org.python.python                   0x000000010008935e PyEval_EvalFrameEx + 15788&lt;br/&gt;
11  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
12  org.python.python                   0x000000010008935e PyEval_EvalFrameEx + 15788&lt;br/&gt;
13  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
14  org.python.python                   0x000000010008935e PyEval_EvalFrameEx + 15788&lt;br/&gt;
15  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
16  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
17  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
18  org.python.python                   0x000000010008ad61 PyEval_EvalCode + 54&lt;br/&gt;
19  org.python.python                   0x00000001000a265a Py_CompileString + 78&lt;br/&gt;
20  org.python.python                   0x00000001000a2723 PyRun_FileExFlags + 150&lt;br/&gt;
21  org.python.python                   0x00000001000a423d PyRun_SimpleFileExFlags + 704&lt;br/&gt;
22  org.python.python                   0x00000001000b0286 Py_Main + 2718&lt;br/&gt;
23  org.python.python.app               0x0000000100000e6c start + 52&lt;br/&gt;
&lt;br/&gt;
Thread 1:&lt;br/&gt;
0   libmemcached.5.dylib                0x00000001016c8900 memcached_server_free + 0&lt;br/&gt;
1   libmemcached.5.dylib                0x00000001016c2c06 set_last_disconnected_host + 38&lt;br/&gt;
2   libmemcached.5.dylib                0x00000001016c78ae memcached_quit_server + 142&lt;br/&gt;
3   libmemcached.5.dylib                0x00000001016c654d memcached_io_read + 237&lt;br/&gt;
4   libmemcached.5.dylib                0x00000001016c670f memcached_safe_read + 79&lt;br/&gt;
5   libmemcached.5.dylib                0x00000001016c7a7a binary_read_one_response + 74&lt;br/&gt;
6   libmemcached.5.dylib                0x00000001016c7ee9 memcached_read_one_response + 73&lt;br/&gt;
7   libmemcached.5.dylib                0x00000001016c7759 memcached_purge + 345&lt;br/&gt;
8   libmemcached.5.dylib                0x00000001016c676e io_flush + 62&lt;br/&gt;
9   libmemcached.5.dylib                0x00000001016c6c40 _io_write + 368&lt;br/&gt;
10  libmemcached.5.dylib                0x00000001016c850c memcached_response + 172&lt;br/&gt;
11  libmemcached.5.dylib                0x00000001016c3e53 memcached_fetch_result + 115&lt;br/&gt;
12  libmemcached.5.dylib                0x00000001016c3fd6 memcached_fetch + 70&lt;br/&gt;
13  libmemcached.5.dylib                0x00000001016c506b memcached_get_by_key + 107&lt;br/&gt;
14  libmemcached.5.dylib                0x00000001016c5283 memcached_get + 35&lt;br/&gt;
15  _pylibmc.so                         0x00000001010eef89 PylibMC_Client_get + 96&lt;br/&gt;
16  org.python.python                   0x000000010008901f PyEval_EvalFrameEx + 14957&lt;br/&gt;
17  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
18  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
19  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
20  org.python.python                   0x000000010002c8e1 PyClassMethod_New + 1748&lt;br/&gt;
21  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
22  org.python.python                   0x000000010001a9df PyClass_New + 1575&lt;br/&gt;
23  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
24  org.python.python                   0x00000001000849db PyEval_CallObjectWithKeywords + 175&lt;br/&gt;
25  org.python.python                   0x00000001000b1db6 initthread + 1403&lt;br/&gt;
26  libSystem.B.dylib                   0x00007fff81da9536 _pthread_start + 331&lt;br/&gt;
27  libSystem.B.dylib                   0x00007fff81da93e9 thread_start + 13&lt;br/&gt;
&lt;br/&gt;
Thread 2:&lt;br/&gt;
0   libSystem.B.dylib                   0x00007fffffe0026d __spin_lock + 13&lt;br/&gt;
1   org.python.python                   0x00000001000adcb4 PyThread_acquire_lock + 46&lt;br/&gt;
2   org.python.python                   0x00000001000b1a29 initthread + 494&lt;br/&gt;
3   org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
4   org.python.python                   0x000000010000b753 PyObject_CallMethodObjArgs + 425&lt;br/&gt;
5   org.python.python                   0x000000010000db67 PyObject_CallMethod + 311&lt;br/&gt;
6   kyotocabinet.so                     0x000000010188ca43 NativeFunction::NativeFunction(DB_data*) + 63&lt;br/&gt;
7   kyotocabinet.so                     0x00000001018829f2 cur_op_iternext + 41&lt;br/&gt;
8   org.python.python                   0x0000000100088b0b PyEval_EvalFrameEx + 13657&lt;br/&gt;
9   org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
10  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
11  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
12  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
13  org.python.python                   0x000000010002c88f PyClassMethod_New + 1666&lt;br/&gt;
14  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
15  org.python.python                   0x000000010008a54e PyEval_EvalFrameEx + 20380&lt;br/&gt;
16  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
17  org.python.python                   0x000000010008935e PyEval_EvalFrameEx + 15788&lt;br/&gt;
18  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
19  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
20  org.python.python                   0x000000010002c8e1 PyClassMethod_New + 1748&lt;br/&gt;
21  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
22  org.python.python                   0x000000010001a9df PyClass_New + 1575&lt;br/&gt;
23  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
24  org.python.python                   0x00000001000849db PyEval_CallObjectWithKeywords + 175&lt;br/&gt;
25  org.python.python                   0x00000001000b1db6 initthread + 1403&lt;br/&gt;
26  libSystem.B.dylib                   0x00007fff81da9536 _pthread_start + 331&lt;br/&gt;
27  libSystem.B.dylib                   0x00007fff81da93e9 thread_start + 13&lt;br/&gt;
&lt;br/&gt;
Thread 3:  Dispatch queue: com.apple.libdispatch-manager&lt;br/&gt;
0   libSystem.B.dylib                   0x00007fff81d8916a kevent + 10&lt;br/&gt;
1   libSystem.B.dylib                   0x00007fff81d8b03d _dispatch_mgr_invoke + 154&lt;br/&gt;
2   libSystem.B.dylib                   0x00007fff81d8ad14 _dispatch_queue_invoke + 185&lt;br/&gt;
3   libSystem.B.dylib                   0x00007fff81d8a83e _dispatch_worker_thread2 + 252&lt;br/&gt;
4   libSystem.B.dylib                   0x00007fff81d8a168 _pthread_wqthread + 353&lt;br/&gt;
5   libSystem.B.dylib                   0x00007fff81d8a005 start_wqthread + 13&lt;br/&gt;
&lt;br/&gt;
Thread 4:&lt;br/&gt;
0   libSystem.B.dylib                   0x00007fff81d89f8a __workq_kernreturn + 10&lt;br/&gt;
1   libSystem.B.dylib                   0x00007fff81d8a39c _pthread_wqthread + 917&lt;br/&gt;
2   libSystem.B.dylib                   0x00007fff81d8a005 start_wqthread + 13&lt;br/&gt;
&lt;br/&gt;
Thread 5 Crashed:&lt;br/&gt;
0   libSystem.B.dylib                   0x00007fff81de2e4e __semwait_signal_nocancel + 10&lt;br/&gt;
1   libSystem.B.dylib                   0x00007fff81de2d50 nanosleep$NOCANCEL + 129&lt;br/&gt;
2   libSystem.B.dylib                   0x00007fff81e3f6a2 usleep$NOCANCEL + 57&lt;br/&gt;
3   libSystem.B.dylib                   0x00007fff81e5ecd4 abort + 93&lt;br/&gt;
4   libSystem.B.dylib                   0x00007fff81d766f5 free + 128&lt;br/&gt;
5   libmemcached.5.dylib                0x00000001016c2c06 set_last_disconnected_host + 38&lt;br/&gt;
6   libmemcached.5.dylib                0x00000001016c2d16 memcached_connect + 246&lt;br/&gt;
7   libmemcached.5.dylib                0x00000001016c4b54 memcached_mget_by_key_real + 1924&lt;br/&gt;
8   libmemcached.5.dylib                0x00000001016c5052 memcached_get_by_key + 82&lt;br/&gt;
9   libmemcached.5.dylib                0x00000001016c5283 memcached_get + 35&lt;br/&gt;
10  _pylibmc.so                         0x00000001010eef89 PylibMC_Client_get + 96&lt;br/&gt;
11  org.python.python                   0x000000010008901f PyEval_EvalFrameEx + 14957&lt;br/&gt;
12  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
13  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
14  org.python.python                   0x000000010008935e PyEval_EvalFrameEx + 15788&lt;br/&gt;
15  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
16  org.python.python                   0x000000010002c88f PyClassMethod_New + 1666&lt;br/&gt;
17  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
18  org.python.python                   0x000000010008a54e PyEval_EvalFrameEx + 20380&lt;br/&gt;
19  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
20  org.python.python                   0x000000010008935e PyEval_EvalFrameEx + 15788&lt;br/&gt;
21  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
22  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
23  org.python.python                   0x000000010002c8e1 PyClassMethod_New + 1748&lt;br/&gt;
24  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
25  org.python.python                   0x000000010001a9df PyClass_New + 1575&lt;br/&gt;
26  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
27  org.python.python                   0x00000001000849db PyEval_CallObjectWithKeywords + 175&lt;br/&gt;
28  org.python.python                   0x00000001000b1db6 initthread + 1403&lt;br/&gt;
29  libSystem.B.dylib                   0x00007fff81da9536 _pthread_start + 331&lt;br/&gt;
30  libSystem.B.dylib                   0x00007fff81da93e9 thread_start + 13&lt;br/&gt;
&lt;br/&gt;
Thread 6:&lt;br/&gt;
0   libSystem.B.dylib                   0x00007fff81df31a6 poll + 10&lt;br/&gt;
1   libmemcached.5.dylib                0x00000001016c63c8 io_wait + 104&lt;br/&gt;
2   libmemcached.5.dylib                0x00000001016c64fa memcached_io_read + 154&lt;br/&gt;
3   libmemcached.5.dylib                0x00000001016c670f memcached_safe_read + 79&lt;br/&gt;
4   libmemcached.5.dylib                0x00000001016c7a7a binary_read_one_response + 74&lt;br/&gt;
5   libmemcached.5.dylib                0x00000001016c7ee9 memcached_read_one_response + 73&lt;br/&gt;
6   libmemcached.5.dylib                0x00000001016c4513 memcached_mget_by_key_real + 323&lt;br/&gt;
7   libmemcached.5.dylib                0x00000001016c5052 memcached_get_by_key + 82&lt;br/&gt;
8   libmemcached.5.dylib                0x00000001016c5283 memcached_get + 35&lt;br/&gt;
9   _pylibmc.so                         0x00000001010eef89 PylibMC_Client_get + 96&lt;br/&gt;
10  org.python.python                   0x000000010008901f PyEval_EvalFrameEx + 14957&lt;br/&gt;
11  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
12  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
13  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
14  org.python.python                   0x000000010002c88f PyClassMethod_New + 1666&lt;br/&gt;
15  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
16  org.python.python                   0x000000010008a54e PyEval_EvalFrameEx + 20380&lt;br/&gt;
17  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
18  org.python.python                   0x000000010008935e PyEval_EvalFrameEx + 15788&lt;br/&gt;
19  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
20  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
21  org.python.python                   0x000000010002c8e1 PyClassMethod_New + 1748&lt;br/&gt;
22  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
23  org.python.python                   0x000000010001a9df PyClass_New + 1575&lt;br/&gt;
24  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
25  org.python.python                   0x00000001000849db PyEval_CallObjectWithKeywords + 175&lt;br/&gt;
26  org.python.python                   0x00000001000b1db6 initthread + 1403&lt;br/&gt;
27  libSystem.B.dylib                   0x00007fff81da9536 _pthread_start + 331&lt;br/&gt;
28  libSystem.B.dylib                   0x00007fff81da93e9 thread_start + 13&lt;br/&gt;
&lt;br/&gt;
Thread 7:&lt;br/&gt;
0   libSystem.B.dylib                   0x00007fff81df31a6 poll + 10&lt;br/&gt;
1   libmemcached.5.dylib                0x00000001016c63c8 io_wait + 104&lt;br/&gt;
2   libmemcached.5.dylib                0x00000001016c64fa memcached_io_read + 154&lt;br/&gt;
3   libmemcached.5.dylib                0x00000001016c670f memcached_safe_read + 79&lt;br/&gt;
4   libmemcached.5.dylib                0x00000001016c7a7a binary_read_one_response + 74&lt;br/&gt;
5   libmemcached.5.dylib                0x00000001016c7ee9 memcached_read_one_response + 73&lt;br/&gt;
6   libmemcached.5.dylib                0x00000001016c4513 memcached_mget_by_key_real + 323&lt;br/&gt;
7   libmemcached.5.dylib                0x00000001016c5052 memcached_get_by_key + 82&lt;br/&gt;
8   libmemcached.5.dylib                0x00000001016c5283 memcached_get + 35&lt;br/&gt;
9   _pylibmc.so                         0x00000001010eef89 PylibMC_Client_get + 96&lt;br/&gt;
10  org.python.python                   0x000000010008901f PyEval_EvalFrameEx + 14957&lt;br/&gt;
11  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
12  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
13  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
14  org.python.python                   0x000000010002c88f PyClassMethod_New + 1666&lt;br/&gt;
15  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
16  org.python.python                   0x000000010008a54e PyEval_EvalFrameEx + 20380&lt;br/&gt;
17  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
18  org.python.python                   0x000000010008935e PyEval_EvalFrameEx + 15788&lt;br/&gt;
19  org.python.python                   0x00000001000892e1 PyEval_EvalFrameEx + 15663&lt;br/&gt;
20  org.python.python                   0x000000010008acce PyEval_EvalCodeEx + 1803&lt;br/&gt;
21  org.python.python                   0x000000010002c8e1 PyClassMethod_New + 1748&lt;br/&gt;
22  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
23  org.python.python                   0x000000010001a9df PyClass_New + 1575&lt;br/&gt;
24  org.python.python                   0x000000010000aff3 PyObject_Call + 112&lt;br/&gt;
25  org.python.python                   0x00000001000849db PyEval_CallObjectWithKeywords + 175&lt;br/&gt;
26  org.python.python                   0x00000001000b1db6 initthread + 1403&lt;br/&gt;
27  libSystem.B.dylib                   0x00007fff81da9536 _pthread_start + 331&lt;br/&gt;
28  libSystem.B.dylib                   0x00007fff81da93e9 thread_start + 13&lt;br/&gt;
&lt;br/&gt;
Thread 5 crashed with X86 Thread State (64-bit):&lt;br/&gt;
&amp;nbsp;rax: 0x000000000000003c  rbx: 0x000000010ff823d0  rcx: 0x000000010ff82388  rdx: 0x0000000000000001&lt;br/&gt;
&amp;nbsp;rdi: 0x0000000000000803  rsi: 0x0000000000000000  rbp: 0x000000010ff823c0  rsp: 0x000000010ff82388&lt;br/&gt;
&amp;nbsp;&amp;nbsp;r8: 0x0000000000000000   r9: 0x0000000000989680  r10: 0x0000000000000001  r11: 0x0000000000000246&lt;br/&gt;
&amp;nbsp;r12: 0x0000000000000000  r13: 0x00000001001a5000  r14: 0x0000000000000000  r15: 0x0000000110007e00&lt;br/&gt;
&amp;nbsp;rip: 0x00007fff81de2e4e  rfl: 0x0000000000000247  cr2: 0x000000010fac0310&lt;br/&gt;
&lt;br/&gt;
Binary Images:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x100000000 -        0x100000ff7  org.python.python.app 2.6 (2.6) &amp;lt;3F4A329D-3EF9-A736-6F3D-67A4B39AE8DE&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x100004000 -        0x100114ff7  org.python.python 2.6.1 (2.6.1) &amp;lt;126DA8FF-5BC2-8788-51E3-D7A29A3F9F0F&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/Python&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1001d9000 -        0x1001dcff7  zlib.so ??? (???) &amp;lt;647721E3-67B5-8CD0-3A78-060FF9C80924&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/zlib.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1001e1000 -        0x1001e2ff7  time.so ??? (???) &amp;lt;80513398-F49E-79D1-5014-514361869D40&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/time.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1001e8000 -        0x1001ebff7  strop.so ??? (???) &amp;lt;4A91CDB0-6E91-DA0E-8E6B-38BE29105EA0&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/strop.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1001f0000 -        0x1001f4ff7  _struct.so ??? (???) &amp;lt;B4DD710D-1511-99F0-66AE-329185E2B88C&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_struct.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1001fb000 -        0x1001fcfff  fcntl.so ??? (???) &amp;lt;B58E4C0C-1065-E37B-5334-DFDBAD20655C&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/fcntl.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x100530000 -        0x100533fff +_jsonlib.so ??? (???) &amp;lt;39ECE847-5105-FA70-7BA9-244D5FA04F5A&amp;gt; /Users/mazdak/.python-eggs/jsonlib-1.6.1-py2.6-macosx-10.6-universal.egg-tmp/_jsonlib.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x100537000 -        0x10053cfff  itertools.so ??? (???) &amp;lt;9287854F-7F2B-D4AF-FCA3-EB69DA821DA9&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/itertools.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x100544000 -        0x100547fff  _multiprocessing.so ??? (???) &amp;lt;A7CD5CC3-CB1B-876E-9D6B-18F273D3BB7C&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_multiprocessing.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x10054c000 -        0x10054cfff  _bisect.so ??? (???) &amp;lt;ED4803F1-2A79-BC9F-6F2E-C9BF77B9D9FC&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_bisect.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1007d1000 -        0x1007e3ff7  _ctypes.so ??? (???) &amp;lt;AE0D5F6C-D720-B876-A392-856F0A160827&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_ctypes.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1007ee000 -        0x1007efff7  resource.so ??? (???) &amp;lt;2797FA82-B572-1D65-059C-A2907E2F331A&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/resource.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1007f3000 -        0x1007f6fff  _ssl.so ??? (???) &amp;lt;B10EAC68-E620-8A1A-0219-68CCABC29CA2&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_ssl.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1007fc000 -        0x1007fcff7 +setproctitle.so ??? (???) &amp;lt;42578731-2593-1AF9-2CA4-D193AFB2DD7C&amp;gt; /Users/mazdak/.python-eggs/setproctitle-1.1-py2.6-macosx-10.6-universal.egg-tmp/setproctitle.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x101040000 -        0x101047fff  _socket.so ??? (???) &amp;lt;BA49272E-D7AA-158E-C95E-366B6349C046&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_socket.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x10104f000 -        0x101050fff  cStringIO.so ??? (???) &amp;lt;0C7D1D15-4241-99A9-7671-A3CF105C2EBB&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/cStringIO.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x101055000 -        0x101057ff7  select.so ??? (???) &amp;lt;959BC45E-FCC7-107D-0D20-DF9A0BA0E86A&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/select.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x10105d000 -        0x10105ffe7  binascii.so ??? (???) &amp;lt;D7D60C49-DEFA-5DB1-83B0-F91347966BC8&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/binascii.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x101063000 -        0x101064ff7  _functools.so ??? (???) &amp;lt;97A294C7-290C-9746-B294-275516490F40&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_functools.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x101068000 -        0x10106bfff  _collections.so ??? (???) &amp;lt;57523A72-6EAC-69D0-DC9B-6B698973156C&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_collections.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x101071000 -        0x101074fff  operator.so ??? (???) &amp;lt;ADC2B876-4E3F-93E3-D83C-4B8A3AEAAE2B&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/operator.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x10107a000 -        0x10107cff7  math.so ??? (???) &amp;lt;54D066FD-A9F9-EA69-8C3C-CE83DF68C58A&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/math.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x101082000 -        0x101083fff  _random.so ??? (???) &amp;lt;FC54824D-3F1F-D538-DBF8-05E393A696B6&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_random.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x101087000 -        0x101087fff  grp.so ??? (???) &amp;lt;AEBF325A-8034-28EC-2813-EAD4D9E7B259&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/grp.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1010cb000 -        0x1010ccfff  _locale.so ??? (???) &amp;lt;43F84ED0-3A85-1997-8098-2D3870B4012D&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_locale.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1010d0000 -        0x1010d3fff  _csv.so ??? (???) &amp;lt;ACE39A2B-E3BC-EC0C-D825-1812240F2B06&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_csv.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1010d9000 -        0x1010e5fff  cPickle.so ??? (???) &amp;lt;7C50CFD6-883C-45B8-FAB8-D02C33E85437&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/cPickle.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1010eb000 -        0x1010f0ff7 +_pylibmc.so ??? (???) &amp;lt;F8D47DAA-881C-1175-7283-5AB8ED85DDE6&amp;gt; /Library/Python/2.6/site-packages/_pylibmc.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1010f6000 -        0x1010f7ff7  _heapq.so ??? (???) &amp;lt;9D1346ED-4A36-F835-2C9C-7303DEF1CFAA&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_heapq.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1010fc000 -        0x1010fcfff +httpheader.so ??? (???) &amp;lt;15F1920E-D9A4-CAFA-8F88-47F920F9FE19&amp;gt; /Users/mazdak/Sites/bidder/tornado/httpheader.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1016c1000 -        0x1016d0fef +libmemcached.5.dylib 6.0.0 (compatibility 6.0.0) &amp;lt;632C9047-C526-B461-5091-64AB75F3C49C&amp;gt; /opt/local/lib/libmemcached.5.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1016de000 -        0x1016f2ff7 +libz.1.dylib 1.2.5 (compatibility 1.0.0) &amp;lt;6D767FC2-DF89-6017-4B82-A1E5EB8CEED9&amp;gt; /opt/local/lib/libz.1.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1016f6000 -        0x1016f7ff7  _hashlib.so ??? (???) &amp;lt;7F6E55A6-9FFF-0C47-2D65-76900C63C294&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_hashlib.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1016fb000 -        0x1016fcff7  _json.so ??? (???) &amp;lt;9CE8A411-177E-028D-2A7D-D6EA00114EFD&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_json.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x101880000 -        0x101904fe7 +kyotocabinet.so ??? (???) &amp;lt;53E5B97E-10D5-F999-2AAC-8BA57BD762FE&amp;gt; /Library/Python/2.6/site-packages/kyotocabinet.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1019a6000 -        0x101a2dfef +libkyotocabinet.8.dylib 8.8.0 (compatibility 8.0.0) &amp;lt;BDC4A973-0FBA-15A6-F7B9-ADA294EBC37F&amp;gt; /usr/local/lib/libkyotocabinet.8.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x1067fc000 -        0x1067fcfff  _weakref.so ??? (???) &amp;lt;2A4A85EC-30E5-11FB-40B5-544EEF7CD1C0&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/_weakref.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x106a00000 -        0x106a0bfe7  datetime.so ??? (???) &amp;lt;C8DD63B4-9685-C134-E60A-0ED11A0CCAF7&amp;gt; /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/datetime.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x106a14000 -        0x106a2aff7 +_psycopg.so ??? (???) &amp;lt;9B762408-2B3A-A032-D29D-3BCFF70FCC0C&amp;gt; /Users/mazdak/.python-eggs/psycopg2-2.2.2-py2.6-macosx-10.6-universal.egg-tmp/psycopg2/_psycopg.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x106a3f000 -        0x106a5bfff +libpq.5.dylib 5.2.0 (compatibility 5.0.0) &amp;lt;2F9B78E8-D746-571B-BFEB-DD416803F019&amp;gt; /opt/local/lib/postgresql84/libpq.5.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x106a64000 -        0x106aaffe7 +libssl.1.0.0.dylib ??? (???) &amp;lt;2F568EC4-A424-3B17-E09C-B27D4BCB038B&amp;gt; /opt/local/lib/libssl.1.0.0.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x106ac6000 -        0x106c15fe7 +libcrypto.1.0.0.dylib ??? (???) &amp;lt;029ACC30-4F00-234A-6C94-BF27E167437D&amp;gt; /opt/local/lib/libcrypto.1.0.0.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x10ba9b000 -        0x10bd35fff +uagod.so ??? (???) &amp;lt;846477D1-778C-FB85-17D6-28C45476DC21&amp;gt; /Library/Python/2.6/site-packages/uagod.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x10bd38000 -        0x10bd39fff +GeoIP.so ??? (???) &amp;lt;2829D870-F0AF-F3CA-4C5D-375BF872BB3E&amp;gt; /Library/Python/2.6/site-packages/GeoIP.so&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x10bd3d000 -        0x10bd69ff7 +libGeoIP.1.dylib 6.6.0 (compatibility 6.0.0) &amp;lt;931E9FA7-513A-C6D8-D3B6-D71242C9110D&amp;gt; /usr/local/lib/libGeoIP.1.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff5fc00000 -     0x7fff5fc3bdef  dyld 132.1 (???) &amp;lt;B536F2F1-9DF1-3B6C-1C2C-9075EA219A06&amp;gt; /usr/lib/dyld&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff80950000 -     0x7fff80a06fff  libobjc.A.dylib 227.0.0 (compatibility 1.0.0) &amp;lt;F206BE6D-8777-AE6C-B367-7BEA76C14241&amp;gt; /usr/lib/libobjc.A.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff81b25000 -     0x7fff81ce3fff  libicucore.A.dylib 40.0.0 (compatibility 1.0.0) &amp;lt;781E7B63-2AD0-E9BA-927C-4521DB616D02&amp;gt; /usr/lib/libicucore.A.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff81ce4000 -     0x7fff81d1efff  libssl.0.9.8.dylib 0.9.8 (compatibility 0.9.8) &amp;lt;C7153747-50E3-32DA-426F-CC4C505D1D6C&amp;gt; /usr/lib/libssl.0.9.8.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff81d6f000 -     0x7fff81f30fff  libSystem.B.dylib 125.2.1 (compatibility 1.0.0) &amp;lt;71E6D4C9-F945-6EC2-998C-D61AD590DAB6&amp;gt; /usr/lib/libSystem.B.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff82312000 -     0x7fff82313ff7  com.apple.TrustEvaluationAgent 1.1 (1) &amp;lt;51867586-1C71-AE37-EAAD-535A58DD3550&amp;gt; /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff82dc6000 -     0x7fff82dd7ff7  libz.1.dylib 1.2.3 (compatibility 1.0.0) &amp;lt;FB5EE53A-0534-0FFA-B2ED-486609433717&amp;gt; /usr/lib/libz.1.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff83568000 -     0x7fff835a9fff  com.apple.SystemConfiguration 1.10.5 (1.10.2) &amp;lt;FB39F09C-57BB-D8CC-348D-93E00C602F7D&amp;gt; /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff8390a000 -     0x7fff83a2bfe7  libcrypto.0.9.8.dylib 0.9.8 (compatibility 0.9.8) &amp;lt;48AEAFE1-21F4-B3C8-4199-35AD5E8D0613&amp;gt; /usr/lib/libcrypto.0.9.8.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff83e23000 -     0x7fff83e24fff  libffi.dylib ??? (???) &amp;lt;B683A5FD-A83D-7989-A91F-BAED12E37054&amp;gt; /usr/lib/libffi.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff85c5e000 -     0x7fff85cdbfef  libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) &amp;lt;35ECA411-2C08-FD7D-11B1-1B7A04921A5C&amp;gt; /usr/lib/libstdc++.6.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff85d35000 -     0x7fff85d39ff7  libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) &amp;lt;95718673-FEEE-B6ED-B127-BCDBDB60D4E5&amp;gt; /usr/lib/system/libmathCommon.A.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff8684e000 -     0x7fff869c5fe7  com.apple.CoreFoundation 6.6.4 (550.42) &amp;lt;770C572A-CF70-168F-F43C-242B9114FCB5&amp;gt; /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fff87785000 -     0x7fff877d1fff  libauto.dylib ??? (???) &amp;lt;F7221B46-DC4F-3153-CE61-7F52C8C293CF&amp;gt; /usr/lib/libauto.dylib&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;0x7fffffe00000 -     0x7fffffe01fff  libSystem.B.dylib ??? (???) &amp;lt;71E6D4C9-F945-6EC2-998C-D61AD590DAB6&amp;gt; /usr/lib/libSystem.B.dylib&lt;br/&gt;
&lt;br/&gt;
Model: MacBookPro5,4, BootROM MBP53.00AC.B03, 2 processors, Intel Core 2 Duo, 2.53 GHz, 8 GB, SMC 1.49f2&lt;br/&gt;
Graphics: NVIDIA GeForce 9400M, NVIDIA GeForce 9400M, PCI, 256 MB&lt;br/&gt;
Memory Module: global_name&lt;br/&gt;
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x8D), Broadcom BCM43xx 1.0 (5.10.131.36.1)&lt;br/&gt;
Bluetooth: Version 2.3.8f7, 2 service, 19 devices, 1 incoming serial ports&lt;br/&gt;
Network Service: AirPort, AirPort, en1&lt;br/&gt;
Serial ATA Device: APPLE SSD TS128A, 113 GB&lt;br/&gt;
Serial ATA Device: MATSHITADVD-R   UJ-868&lt;br/&gt;
USB Device: Built-in iSight, 0x05ac  (Apple Inc.), 0x8507, 0x24400000&lt;br/&gt;
USB Device: Apple Internal Keyboard / Trackpad, 0x05ac  (Apple Inc.), 0x0236, 0x04600000&lt;br/&gt;
USB Device: IR Receiver, 0x05ac  (Apple Inc.), 0x8242, 0x04500000&lt;br/&gt;
USB Device: Internal Memory Card Reader, 0x05ac  (Apple Inc.), 0x8403, 0x26500000&lt;br/&gt;
USB Device: BRCM2046 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0x06100000&lt;br/&gt;
USB Device: Bluetooth USB Host Controller, 0x05ac  (Apple Inc.), 0x8217, 0x06110000</comment>
                    <comment id="19713" author="perry" created="Mon, 7 Mar 2011 12:29:03 -0600"  >We use pylibmc 1.1.1. </comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>589</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-96] POST/PUT requests not properly being appended to the buffer</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-96</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>From tcpdump:&lt;br/&gt;
&lt;br/&gt;
PUT /default/_design/lcb_design_doc HTTP/1.1&lt;br/&gt;
User-Agent: libcouchbase/1.1.0dp9&lt;br/&gt;
Accept: application/json&lt;br/&gt;
Host: 10.3.121.209:8092&lt;br/&gt;
Co{  &amp;quot;id&amp;quot; : &amp;quot;_design/lcb_design_doc&amp;quot;,  &amp;quot;language&amp;quot; : &amp;quot;javascript&amp;quot;,  &amp;quot;views&amp;quot; : {  &amp;quot;lcb-test-view&amp;quot; :  &amp;quot;function(doc) { if (doc.testid == &amp;#39;lcb&amp;#39;) { emit(doc.id) }  } &amp;quot;  } }&lt;br/&gt;
&lt;br/&gt;
- Content-Length gets truncated and replaced with the POST data.</description>
                <environment></environment>
            <key id="19561">CCBC-96</key>
            <summary>POST/PUT requests not properly being appended to the buffer</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Sep 2012 23:42:01 -0500</created>
                <updated>Thu, 27 Sep 2012 16:06:52 -0500</updated>
                    <resolved>Wed, 5 Sep 2012 01:03:40 -0500</resolved>
                                            <fixVersion>2.0.0beta</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="37650" author="farshid" created="Wed, 5 Sep 2012 00:39:37 -0500"  >what is the side effect of this bug ? does it impact view creation ? </comment>
                    <comment id="37651" author="mnunberg" created="Wed, 5 Sep 2012 00:44:19 -0500"  >Yes, both view creation and bucket management</comment>
                    <comment id="37652" author="avsej" created="Wed, 5 Sep 2012 00:47:15 -0500"  >&lt;a href=&quot;http://review.couchbase.org/20496&quot;&gt;http://review.couchbase.org/20496&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Strange, because I managed to create design documents using my ruby API which is using this function.</comment>
                    <comment id="37653" author="farshid" created="Wed, 5 Sep 2012 00:49:19 -0500"  >Serget/Matt,&lt;br/&gt;
&lt;br/&gt;
will there be a 1.1.0dpx release that we can include this fix ?</comment>
                    <comment id="37654" author="mnunberg" created="Wed, 5 Sep 2012 00:52:24 -0500"  >&lt;a href=&quot;http://review.couchbase.org/#/c/20496/1&quot;&gt;http://review.couchbase.org/#/c/20496/1&lt;/a&gt;</comment>
                    <comment id="37656" author="avsej" created="Wed, 5 Sep 2012 01:03:34 -0500"  >Farshid, we are going to release libcouchbase 2.0.0 because of API changes</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11421</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-95] Add TimS content/email on Views for Nielson to 2.0</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-95</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Add TimS info into Dev Guide on Indexing and querying for Nielson.</description>
                <environment></environment>
            <key id="19437">CCBC-95</key>
            <summary>Add TimS content/email on Views for Nielson to 2.0</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="kzeller">Karen Zeller</assignee>
                                <reporter username="kzeller">Karen Zeller</reporter>
                        <labels>
                    </labels>
                <created>Wed, 29 Aug 2012 11:49:35 -0500</created>
                <updated>Thu, 18 Oct 2012 15:04:22 -0500</updated>
                    <resolved>Thu, 18 Oct 2012 15:04:06 -0500</resolved>
                                                            <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                          <timeoriginalestimate seconds="28800">8h</timeoriginalestimate>
                    <timeestimate seconds="28800">8h</timeestimate>
                                  <comments>
                    <comment id="41839" author="kzeller" created="Thu, 18 Oct 2012 15:04:22 -0500"  >Fixed on 9/1/2012</comment>
                </comments>
                    <attachments>
                    <attachment id="14672" name="TimS_View_info.pdf" size="54328" author="kzeller" created="Wed, 29 Aug 2012 11:49:35 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11422</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-94] NMakefile is missing in the libvbucket package from C Client Library</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-94</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>NMakefile  is missing from the libvbucket package downloaded at the following link: &lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/clients/c/libvbucket-1.8.0.4.tar.gz&quot;&gt;http://packages.couchbase.com/clients/c/libvbucket-1.8.0.4.tar.gz&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
As per the instructions provided in the link below: &lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/c-install-windows.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/c-install-windows.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
The NMake file in the libvbucket needs to be edited for developing in Windows, Which is not available.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>Windows </environment>
            <key id="19296">CCBC-94</key>
            <summary>NMakefile is missing in the libvbucket package from C Client Library</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="balak">Bala Keelapudi</reporter>
                        <labels>
                    </labels>
                <created>Thu, 23 Aug 2012 11:16:48 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 23 Aug 2012 13:17:15 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="36750" author="avsej" created="Thu, 23 Aug 2012 13:17:15 -0500"  >&lt;a href=&quot;http://review.couchbase.org/20090&quot;&gt;http://review.couchbase.org/20090&lt;/a&gt; will be released in next version, meanwhile you can use it from git: &lt;a href=&quot;https://github.com/membase/libvbucket/blob/master/NMakefile&quot;&gt;https://github.com/membase/libvbucket/blob/master/NMakefile&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11423</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-92] Memory leak when using more than 1 server</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-92</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>There is a memory leak in server.c file. In the function libcouchbase_purge_single_server ring buffer context &amp;quot;rest&amp;quot; initialized but never freed. Do call libcouchbase_ringbuffer_destruct(&amp;amp;rest) at the end of the function.</description>
                <environment>Centos 5.6 32bits</environment>
            <key id="19144">CCBC-92</key>
            <summary>Memory leak when using more than 1 server</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="accel">Alexander Vinogradov</reporter>
                        <labels>
                    </labels>
                <created>Sat, 18 Aug 2012 05:00:44 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Sat, 18 Aug 2012 05:37:39 -0500</resolved>
                            <version>1.0.4</version>
                                <fixVersion>1.0.6</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="35868" author="avsej" created="Sat, 18 Aug 2012 05:37:39 -0500"  >Thanks&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://review.couchbase.org/19828&quot;&gt;http://review.couchbase.org/19828&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
This fix will be accessible with 1.0.6 release</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10078</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-91] timeouts seen after failover, rebalance and add back</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-91</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>scenario: &lt;br/&gt;
1. Start PHP client in a loop setting and getting against a 2 node cluster&lt;br/&gt;
2. Click failover to kick a node out, click rebalance to make it unassociated&lt;br/&gt;
3. Walk through the setup wizard on that node, re-add it to the cluster&lt;br/&gt;
4. After adding, click rebalance&lt;br/&gt;
&lt;br/&gt;
Expected behavior:&lt;br/&gt;
During rebalance in step 4, which is an add node scenario, no timeouts are expected.&lt;br/&gt;
&lt;br/&gt;
Observed behavior:&lt;br/&gt;
During rebalance in step 4, I see timeouts from PHP, and they continue even after the rebalance has completed.</description>
                <environment>PHP 5.3.3 (cli) (built: Jun 27 2012 12:25:48) &lt;br/&gt;
libcouchbase1-1.0.4-1&lt;br/&gt;
CentOS release 5.8 (Final), x86_64&lt;br/&gt;
Couchbase Server 1.8.1 Enterprise</environment>
            <key id="18984">CCBC-91</key>
            <summary>timeouts seen after failover, rebalance and add back</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Aug 2012 05:13:19 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Sat, 18 Aug 2012 05:35:45 -0500</resolved>
                            <version>1.0.4</version>
                                <fixVersion>1.0.5</fixVersion>
                                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="35284" author="ingenthr" created="Mon, 13 Aug 2012 05:24:41 -0500"  >A packet capture of this same issue, with the client on MacOS X and CentOS 5.8 servers with Couchbase Server 1.8.1 enterprise edition may be found at &lt;a href=&quot;http://dl.dropbox.com/u/1537838/failover-maybe-issue&quot;&gt;http://dl.dropbox.com/u/1537838/failover-maybe-issue&lt;/a&gt;</comment>
                    <comment id="35312" author="avsej" created="Mon, 13 Aug 2012 13:51:02 -0500"  >&lt;a href=&quot;http://review.couchbase.org/19563&quot;&gt;http://review.couchbase.org/19563&lt;/a&gt;</comment>
                    <comment id="35314" author="ingenthr" created="Mon, 13 Aug 2012 14:10:13 -0500"  >Note from discussion, this is a possible fix, not sure.</comment>
                    <comment id="35345" author="ingenthr" created="Mon, 13 Aug 2012 17:27:43 -0500"  >Sergey and I reproduced the issue, and it&amp;#39;s related to the series of steps outlined above.  The underlying libcouchbase is not receiving the updated configuration for some reason, and thus is sending items to the wrong node, and then they&amp;#39;re timing out.&lt;br/&gt;
&lt;br/&gt;
Sergey will do more work on finding the specific cause.</comment>
                    <comment id="35407" author="avsej" created="Tue, 14 Aug 2012 08:57:34 -0500"  >The patch &lt;a href=&quot;http://review.couchbase.org/19599&quot;&gt;http://review.couchbase.org/19599&lt;/a&gt; and aforementioned &lt;a href=&quot;http://review.couchbase.org/19563&quot;&gt;http://review.couchbase.org/19563&lt;/a&gt; solves the issue.&lt;br/&gt;
&lt;br/&gt;
To reproduce it for sure you should failover the node is currently used by client to listen config changes. (Usually it is the first successfull node from initial node list)</comment>
                </comments>
                    <attachments>
                    <attachment id="14319" name="php-ext-couchbase.tar.gz" size="65616" author="ingenthr" created="Mon, 13 Aug 2012 05:13:19 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10177</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-90] library crashes in instance.c libcouchbase_switch_to_backup_node.</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-90</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>library crashes when accessing into allocated memory at instance-&amp;gt;backup_nodes[instance-&amp;gt;backup_idx].&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;instance-&amp;gt;backup_nodes[instance-&amp;gt;backup_idx] is not necessarily NULL when instance-&amp;gt;backup_idx is &amp;gt;=  instance-&amp;gt;nbackup_nodes.&lt;br/&gt;
&lt;br/&gt;
This was fixed by changing line 729 from:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (instance-&amp;gt;backup_nodes[instance-&amp;gt;backup_idx] == NULL) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--instance-&amp;gt;backup_idx;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_error_handler(instance, error, reason);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return -1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
to:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (instance-&amp;gt;backup_idx &amp;gt;= instance-&amp;gt;nbackup_nodes || instance-&amp;gt;backup_nodes[instance-&amp;gt;backup_idx] == NULL) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--instance-&amp;gt;backup_idx;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_error_handler(instance, error, reason);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return -1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
This prevents indexing past the number of backup_nodes that have been allocated.</description>
                <environment>Windows</environment>
            <key id="18865">CCBC-90</key>
            <summary>library crashes in instance.c libcouchbase_switch_to_backup_node.</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="brettharrison">Brett Harrison</reporter>
                        <labels>
                    </labels>
                <created>Tue, 7 Aug 2012 12:28:40 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Fri, 24 Aug 2012 16:55:11 -0500</resolved>
                            <version>1.1.0dp9</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="34963" author="avsej" created="Tue, 7 Aug 2012 18:25:27 -0500"  >Thanks for report. Actually the issue was in backup_nodes initialization on line 364 &lt;a href=&quot;http://review.couchbase.org/#patch,sidebyside,19339,1,src/instance.c&quot;&gt;http://review.couchbase.org/#patch,sidebyside,19339,1,src/instance.c&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
In patch &lt;a href=&quot;http://review.couchbase.org/19339&quot;&gt;http://review.couchbase.org/19339&lt;/a&gt; I fixed the issue and also removed nbackup_nodes mentions</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11424</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-89] Memory leak in http interface</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-89</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>we don&amp;#39;t release the memory for the parser</description>
                <environment></environment>
            <key id="18734">CCBC-89</key>
            <summary>Memory leak in http interface</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Jul 2012 07:32:28 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Tue, 31 Jul 2012 08:09:24 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="34330" author="trond" created="Tue, 31 Jul 2012 07:34:03 -0500"  >&lt;a href=&quot;http://review.couchbase.org/19082&quot;&gt;http://review.couchbase.org/19082&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11425</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-88] Observe: Segmentation fault</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-88</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When trying to observe a document a Segmentation Fault breaks the library.&lt;br/&gt;
&lt;br/&gt;
//---------------------------------------------------------------------------------------------------------------------------&lt;br/&gt;
bool MyClass::observe(char *str)&lt;br/&gt;
{&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char                 *keysList[1]  = {0};          // Keys list.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;size_t                keysSizes[1] = {0};          // Keys sizes list.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_error_t  oprc = LIBCOUCHBASE_SUCCESS; // Return control.&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Observe.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keysList[0]  = str;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keysSizes[0] = strlen(str);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oprc = libcouchbase_observe(lcb, this, 1, (const void*const*)keysList,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keysSizes);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(oprc != LIBCOUCHBASE_SUCCESS) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return false;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Force wait.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lcbIO-&amp;gt;run_event_loop(lcbIO);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;..........&lt;br/&gt;
}&lt;br/&gt;
//---------------------------------------------------------------------------------------------------------------------------&lt;br/&gt;
&lt;br/&gt;
//---------------------------------------------------------------------------------------------------------------------------&lt;br/&gt;
Command:&lt;br/&gt;
./cbc observe -h192.168.0.101 -bvp_transactions -uwarp -Ptesttest 0001&lt;br/&gt;
&lt;br/&gt;
Result:&lt;br/&gt;
Segmentation fault (core dumped)&lt;br/&gt;
&lt;br/&gt;
GDB LOG ATTACHED.&lt;br/&gt;
//---------------------------------------------------------------------------------------------------------------------------&lt;br/&gt;
&lt;br/&gt;
//---------------------------------------------------------------------------------------------------------------------------&lt;br/&gt;
$ ./cbc cat -h192.168.0.101 -bvp_transactions -uwarp -Ptesttest 0001&lt;br/&gt;
&amp;quot;0001&amp;quot; Size:2 Flags:0 CAS:57eb22b63bfcae12&lt;br/&gt;
{}&lt;br/&gt;
//---------------------------------------------------------------------------------------------------------------------------&lt;br/&gt;
</description>
                <environment>OS: Linux - Fedora 16 x86_64&lt;br/&gt;
Kernel: Linux warp-fedora64-devel 3.2.1-3.fc16.x86_64 #1 SMP Mon Jan 23 15:36:17 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux&lt;br/&gt;
libcouchbase: latest git version (commit: 3fdd9a8c81062c99419fdbbf8b0609798ae1d55e - Date: Wed Jul 18 18:15:33 2012 +0300)&lt;br/&gt;
Qt: 4.8.1&lt;br/&gt;
Compiler: g++ (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2)</environment>
            <key id="18532">CCBC-88</key>
            <summary>Observe: Segmentation fault</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="warptrosse">Federico Casares</reporter>
                        <labels>
                        <label>customer</label>
                    </labels>
                <created>Thu, 19 Jul 2012 13:02:11 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 19 Jul 2012 15:20:02 -0500</resolved>
                            <version>1.1.0dp7</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                          <timeoriginalestimate seconds="28800">8h</timeoriginalestimate>
                    <timeestimate seconds="28800">8h</timeestimate>
                                  <comments>
                    <comment id="33555" author="warptrosse" created="Thu, 19 Jul 2012 14:10:43 -0500"  >Cluster:&lt;br/&gt;
NODES: 1&lt;br/&gt;
PROCESSOR: Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz&lt;br/&gt;
MEMORY: 8094184 Mb RAM&lt;br/&gt;
DISK: 2 Tb disk&lt;br/&gt;
HOST OS: Fedora 16&lt;br/&gt;
VIRT: KVM Virtualization&lt;br/&gt;
GUEST OS: Red Hat Enterprise Linux Server release 6.2 (Santiago)&lt;br/&gt;
GUEST INFO: attached</comment>
                    <comment id="33557" author="warptrosse" created="Thu, 19 Jul 2012 14:22:20 -0500"  >cbc stats attached</comment>
                    <comment id="33559" author="warptrosse" created="Thu, 19 Jul 2012 14:46:11 -0500"  >curl bucket info attached</comment>
                    <comment id="33560" author="warptrosse" created="Thu, 19 Jul 2012 14:55:28 -0500"  >more gdb info</comment>
                    <comment id="33565" author="warptrosse" created="Thu, 19 Jul 2012 15:06:44 -0500"  >res dump attached</comment>
                    <comment id="33569" author="warptrosse" created="Thu, 19 Jul 2012 15:17:40 -0500"  >couchbase server commands_ids.h attached</comment>
                    <comment id="33570" author="avsej" created="Thu, 19 Jul 2012 15:20:02 -0500"  >Couchbase Server DP4 doesn&amp;#39;t have OBSERVE implementation, and the code 0x83 bound to another command, as you can see in command_id.h attached</comment>
                </comments>
                    <attachments>
                    <attachment id="14066" name="cbc_gdb_log2.txt" size="3374" author="warptrosse" created="Thu, 19 Jul 2012 14:55:28 -0500" />
                    <attachment id="14067" name="cbc_gdb_log3.txt" size="4056" author="warptrosse" created="Thu, 19 Jul 2012 15:06:44 -0500" />
                    <attachment id="14053" name="cbc_gdb_log.txt" size="3906" author="warptrosse" created="Thu, 19 Jul 2012 13:02:11 -0500" />
                    <attachment id="14062" name="cbc_stats.txt" size="12825" author="warptrosse" created="Thu, 19 Jul 2012 14:22:20 -0500" />
                    <attachment id="14069" name="command_ids.h" size="8311" author="warptrosse" created="Thu, 19 Jul 2012 15:17:40 -0500" />
                    <attachment id="14063" name="curl_bucket_info.txt" size="4203" author="warptrosse" created="Thu, 19 Jul 2012 14:46:11 -0500" />
                    <attachment id="14061" name="server_info.txt" size="5539" author="warptrosse" created="Thu, 19 Jul 2012 14:10:43 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11426</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-87] error codes need additional documentation in types.h and a reference from couchbase.h</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-87</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Some error codes, like LIBCOUCHBASE_ETMPFAIL, are defined to be returned for certain functions, but other functions don&amp;#39;t tell users what may be returned from the header file or other documentation.  It would be good to add this to the headers, but needs to be documented in some way.</description>
                <environment></environment>
            <key id="18475">CCBC-87</key>
            <summary>error codes need additional documentation in types.h and a reference from couchbase.h</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Tue, 17 Jul 2012 09:58:57 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Thu, 25 Oct 2012 07:06:23 -0500</resolved>
                                            <fixVersion>2.0.0beta3</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="38343" author="avsej" created="Mon, 10 Sep 2012 15:30:24 -0500"  >Now codes are separated</comment>
                    <comment id="39612" author="ingenthr" created="Tue, 25 Sep 2012 17:43:14 -0500"  >Karen: need your help updating this </comment>
                    <comment id="39615" author="ingenthr" created="Tue, 25 Sep 2012 17:58:37 -0500"  >Plan on this one is to add:&lt;br/&gt;
1) a reference from libcouchbase/couchbase.h to the libcouchbase/types.h&lt;br/&gt;
2) add additional text to types.h on what needs to be there</comment>
                    <comment id="42466" author="trond" created="Thu, 25 Oct 2012 06:42:35 -0500"  >&lt;a href=&quot;http://review.couchbase.org/#/c/21958/1&quot;&gt;http://review.couchbase.org/#/c/21958/1&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                <outwardlinks description="depends on">
                            <issuelink>
            <issuekey id="19645">CCBC-98</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11427</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-86] libvbucket/libcouchbase must not assert on invalid maps</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-86</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>SUBJ&lt;br/&gt;
&lt;br/&gt;
See &lt;a href=&quot;http://www.couchbase.com/issues/browse/MB-5893&quot;&gt;http://www.couchbase.com/issues/browse/MB-5893&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Even if input is invalid there&amp;#39;s needs to be some sensible behavior.</description>
                <environment></environment>
            <key id="18416">CCBC-86</key>
            <summary>libvbucket/libcouchbase must not assert on invalid maps</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="4">Incomplete</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="alkondratenko">Aleksey Kondratenko</reporter>
                        <labels>
                    </labels>
                <created>Fri, 13 Jul 2012 11:35:10 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Fri, 13 Jul 2012 11:35:51 -0500</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="32935" author="alkondratenko" created="Fri, 13 Jul 2012 11:35:51 -0500"  >Sorry. It&amp;#39;s not assert. I was too quick :(</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11428</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-85] Implement general purpose timers</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-85</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Just expose timers from underlying event IO engine</description>
                <environment></environment>
            <key id="18383">CCBC-85</key>
            <summary>Implement general purpose timers</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jul 2012 08:32:10 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Fri, 13 Jul 2012 16:22:09 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="32825" author="avsej" created="Thu, 12 Jul 2012 08:32:39 -0500"  >Awaiting review &lt;a href=&quot;http://review.couchbase.org/18090&quot;&gt;http://review.couchbase.org/18090&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="18382">RCBC-57</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11228</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-84] Updated screencast for /develop pages </title>
                <link>http://www.couchbase.com/issues/browse/CCBC-84</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Create an updated screencast to ship with the new 2.0 developer SDKs</description>
                <environment></environment>
            <key id="18379">CCBC-84</key>
            <summary>Updated screencast for /develop pages </summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jul 2012 00:55:55 -0500</created>
                <updated>Thu, 12 Jul 2012 00:56:01 -0500</updated>
                                                                                    <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11363</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-83] Update the getting started to match the Beer sample DB </title>
                <link>http://www.couchbase.com/issues/browse/CCBC-83</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <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.&lt;br/&gt;
</description>
                <environment></environment>
            <key id="18378">CCBC-83</key>
            <summary>Update the getting started to match the Beer sample DB </summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="3" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/inprogress.png">In Progress</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jul 2012 00:55:30 -0500</created>
                <updated>Thu, 18 Oct 2012 11:53:21 -0500</updated>
                                                                    <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="38711" author="ingenthr" created="Thu, 13 Sep 2012 01:10:46 -0500"  >Sergey: Can you update the getting started web page to do some gets/sets against the beer sample DB?</comment>
                    <comment id="38712" author="avsej" created="Thu, 13 Sep 2012 01:30:38 -0500"  >Ok, will do it on staging</comment>
                    <comment id="41786" author="ingenthr" created="Thu, 18 Oct 2012 11:53:21 -0500"  >I think this is closeable, right?</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10826</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-82] Replica read command </title>
                <link>http://www.couchbase.com/issues/browse/CCBC-82</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Implement a simple replica read command&lt;br/&gt;
</description>
                <environment></environment>
            <key id="18377">CCBC-82</key>
            <summary>Replica read command </summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="3">Duplicate</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jul 2012 00:54:46 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 12 Jul 2012 08:18:54 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                        <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                <outwardlinks description="duplicates">
                            <issuelink>
            <issuekey id="16238">CCBC-55</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11429</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-81] Implement observe command </title>
                <link>http://www.couchbase.com/issues/browse/CCBC-81</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Add the basic low level observe command&lt;br/&gt;
</description>
                <environment></environment>
            <key id="18376">CCBC-81</key>
            <summary>Implement observe command </summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="3">Duplicate</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jul 2012 00:54:16 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 12 Jul 2012 07:50:27 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                        <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                <outwardlinks description="duplicates">
                            <issuelink>
            <issuekey id="15144">CCBC-15</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11227</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-80] Connection fails with IPV6 system</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-80</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When a hostname request returns an IPV6 address the client fails to connect with LIBCOUCHBASE_CONNECT_ERROR&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment></environment>
            <key id="18285">CCBC-80</key>
            <summary>Connection fails with IPV6 system</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="james.mauss">James Mauss</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Jul 2012 08:32:58 -0500</created>
                <updated>Thu, 27 Sep 2012 16:06:52 -0500</updated>
                    <resolved>Tue, 28 Aug 2012 04:11:29 -0500</resolved>
                                            <fixVersion>2.0.0beta</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="32586" author="avsej" created="Tue, 10 Jul 2012 15:10:13 -0500"  >How did you manage to run Couchbase Server on IPv6? I&amp;#39;m just trying to reproduce the issue.</comment>
                    <comment id="37074" author="trond" created="Tue, 28 Aug 2012 03:42:36 -0500"  >&lt;a href=&quot;http://review.couchbase.org/20242&quot;&gt;http://review.couchbase.org/20242&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11430</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-79] Need RPMs for CentOS/RedHat</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-79</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Cleaning up the getting started and tutorial. Right now it is blank/ no command provided:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/installation_packages_linux_rh.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/installation_packages_linux_rh.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Let me know and I will add.</description>
                <environment></environment>
            <key id="18210">CCBC-79</key>
            <summary>Need RPMs for CentOS/RedHat</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="kzeller">Karen Zeller</reporter>
                        <labels>
                        <label>customer</label>
                    </labels>
                <created>Thu, 5 Jul 2012 17:25:14 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Mon, 10 Sep 2012 10:30:14 -0500</resolved>
                                            <fixVersion>1.0</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="32824" author="avsej" created="Thu, 12 Jul 2012 08:21:21 -0500"  >Please check out the links below:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/develop/c/current&quot;&gt;www.couchbase.com/develop/c/current&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/develop/c/next&quot;&gt;www.couchbase.com/develop/c/next&lt;/a&gt;</comment>
                    <comment id="38201" author="avsej" created="Mon, 10 Sep 2012 10:30:14 -0500"  >See updated repo files and updated instruction on site&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/rpm/couchbase-centos55-i386.repo&quot;&gt;http://packages.couchbase.com/rpm/couchbase-centos55-i386.repo&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/rpm/couchbase-centos55-x86_64.repo&quot;&gt;http://packages.couchbase.com/rpm/couchbase-centos55-x86_64.repo&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/rpm/couchbase-centos62-i386.repo&quot;&gt;http://packages.couchbase.com/rpm/couchbase-centos62-i386.repo&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/rpm/couchbase-centos62-x86_64.repo&quot;&gt;http://packages.couchbase.com/rpm/couchbase-centos62-x86_64.repo&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/preview/rpm/couchbase-centos55-i386.repo&quot;&gt;http://packages.couchbase.com/preview/rpm/couchbase-centos55-i386.repo&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/preview/rpm/couchbase-centos55-x86_64.repo&quot;&gt;http://packages.couchbase.com/preview/rpm/couchbase-centos55-x86_64.repo&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/preview/rpm/couchbase-centos62-i386.repo&quot;&gt;http://packages.couchbase.com/preview/rpm/couchbase-centos62-i386.repo&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://packages.couchbase.com/preview/rpm/couchbase-centos62-x86_64.repo&quot;&gt;http://packages.couchbase.com/preview/rpm/couchbase-centos62-x86_64.repo&lt;/a&gt;&lt;br/&gt;
</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="16286">CCBC-57</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11431</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-78] Improved Sample Code for &quot;Simple Example&quot;</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-78</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Hi,&lt;br/&gt;
&lt;br/&gt;
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:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/simple_example.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/simple_example.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
The customer requests:&lt;br/&gt;
&lt;br/&gt;
- The tutorial example bails from callbacks with exit(), rather than&lt;br/&gt;
passing control back to main (after setting a global flag, for example,&lt;br/&gt;
or one passed in via the cookie, etc.).&lt;br/&gt;
- The tutorial should also show use of libcouchbase_remove() and what to&lt;br/&gt;
expect from libcouchbase_mget() afterwards (the latter is in the Python&lt;br/&gt;
docs, but not the C docs).&lt;br/&gt;
- The tutorial should use libcouchbase_destroy().&lt;br/&gt;
- Some mention of whether a disconnect is needed or not would be&lt;br/&gt;
appropriate.&lt;br/&gt;
&lt;br/&gt;
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.&lt;br/&gt;
&lt;br/&gt;
Also let me know if a C client needs to be destroyed and if so how.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>all platforms</environment>
            <key id="18200">CCBC-78</key>
            <summary>Improved Sample Code for &quot;Simple Example&quot;</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="kzeller">Karen Zeller</reporter>
                        <labels>
                        <label>customer</label>
                    </labels>
                <created>Thu, 5 Jul 2012 16:25:15 -0500</created>
                <updated>Thu, 5 Jul 2012 16:25:15 -0500</updated>
                                    <version>1.0</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11081</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-77] The client uses the same error code for server&apos;s and its own OOM errors</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-77</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>The function libcouchbase_error_t map_error(protocol_binary_response_status) which maps protocol error codes to client&amp;#39;s:&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/src/handler.c#L38&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/src/handler.c#L38&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
One of the cases when the client returns the same error code when it cannot allocate memory:&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/src/handler.c#L128&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/src/handler.c#L128&lt;/a&gt;</description>
                <environment></environment>
            <key id="17989">CCBC-77</key>
            <summary>The client uses the same error code for server&apos;s and its own OOM errors</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 25 Jun 2012 07:25:49 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Sat, 14 Jul 2012 05:36:05 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="32976" author="trond" created="Sat, 14 Jul 2012 05:36:05 -0500"  >&lt;a href=&quot;http://review.couchbase.org/18368&quot;&gt;http://review.couchbase.org/18368&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11432</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-76] libcouchbase calling connect(2) on each spooled command</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-76</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>If the server is not connected, a large spool operation will call connect() many times. For one, this makes it difficult to debug, and performs a lot of un-necessary system calls..&lt;br/&gt;
&lt;br/&gt;
strace output and sample script attached</description>
                <environment>Any..</environment>
            <key id="17831">CCBC-76</key>
            <summary>libcouchbase calling connect(2) on each spooled command</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Jun 2012 03:48:07 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Wed, 7 Nov 2012 04:33:15 -0600</resolved>
                                            <fixVersion>2.0.0beta3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="43458" author="avsej" created="Wed, 7 Nov 2012 04:28:49 -0600"  >Version working with recent libcouchbase</comment>
                    <comment id="43459" author="avsej" created="Wed, 7 Nov 2012 04:32:40 -0600"  >$ strace -c -o st.txt ./lcb_connbug&lt;br/&gt;
&lt;br/&gt;
Updated version of output</comment>
                </comments>
                    <attachments>
                    <attachment id="15737" name="lcb_connbug.c" size="811" author="avsej" created="Wed, 7 Nov 2012 04:28:49 -0600" />
                    <attachment id="13655" name="lcb_connbug.c" size="774" author="mnunberg" created="Fri, 15 Jun 2012 03:48:07 -0500" />
                    <attachment id="13656" name="st.log" size="2398" author="mnunberg" created="Fri, 15 Jun 2012 03:48:07 -0500" />
                    <attachment id="15738" name="st.txt" size="2454" author="avsej" created="Wed, 7 Nov 2012 04:32:40 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11080</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-75] assertion failure in relocate_packets</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-75</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>#3  0x00002b0fe1766475 in raise () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
#4  0x00002b0fe17696f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
#5  0x00002b0fe175f621 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
#6  0x00002b0fe8bdfaf7 in relocate_packets (dst_instance=&amp;lt;optimized out&amp;gt;, src=&amp;lt;optimized out&amp;gt;) at src/instance.c:387&lt;br/&gt;
#7  libcouchbase_update_serverlist (instance=&amp;lt;optimized out&amp;gt;) at src/instance.c:447&lt;br/&gt;
#8  vbucket_stream_handler (sock=&amp;lt;optimized out&amp;gt;, which=&amp;lt;optimized out&amp;gt;, arg=&amp;lt;optimized out&amp;gt;) at src/instance.c:820&lt;br/&gt;
#9  0x00002b0feac6e344 in event_base_loop () from /usr/lib/libevent-1.4.so.2&lt;br/&gt;
</description>
                <environment>Debian Wheezy</environment>
            <key id="16671">CCBC-75</key>
            <summary>assertion failure in relocate_packets</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="Artemciy">Artem Grinblat</reporter>
                        <labels>
                    </labels>
                <created>Thu, 19 Apr 2012 15:15:34 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Thu, 14 Jun 2012 15:56:54 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="28726" author="farshid" created="Sun, 3 Jun 2012 23:18:19 -0500"  >should i move this bug to libcouchbase project ?</comment>
                    <comment id="28731" author="trond" created="Mon, 4 Jun 2012 01:04:19 -0500"  >we renamed libmembase to libcouchbase as part of the company rename</comment>
                    <comment id="29955" author="trond" created="Thu, 14 Jun 2012 04:34:30 -0500"  >Sergey: Have you seen this before, and do you know if we&amp;#39;ve fixed it?</comment>
                    <comment id="29956" author="avsej" created="Thu, 14 Jun 2012 04:46:44 -0500"  >It would be nice to know what version reported is using. I&amp;#39;ve fixed something related to buffer relocation. src/instance.c:387 on latest 1.0.4 is just declaration section. It would be great if Artem Grinblat provide an example, how to reproduce it, or at least coredump file to inspect the state of the code.&lt;br/&gt;
&lt;br/&gt;
On the some point we&amp;#39;ve implemented &amp;#39;cbc version&amp;#39; command (cbc is tool which come along with libcouchbase) which should help to determine version of the library:&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
$ cbc version&lt;br/&gt;
cbc built from: libcouchbase 1.1.0dp5_13_g10647e2&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using libcouchbase: 1.1.0dp5&lt;br/&gt;
</comment>
                    <comment id="30012" author="Artemciy" created="Thu, 14 Jun 2012 15:53:18 -0500"  >It&amp;#39;s been a while, so..&lt;br/&gt;
&amp;gt; It would be great if Artem Grinblat provide an example, how to reproduce it,&lt;br/&gt;
I&amp;#39;ve got it only once.&lt;br/&gt;
&amp;gt; or at least coredump file to inspect the state of the code.&lt;br/&gt;
Sorry, no longer have it around.&lt;br/&gt;
&amp;gt; On the some point we&amp;#39;ve implemented &amp;#39;cbc version&amp;#39; command&lt;br/&gt;
Would be nice to have this info here: &lt;a href=&quot;http://www.couchbase.com/issues/secure/CreateIssue!default.jspa&quot;&gt;http://www.couchbase.com/issues/secure/CreateIssue!default.jspa&lt;/a&gt;&lt;br/&gt;
I have &amp;quot;cbc built from: libcouchbase 1.1.0dp2&amp;quot; on one of my servers but I do not longer remember if that is the version where I&amp;#39;ve got the abort.</comment>
                    <comment id="30013" author="avsej" created="Thu, 14 Jun 2012 15:56:44 -0500"  >Ok, in this case I will close this issue as unreproducible so far</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11433</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-74] Getting SIGABRT from libcouchbase</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-74</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>From: &lt;a href=&quot;http://www.couchbase.com/forums/thread/getting-sigabrt-libcouchbase&quot;&gt;http://www.couchbase.com/forums/thread/getting-sigabrt-libcouchbase&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Please follow up with this thread upon resolution.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
I was running through my program and suddenly caught SIGABRT while using libcouchbase.&lt;br/&gt;
This was what I was getting from GDB Debugging&lt;br/&gt;
I&amp;#39;ve wrapped your libcouchbase in order to have similar interface with JAVA.&lt;br/&gt;
347 RSLTCODE CMBClient::Set( const uint64_t cas, const char* key, const char* value, const time_t* expiry)&lt;br/&gt;
348 {&lt;br/&gt;
349 libcouchbase_error_t error = LIBCOUCHBASE_SUCCESS;&lt;br/&gt;
350 libcouchbase_error_t callback_error = LIBCOUCHBASE_SUCCESS;&lt;br/&gt;
351 error = libcouchbase_store ( m_instance , (void*)&amp;amp;callback_error, LIBCOUCHBASE_SET, key, strlen(key), value, strlen(value), 0, (libcouchbase_time_t)*expiry, cas);&lt;br/&gt;
352 if ( error != LIBCOUCHBASE_SUCCESS )&lt;br/&gt;
353 {&lt;br/&gt;
354 fprintf(stderr, &amp;quot;Set Failed\n&amp;quot;);&lt;br/&gt;
355 return CheckError(error);&lt;br/&gt;
356 }&lt;br/&gt;
357&lt;br/&gt;
358 libcouchbase_wait (m_instance);&lt;br/&gt;
359&lt;br/&gt;
360 return CheckError(callback_error);&lt;br/&gt;
361 }&lt;br/&gt;
Program received signal SIGABRT, Aborted.&lt;br/&gt;
[Switching to Thread 0x7ffff36a2700 (LWP 16100)]&lt;br/&gt;
0x00007ffff6e20445 in raise () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
(gdb) bt&lt;br/&gt;
#0 0x00007ffff6e20445 in raise () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
#1 0x00007ffff6e23bab in abort () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
#2 0x00007ffff76c4c0d in libcouchbase_ringbuffer_consumed (buffer=, nb=56) at src/ringbuffer.c:243&lt;br/&gt;
#3 0x00007ffff76c017b in do_send_data (c=) at src/event.c:264&lt;br/&gt;
#4 libcouchbase_server_event_handler (sock=, which=, arg=0x6ab660) at src/event.c:314&lt;br/&gt;
#5 0x00007ffff60b5f53 in event_base_loop () from /usr/lib/libevent-1.4.so.2&lt;br/&gt;
#6 0x0000000000418588 in CMBClient::Set (this=0x7fffffffe1e0, cas=0, key=0x7ffff36a1da0 &amp;quot;172.16.0.116:9999.PCCNT&amp;quot;, value=0x7ffff36a1de0 &amp;quot;1&amp;quot;, expiry=0x7ffff36a1d90) at CMBClient.cpp:358&lt;br/&gt;
#7 0x0000000000408354 in PCNetMgr::checkAndUpdateSSCnt (this=0x7fffffffe1a8) at PCNetMgr.cpp:59&lt;br/&gt;
#8 0x000000000040a0ed in PCBatchJob::run (this=) at PCBatchJob.cpp:11&lt;br/&gt;
#9 0x000000000043620a in doWork (pThreadInfo=) at ThreadPool.cpp:211&lt;br/&gt;
#10 0x00007ffff7bc4e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0&lt;br/&gt;
#11 0x00007ffff6edc4bd in clone () from /lib/x86_64-linux-gnu/libc.so.6&lt;br/&gt;
#12 0x0000000000000000 in ?? ()</description>
                <environment></environment>
            <key id="17759">CCBC-74</key>
            <summary>Getting SIGABRT from libcouchbase</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="4">Incomplete</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="mikew">Mike Wiederhold</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Jun 2012 12:49:02 -0500</created>
                <updated>Thu, 27 Sep 2012 16:06:52 -0500</updated>
                    <resolved>Tue, 11 Sep 2012 16:22:06 -0500</resolved>
                                            <fixVersion>2.0.0beta</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="38522" author="avsej" created="Tue, 11 Sep 2012 16:22:36 -0500"  >I&amp;#39;ve asked for steps in original thread, but still no answer</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11434</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-73] Command line parser from cbc tool leaks</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-73</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>See execution log here: &lt;a href=&quot;https://gist.github.com/2909622&quot;&gt;https://gist.github.com/2909622&lt;/a&gt;</description>
                <environment>libcouchbase 1.1.0dp5-10-g474ec9e</environment>
            <key id="17662">CCBC-73</key>
            <summary>Command line parser from cbc tool leaks</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Jun 2012 06:30:37 -0500</created>
                <updated>Wed, 6 Feb 2013 13:48:20 -0600</updated>
                    <resolved>Tue, 29 Jan 2013 17:46:07 -0600</resolved>
                                                                            <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="48957" author="trond" created="Tue, 29 Jan 2013 17:46:07 -0600"  >cbc is a command line tool, and the &amp;quot;leaks&amp;quot; here will be cleaned up when the process exit anyway (its not worth trying to figure out why it behaves that way)</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8622</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-72] Compilation failure on macosx if you&apos;ve got gtest installed</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-72</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>If we&amp;#39;re trying to overload CPPFLAGS within an ifdef it doesn&amp;#39;t inherit the default value for the else clause (if its not set)</description>
                <environment>macosx with gtest installed from homebrew</environment>
            <key id="17661">CCBC-72</key>
            <summary>Compilation failure on macosx if you&apos;ve got gtest installed</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Jun 2012 06:16:55 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Mon, 11 Jun 2012 06:19:30 -0500</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="29337" author="trond" created="Mon, 11 Jun 2012 06:19:30 -0500"  >&lt;a href=&quot;http://review.couchbase.org/17036&quot;&gt;http://review.couchbase.org/17036&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11435</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-71] Implement &apos;help&apos; command for cbc</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-71</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Currently to invoke list of commands user should call if without parameters or with bad parameter. It would be nice to have builtin &amp;#39;help&amp;#39;, which allows to print list of supported commands.</description>
                <environment></environment>
            <key id="17657">CCBC-71</key>
            <summary>Implement &apos;help&apos; command for cbc</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Sun, 10 Jun 2012 16:19:49 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Mon, 11 Jun 2012 03:49:53 -0500</resolved>
                                            <fixVersion>1.1.0dp6</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="29321" author="avsej" created="Sun, 10 Jun 2012 16:58:40 -0500"  >Uploaded for review &lt;a href=&quot;http://review.couchbase.org/17020&quot;&gt;http://review.couchbase.org/17020&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11436</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-70] Missing dlcose() for dlopen() in create_func get_create_func results in unfreed memory at shutdown</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-70</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>In create_func get_create_func(), there is a dlopen() handle which only gets closed upon error - otherwise&lt;br/&gt;
it doesn&amp;#39;t get closed by libcouchbase_destroy(handle) and results in valgrind complaining with&lt;br/&gt;
&lt;br/&gt;
==30571== 32 bytes in 1 blocks are still reachable in loss record 1 of 1&lt;br/&gt;
==30571==    at 0x4A04A28: calloc (vg_replace_malloc.c:467)&lt;br/&gt;
==30571==    by 0x3D76A0130F: _dlerror_run (in /lib64/libdl-2.12.so)&lt;br/&gt;
==30571==    by 0x3D76A00EE0: dlopen@@GLIBC_2.2.5 (in /lib64/libdl-2.12.so)&lt;br/&gt;
==30571==    by 0x4C1F88A: ??? (in /usr/lib64/libcouchbase.so.1.2.2)&lt;br/&gt;
==30571==    by 0x4C1F90A: libcouchbase_create_io_ops (in /usr/lib64/libcouchbase.so.1.2.2)&lt;br/&gt;
==30571==    by 0x4010A2: main (foo.c:75)&lt;br/&gt;
&lt;br/&gt;
specifically:&lt;br/&gt;
&lt;br/&gt;
void *dlhandle = dlopen(image, RTLD_NOW | RTLD_LOCAL);</description>
                <environment>Linux - CentOS 6.2</environment>
            <key id="17621">CCBC-70</key>
            <summary>Missing dlcose() for dlopen() in create_func get_create_func results in unfreed memory at shutdown</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="mleib">Michael Leib</reporter>
                        <labels>
                    </labels>
                <created>Thu, 7 Jun 2012 15:56:23 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Mon, 11 Jun 2012 08:16:31 -0500</resolved>
                            <version>1.0.4</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="29312" author="avsej" created="Sat, 9 Jun 2012 15:38:39 -0500"  >Submitted for review &lt;a href=&quot;http://review.couchbase.org/17012&quot;&gt;http://review.couchbase.org/17012&lt;/a&gt;</comment>
                    <comment id="29338" author="avsej" created="Mon, 11 Jun 2012 08:16:25 -0500"  >Fixed. Now we dlclose all references. If you still observer leaks, I guess they are ok.&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://stackoverflow.com/questions/6503661/dlopen-dlsym-dlclose-dlfcn-h-causes-memory-leak#comment7654924_6504597&quot;&gt;http://stackoverflow.com/questions/6503661/dlopen-dlsym-dlclose-dlfcn-h-causes-memory-leak#comment7654924_6504597&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11079</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-69] Invoke auto-tools from autoreconf instead of manually trying to hunt them down</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-69</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="17389">CCBC-69</key>
            <summary>Invoke auto-tools from autoreconf instead of manually trying to hunt them down</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="5" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/trivial.png">Trivial</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Mon, 28 May 2012 04:08:30 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Mon, 28 May 2012 04:09:57 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="28120" author="trond" created="Mon, 28 May 2012 04:09:57 -0500"  >&lt;a href=&quot;http://review.couchbase.org/16459&quot;&gt;http://review.couchbase.org/16459&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11437</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-68] add getl/unl commands</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-68</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Currently, libcouchbase does not have support for either the &amp;quot;getl&amp;quot; command or the &amp;quot;unl&amp;quot; command.  Both are defined and supported by the server and should be added to this client.</description>
                <environment></environment>
            <key id="17142">CCBC-68</key>
            <summary>add getl/unl commands</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 May 2012 16:22:41 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 7 Jun 2012 06:03:16 -0500</resolved>
                                            <fixVersion>1.1.0dp3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11438</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-67] Use google test framework for unit testing</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-67</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="17106">CCBC-67</key>
            <summary>Use google test framework for unit testing</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 May 2012 06:07:42 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Wed, 16 May 2012 06:49:53 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="27354" author="trond" created="Wed, 16 May 2012 06:49:53 -0500"  >&lt;a href=&quot;http://review.couchbase.org/#change,16056&quot;&gt;http://review.couchbase.org/#change,16056&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11439</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-66] Add support for using gcov/tcov to get code coverage</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-66</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="17105">CCBC-66</key>
            <summary>Add support for using gcov/tcov to get code coverage</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="5" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/trivial.png">Trivial</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 May 2012 05:35:02 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Wed, 16 May 2012 06:51:03 -0500</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="27355" author="trond" created="Wed, 16 May 2012 06:51:03 -0500"  >&lt;a href=&quot;http://review.couchbase.org/#change,16055&quot;&gt;http://review.couchbase.org/#change,16055&lt;/a&gt;&lt;br/&gt;
</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11078</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-65] Memory leak in libcouchbase_create / libcouchbase_destroy (POC and patch included)</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-65</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When the client calls libcouchbase_create and then later calls libcouchbase_destroy, some memory is leaked. For a client with many threads that open and close couchbase sessions, this will lead to memory exhaustion. The leak is caused by the use of strdup() in setup_boostrap_hosts(). These duplicated strings are not free&amp;#39;d in libcouchbase_destroy. The leak can be seen by using valgrind.&lt;br/&gt;
&lt;br/&gt;
I have attached a proof of concept, and a patch with a proposed fix.&lt;br/&gt;
&lt;br/&gt;
I have only tested on 1.0.2, but other versions may be affected.</description>
                <environment>Linux Centos</environment>
            <key id="17080">CCBC-65</key>
            <summary>Memory leak in libcouchbase_create / libcouchbase_destroy (POC and patch included)</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="jamesoc">James</reporter>
                        <labels>
                    </labels>
                <created>Tue, 15 May 2012 12:49:23 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Tue, 15 May 2012 16:29:07 -0500</resolved>
                            <version>1.0.2</version>
                                <fixVersion>1.0.4</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                          <timeoriginalestimate seconds="14400">4h</timeoriginalestimate>
                    <timeestimate seconds="14400">4h</timeestimate>
                                  <comments>
                    <comment id="27280" author="avsej" created="Tue, 15 May 2012 16:13:26 -0500"  >Good job. Thanks. Your patch imported into review system &lt;a href=&quot;http://review.couchbase.org/16032&quot;&gt;http://review.couchbase.org/16032&lt;/a&gt;</comment>
                    <comment id="27283" author="avsej" created="Tue, 15 May 2012 16:29:07 -0500"  >Merged. Will be accessible in next release or now on the github &lt;a href=&quot;https://github.com/couchbase/libcouchbase&quot;&gt;https://github.com/couchbase/libcouchbase&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="13228" name="leak.c" size="921" author="jamesoc" created="Tue, 15 May 2012 12:49:23 -0500" />
                    <attachment id="13229" name="memory_leak.patch" size="1421" author="jamesoc" created="Tue, 15 May 2012 12:49:23 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11008</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-64] PHP Client reports Time Out errors on simple SET and GET operations when Rebalance is in Progress</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-64</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>This bug is reported by a customer. Whenever they issue a rebalance(after removing a node from the cluster or add a new node), client operations(PHP - sample code attached) time out with the error below&lt;br/&gt;
&lt;br/&gt;
PHP Warning: Couchbase::set(): Failed to store a value to server: Operation timed out in /root/test_worker.php on line &amp;lt;n&amp;gt;&lt;br/&gt;
&lt;br/&gt;
This issue is consistent for both the customer as well as our in-house reproduction in Support. There are no errors on the server side. Rebalance does complete. And once rebalance is complete, the same script runs fine without any errors. </description>
                <environment>Centos5x OR Ubuntu 11x running Couchbase 1.8.0. 3 Node Cluster, plenty of available RAM and DISK. PHP 5.3. libcouchbase version 1.0.3-1 </environment>
            <key id="16946">CCBC-64</key>
            <summary>PHP Client reports Time Out errors on simple SET and GET operations when Rebalance is in Progress</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="jan">Jan Lehnardt</assignee>
                                <reporter username="hari">Hari Subramaniam</reporter>
                        <labels>
                        <label>customer</label>
                    </labels>
                <created>Tue, 8 May 2012 16:56:07 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Thu, 7 Jun 2012 06:10:40 -0500</resolved>
                            <version>1.0.2</version>
                                <fixVersion>1.0.4</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="26880" author="ingenthr" created="Wed, 9 May 2012 11:54:41 -0500"  >PHP Client Library Version installed?&lt;br/&gt;
libcouchbase version installed?&lt;br/&gt;
&lt;br/&gt;
CentOS Version?&lt;br/&gt;
&lt;br/&gt;
Also needed is a description of what kind of rebalance is happening here.  A &amp;quot;failover&amp;quot; click followed by a &amp;quot;rebalance&amp;quot; is different than a &amp;quot;remove node&amp;quot; followed by a &amp;quot;rebalance&amp;quot;.  Please outline the specific steps you&amp;#39;d used to reproduce.</comment>
                    <comment id="26885" author="ingenthr" created="Wed, 9 May 2012 12:15:12 -0500"  >I do see the PHP client version info, sorry I&amp;#39;d missed that.  I do still need the libcouchbase version info though.&lt;br/&gt;
&lt;br/&gt;
Initial investigation shows this is likely an issue in libcouchbase, but we need more about the type of rebalance being done.  Please comment.</comment>
                    <comment id="26890" author="hari" created="Wed, 9 May 2012 12:32:05 -0500"  >updated Environment w/OS versions + libcouchbase versions. </comment>
                    <comment id="26923" author="ingenthr" created="Wed, 9 May 2012 14:32:45 -0500"  >After some investigation with Sergey, it seems that during the 2.5 second period we give to try and re-try an operation if we receive a not-my-vbucket response, we&amp;#39;re retrying constantly but the operation times out and thus we send this response up to the PHP client.&lt;br/&gt;
&lt;br/&gt;
To verify this, Sergey set the timeout to 10 seconds, and verified that the issue could not be seen.  This is abnormally high though and would indicate that there is something wrong at the server side.  There is no reason we should see more than 2.5 seconds for a vbucket to transfer from one node to another during rebalance.&lt;br/&gt;
&lt;br/&gt;
For another level of verification, we&amp;#39;ll check to be sure the client is trying both the place the config states the vbucket is active and the place that the ffwd map states the vbucket is going.  If this shows libcouchbase is behaving correctly, then the problem is at the server side, not the client side.  It&amp;#39;s possible there&amp;#39;s a bug in the server here that moxi would mask with it&amp;#39;s less sophisticated retry algorithm.  &lt;br/&gt;
&lt;br/&gt;
It&amp;#39;s equally possible that there is a libcouchbase configuration update problem.  This next level of verification should tell us for sure.&lt;br/&gt;
&lt;br/&gt;
Note, PHP does not currently give the user the ability to raise the timeout to 10 seconds, but I don&amp;#39;t think that&amp;#39;s the right solution here.  If a single vbucket transfer is taking longer than that, it needs to be addressed at the server side.</comment>
                    <comment id="26985" author="avsej" created="Thu, 10 May 2012 10:43:45 -0500"  >I&amp;#39;ve analyzed the packets sent to the server and found that libcouchbase doesn&amp;#39;t send out in time to network the corrected packet after NOT_MY_VBUCKET error. It is copying it into the internal ouput buffer, but it doesn&amp;#39;t hit network. Although if increase timeout it working. So the issue in libcouchbase layer and it isn&amp;#39;t php specific. Complete rebalance log could be found here &lt;a href=&quot;http://files.avsej.net/add-node-rebalance.dump&quot;&gt;http://files.avsej.net/add-node-rebalance.dump&lt;/a&gt; (~200M)</comment>
                    <comment id="27049" author="ingenthr" created="Thu, 10 May 2012 20:22:19 -0500"  >A fix has been produced, reviewed.  &lt;a href=&quot;http://review.couchbase.org/#change,15882&quot;&gt;http://review.couchbase.org/#change,15882&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Will send a verification of the fix to support for either support or the customer to verify the fix, then will include it in the next patch update.</comment>
                    <comment id="27281" author="avsej" created="Tue, 15 May 2012 16:23:44 -0500"  >The patch was merged</comment>
                    <comment id="27651" author="hari" created="Mon, 21 May 2012 10:34:51 -0500"  >Fix has been verified by the customer. Considering this bug as addressed. </comment>
                </comments>
                    <attachments>
                    <attachment id="13105" name="report.pdf" size="76842" author="avsej" created="Thu, 10 May 2012 10:43:45 -0500" />
                    <attachment id="13072" name="test_worker.php" size="251" author="hari" created="Tue, 8 May 2012 16:56:07 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11007</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-63] error: &apos;ssize_t&apos; does not name a type (missing stddef.h)</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-63</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>In trying to compile a Qt c++ based application, the compiler cannot found a header file: stddef.h&lt;br/&gt;
&lt;br/&gt;
Error log:&lt;br/&gt;
In file included from /opt/libcouchbase/include/libcouchbase/couchbase.h:29:0,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from ../../src/connector/vp_connector.cpp:8:&lt;br/&gt;
/opt/libcouchbase/include/libcouchbase/configuration.h:57:13: error: &amp;#39;ssize_t&amp;#39; does not name a type&lt;br/&gt;
In file included from /opt/libcouchbase/include/libcouchbase/couchbase.h:31:0,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from ../../src/connector/vp_connector.cpp:8:&lt;br/&gt;
/opt/libcouchbase/include/libcouchbase/types.h:206:31: error: expected identifier before &amp;#39;*&amp;#39; token&lt;br/&gt;
/opt/libcouchbase/include/libcouchbase/types.h:210:47: error: ISO C++ forbids declaration of &amp;#39;libcouchbase_ssize_t&amp;#39; with no type [-fpermissive]&lt;br/&gt;
/opt/libcouchbase/include/libcouchbase/types.h:210:47: error: &amp;#39;libcouchbase_ssize_t&amp;#39; declared as function returning a function&lt;br/&gt;
......&lt;br/&gt;
&lt;br/&gt;
It should be changed to unistd.h... at less in linux systems.</description>
                <environment>OS: Linux - Fedora 16 x86_64&lt;br/&gt;
Kernel: Linux warp-fedora64-devel 3.2.1-3.fc16.x86_64 #1 SMP Mon Jan 23 15:36:17 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux&lt;br/&gt;
libcouchbase: latest git version (commit: 9cfda9d40a270fc3dd05018eb16a2089c83bf24a - Date: Thu Apr 19 16:40:53 2012 +0300)&lt;br/&gt;
Qt: 4.8.1</environment>
            <key id="16888">CCBC-63</key>
            <summary>error: &apos;ssize_t&apos; does not name a type (missing stddef.h)</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="warptrosse">Federico Casares</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 May 2012 11:49:14 -0500</created>
                <updated>Thu, 27 Sep 2012 16:06:52 -0500</updated>
                    <resolved>Fri, 8 Jun 2012 03:03:09 -0500</resolved>
                            <version>2.0.0beta</version>
                                <fixVersion>2.0.0beta</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                          <timeoriginalestimate seconds="3600">1h</timeoriginalestimate>
                    <timeestimate seconds="3600">1h</timeestimate>
                                  <comments>
                    <comment id="26644" author="warptrosse" created="Fri, 4 May 2012 12:41:03 -0500"  >Compiler: g++ (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2)</comment>
                    <comment id="29149" author="warptrosse" created="Thu, 7 Jun 2012 12:17:57 -0500"  >$ gcc -L/opt/libcouchbase/lib/ -lcouchbase -I/opt/libcouchbase/include/ main.c -o test.out&lt;br/&gt;
&lt;br/&gt;
In file included from /opt/libcouchbase/include/libcouchbase/couchbase.h:29:0,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;from main.c:1:&lt;br/&gt;
/opt/libcouchbase/include/libcouchbase/configuration.h:57:5: error: unknown type name &#8216;ssize_t&#8217;</comment>
                    <comment id="29152" author="avsej" created="Thu, 7 Jun 2012 12:24:49 -0500"  >but once your test will include unistd.h before libcouchbase/couchbase.h all will be just fine</comment>
                    <comment id="29154" author="warptrosse" created="Thu, 7 Jun 2012 12:40:00 -0500"  >yes, 0 errors</comment>
                    <comment id="29261" author="avsej" created="Fri, 8 Jun 2012 03:03:09 -0500"  >&lt;a href=&quot;http://review.couchbase.org/16992&quot;&gt;http://review.couchbase.org/16992&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="13564" name="main.c" size="85" author="warptrosse" created="Thu, 7 Jun 2012 12:17:57 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11440</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-62] hang in libcouchbase_wait() after get timeout</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-62</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When one node is down and dropping packets, a store op trying to write to that node times out (OK) but libcouchbase_wait doesn&amp;#39;t return (not OK).&lt;br/&gt;
&lt;br/&gt;
[&lt;a href=&apos;mailto:root@localhost&apos;&gt;root@localhost&lt;/a&gt; cb-crank]# gcc -g -Wall -W -I$I/include -L$I/lib t.c -lcouchbase -o t&lt;br/&gt;
[&lt;a href=&apos;mailto:root@localhost&apos;&gt;root@localhost&lt;/a&gt; cb-crank]# export LD_LIBRARY_PATH=$I/lib&lt;br/&gt;
[&lt;a href=&apos;mailto:root@localhost&apos;&gt;root@localhost&lt;/a&gt; cb-crank]# ./t&lt;br/&gt;
Stored: hello (6)&lt;br/&gt;
Got: hellow (7) = world! (7)&lt;br/&gt;
[&lt;a href=&apos;mailto:root@localhost&apos;&gt;root@localhost&lt;/a&gt; cb-crank]# ./t hellow foo&lt;br/&gt;
Stored: hellow (7)&lt;br/&gt;
Got: hellow (7) = foo (4)&lt;br/&gt;
[&lt;a href=&apos;mailto:root@localhost&apos;&gt;root@localhost&lt;/a&gt; cb-crank]# ./t xyz&lt;br/&gt;
Got: hellow (7) = foo (4)&lt;br/&gt;
Failed during store &amp;#39;xyz&amp;#39;: Operation timed out&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Setup:  Start two nodes of Couchbase Server. In my test, they&amp;#39;re on 10.4.2.13 and 10.4.2.14. Client (see attached code) is being run on host 10.4.2.14.&lt;br/&gt;
&lt;br/&gt;
On one node (10.4.2.13), simulate a network problem with iptables:&lt;br/&gt;
&lt;br/&gt;
iptables -I INPUT 1 -p tcp --sport 1000:60000 -j DROP&lt;br/&gt;
iptables -I INPUT 2 -p tcp --dport 1000:60000 -j DROP&lt;br/&gt;
&lt;br/&gt;
Run the sample app a few times with different keys until you hit one that needs to access the down node. As seen in the output above, the storage callback is called with a timeout error, but the libcouchbase_wait() call never returns. Attach debugger to the client and view thread stacks:&lt;br/&gt;
&lt;br/&gt;
# gdb -p 21746&lt;br/&gt;
GNU gdb (GDB) CentOS (7.0.1-42.el5.centos)&lt;br/&gt;
Copyright (C) 2009 Free Software Foundation, Inc.&lt;br/&gt;
License GPLv3+: GNU GPL version 3 or later &amp;lt;&lt;a href=&quot;http://gnu.org/licenses/gpl.html&quot;&gt;http://gnu.org/licenses/gpl.html&lt;/a&gt;&amp;gt;&lt;br/&gt;
This is free software: you are free to change and redistribute it.&lt;br/&gt;
There is NO WARRANTY, to the extent permitted by law.  Type &amp;quot;show copying&amp;quot;&lt;br/&gt;
and &amp;quot;show warranty&amp;quot; for details.&lt;br/&gt;
This GDB was configured as &amp;quot;x86_64-redhat-linux-gnu&amp;quot;.&lt;br/&gt;
For bug reporting instructions, please see:&lt;br/&gt;
&amp;lt;&lt;a href=&quot;http://www.gnu.org/software/gdb/bugs/&quot;&gt;http://www.gnu.org/software/gdb/bugs/&lt;/a&gt;&amp;gt;.&lt;br/&gt;
Attaching to process 21746&lt;br/&gt;
Reading symbols from /root/code/cb-crank/t...done.&lt;br/&gt;
Reading symbols from /root/code/install/lib/libcouchbase.so.1...done.&lt;br/&gt;
Loaded symbols for /root/code/install/lib/libcouchbase.so.1&lt;br/&gt;
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.&lt;br/&gt;
Loaded symbols for /lib64/libc.so.6&lt;br/&gt;
Reading symbols from /root/code/install/lib/libvbucket.so.1...done.&lt;br/&gt;
Loaded symbols for /root/code/install/lib/libvbucket.so.1&lt;br/&gt;
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.&lt;br/&gt;
Loaded symbols for /lib64/libdl.so.2&lt;br/&gt;
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.&lt;br/&gt;
Loaded symbols for /lib64/ld-linux-x86-64.so.2&lt;br/&gt;
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.&lt;br/&gt;
Loaded symbols for /lib64/libm.so.6&lt;br/&gt;
Reading symbols from /root/code/install/lib/libcouchbase_libevent.so.1...done.&lt;br/&gt;
Loaded symbols for /root/code/install/lib/libcouchbase_libevent.so.1&lt;br/&gt;
Reading symbols from /opt/couchbase/lib/libevent-2.0.so.5...(no debugging symbols found)...done.&lt;br/&gt;
Loaded symbols for /opt/couchbase/lib/libevent-2.0.so.5&lt;br/&gt;
Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done.&lt;br/&gt;
Loaded symbols for /lib64/librt.so.1&lt;br/&gt;
Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done.&lt;br/&gt;
[Thread debugging using libthread_db enabled]&lt;br/&gt;
Loaded symbols for /lib64/libpthread.so.0&lt;br/&gt;
&lt;br/&gt;
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff822c0000&lt;br/&gt;
0x0000003407cd3603 in __epoll_wait_nocancel () from /lib64/libc.so.6&lt;br/&gt;
(gdb) where&lt;br/&gt;
#0  0x0000003407cd3603 in __epoll_wait_nocancel () from /lib64/libc.so.6&lt;br/&gt;
#1  0x00002b0211713c28 in ?? () from /opt/couchbase/lib/libevent-2.0.so.5&lt;br/&gt;
#2  0x00002b0211702a4c in event_base_loop () from /opt/couchbase/lib/libevent-2.0.so.5&lt;br/&gt;
#3  0x0000000000400d60 in main (argc=1, argv=0x7fff822027f0) at t.c:113&lt;br/&gt;
(gdb) thread apply all bt&lt;br/&gt;
&lt;br/&gt;
Thread 1 (Thread 0x2b02114eeaf0 (LWP 21746)):&lt;br/&gt;
#0  0x0000003407cd3603 in __epoll_wait_nocancel () from /lib64/libc.so.6&lt;br/&gt;
#1  0x00002b0211713c28 in ?? () from /opt/couchbase/lib/libevent-2.0.so.5&lt;br/&gt;
#2  0x00002b0211702a4c in event_base_loop () from /opt/couchbase/lib/libevent-2.0.so.5&lt;br/&gt;
#3  0x0000000000400d60 in main (argc=1, argv=0x7fff822027f0) at t.c:113&lt;br/&gt;
(gdb) quit&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Line t.c:113 is libcouchbase_wait().&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Client compiled as:&lt;br/&gt;
&lt;br/&gt;
gcc -g -Wall -W -I$I/include -L$I/lib t.c -lcouchbase -o t&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>libcouchbase built from &lt;a href=&quot;git://github.com/couchbase/libcouchbase.git&quot;&gt;git://github.com/couchbase/libcouchbase.git&lt;/a&gt; master branch at commit 9cfda9d40a270fc3dd05018eb16a2089c83bf24a&lt;br/&gt;
&lt;br/&gt;
CentOS 5.6, couchbase server 1.8.0, 2-node cluster </environment>
            <key id="16834">CCBC-62</key>
            <summary>hang in libcouchbase_wait() after get timeout</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 May 2012 17:31:42 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Tue, 15 May 2012 17:48:07 -0500</resolved>
                                            <fixVersion>1.0.4</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="27023" author="TimSmith" created="Thu, 10 May 2012 17:31:09 -0500"  >I forgot to re-enable packets, so I was unable to log in the machine. So I made this little script to hopefully avoid that mistake. Might be handy for you. Just save it, and run:&lt;br/&gt;
&lt;br/&gt;
./drop-packets 90&lt;br/&gt;
./drop-packets 2m&lt;br/&gt;
./drop-packets 1h30m&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
#! /usr/bin/env perl&lt;br/&gt;
&lt;br/&gt;
use strict;&lt;br/&gt;
use warnings;&lt;br/&gt;
&lt;br/&gt;
my $time = shift || &amp;#39;10m&amp;#39;;&lt;br/&gt;
my $seconds = fromNiceTime($time);&lt;br/&gt;
&lt;br/&gt;
$| = 1;  # Auto-flush STDOUT&lt;br/&gt;
&lt;br/&gt;
die &amp;quot;Usage: $0 TIME\n\n  TIME looks like:  30m or 1m30s, etc.\n&amp;quot; unless $time;&lt;br/&gt;
&lt;br/&gt;
print &amp;quot;Dropping for $time ($seconds seconds), in 5 seconds (Hit ^C to abort) &amp;quot;;&lt;br/&gt;
sleep(5);&lt;br/&gt;
print &amp;quot;\n&amp;quot;;&lt;br/&gt;
&lt;br/&gt;
startDroppingPackets();&lt;br/&gt;
&lt;br/&gt;
sleep($seconds);&lt;br/&gt;
&lt;br/&gt;
stopDroppingPackets();&lt;br/&gt;
&lt;br/&gt;
exit 0;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
sub fromNiceTime {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;my ($str) = @_;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;my $seconds = 0;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ($str =~ s/^(\d+)d//) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$seconds += $1 * 24 * 60 * 60;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ($str =~ s/^(\d+)h//) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$seconds += $1 * 60 * 60;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ($str =~ s/^(\d+)m//) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$seconds += $1 * 60;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ($str =~ s/^(\d+)s?$//) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$seconds += $1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return $seconds if $str eq &amp;#39;&amp;#39;;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return undef;&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
sub startDroppingPackets {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print &amp;quot;Dropping...\n&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;execute(qw(iptables -I INPUT 1 -p tcp --sport 1000:60000 -j DROP));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;execute(qw(iptables -I INPUT 2 -p tcp --dport 1000:60000 -j DROP));&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
sub stopDroppingPackets {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;execute(qw(iptables -D INPUT 1));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;execute(qw(iptables -D INPUT 1));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;print &amp;quot;Stopped.\n&amp;quot;;&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
sub execute {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;my @args = @_;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;my $rc = system(@args);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 1 if $rc == 0;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;warn &amp;quot;Failed running [@args]: Code &amp;quot;, ($rc &amp;gt;&amp;gt; 8), &amp;quot;: $!\n&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return undef;&lt;br/&gt;
}&lt;br/&gt;
</comment>
                    <comment id="27027" author="TimSmith" created="Thu, 10 May 2012 17:44:24 -0500"  >A lesser problem happens when the host is not dropping packets, but just the couchbase-server service is stopped.&lt;br/&gt;
&lt;br/&gt;
In this case, there&amp;#39;s a 2.5-sec wait after the get callback hits the error, until libcouchbase_wait() call returns. I&amp;#39;d expect it to return right away, because there&amp;#39;s no more work to be done.&lt;br/&gt;
&lt;br/&gt;
To reproduce, start a cluster with 2 or 3 nodes. Ensure everything&amp;#39;s working OK. Then shut down one of the nodes:&lt;br/&gt;
&lt;br/&gt;
service couchbase-server stop&lt;br/&gt;
&lt;br/&gt;
Now run the client, try with a few different keys until you find one for the down server:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&apos;mailto:root@localhost&apos;&gt;root@localhost&lt;/a&gt; cb-crank]# time ./cbget 10.4.2.14:8091 Administrator password default hello&lt;br/&gt;
Got: hello: 776f726c642100&lt;br/&gt;
&lt;br/&gt;
real    0m0.017s&lt;br/&gt;
user    0m0.005s&lt;br/&gt;
sys     0m0.002s&lt;br/&gt;
[&lt;a href=&apos;mailto:root@localhost&apos;&gt;root@localhost&lt;/a&gt; cb-crank]# time ./cbget 10.4.2.14:8091 Administrator password default xyz&lt;br/&gt;
Failed during get &amp;#39;xyz&amp;#39;: 23 (Connection failure)&lt;br/&gt;
&lt;br/&gt;
real    0m2.517s&lt;br/&gt;
user    0m0.005s&lt;br/&gt;
sys     0m0.001s&lt;br/&gt;
[&lt;a href=&apos;mailto:root@localhost&apos;&gt;root@localhost&lt;/a&gt; cb-crank]# &lt;br/&gt;
&lt;br/&gt;
Note tha the &amp;quot;Failed during get&amp;quot; message appears immediately, and then there is a 2.5-second wait before the client exits.&lt;br/&gt;
&lt;br/&gt;
Complete client code (a bit simpler than the first one) is attached as cbget.c, compiled as:&lt;br/&gt;
&lt;br/&gt;
gcc -g -Wall -W -I/root/code/install/include  -L/root/code/install/lib -Wl,-rpath,/root/code/install/lib   cbget.c  -lcouchbase  -o cbget&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="27030" author="TimSmith" created="Thu, 10 May 2012 17:47:48 -0500"  >Simple cbget command to just get a single key.</comment>
                    <comment id="27034" author="ingenthr" created="Thu, 10 May 2012 18:40:11 -0500"  >This could be related to the issue found and fixed today.</comment>
                    <comment id="27067" author="avsej" created="Fri, 11 May 2012 05:36:43 -0500"  >1. it is better not to use Administrator account to connect to cluster (default bucket should be accessible)&lt;br/&gt;
2. looks like your cbget.c has typo, but it depends how you are storing the key (I&amp;#39;ve used &amp;#39;cbc cp&amp;#39; command which doesn&amp;#39;t send zero byte for key, and therefore &amp;#39;nkey[0]&amp;#39; should be &amp;#39;strlen(key)&amp;#39;)&lt;br/&gt;
3. interesting, but my ruby gem (based on libcouchbase) fails fast if some node (which should receive the key) is down</comment>
                    <comment id="27068" author="avsej" created="Fri, 11 May 2012 05:54:11 -0500"  >This is because your program ignores errors in the callback, the libcouchbase call your get callback with the error immediately, I&amp;#39;m looking for why libcouchbase continue waiting then</comment>
                    <comment id="27069" author="avsej" created="Fri, 11 May 2012 09:00:22 -0500"  >Looks like it isn&amp;#39;t possible to get notification from libevent regarding socket closed (if address is valid), this is why we are using timeouts to check when to breakout the event loop.&lt;br/&gt;
&lt;br/&gt;
You are free to use libcouchbase_wait(), the libcouchbase allows event loops, executed by user (this is how I handle it in ruby client). In this case you should build IO object and breakout event loop immediately when you received the error. Take a look at couchview.c example &lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/example/couchview.c#L289&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/example/couchview.c#L289&lt;/a&gt;</comment>
                    <comment id="27153" author="avsej" created="Mon, 14 May 2012 03:20:57 -0500"  >I think I found the issue, and it is indeed bug in the libcouchbase. It has enough information to breakout event loop and release wait() function. The problem in releasing one of the internal buffers and I&amp;#39;m working on fix now</comment>
                    <comment id="27164" author="avsej" created="Mon, 14 May 2012 08:32:47 -0500"  >Fixed here &lt;a href=&quot;http://review.couchbase.org/15966&quot;&gt;http://review.couchbase.org/15966&lt;/a&gt; and awaiting for review</comment>
                    <comment id="27287" author="avsej" created="Tue, 15 May 2012 17:48:07 -0500"  >&lt;a href=&quot;https://github.com/couchbase/libcouchbase/commit/3d101adff79725dcad0f6e374733f4f593e6c980&quot;&gt;https://github.com/couchbase/libcouchbase/commit/3d101adff79725dcad0f6e374733f4f593e6c980&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="13163" name="cbget.c" size="2835" author="TimSmith" created="Thu, 10 May 2012 17:47:48 -0500" />
                    <attachment id="12969" name="t.c" size="8564" author="TimSmith" created="Tue, 1 May 2012 17:31:42 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10752</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-61] pillowfight missing error variable assignment</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-61</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/example/pillowfight.cc#L201&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/example/pillowfight.cc#L201&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (libcouchbase_enable_timings(instance) != LIBCOUCHBASE_SUCCESS) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;std::cerr &amp;lt;&amp;lt; &amp;quot;Failed to enable timings!: &amp;quot;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&amp;lt; libcouchbase_strerror(instance, error) &amp;lt;&amp;lt; std::endl;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;timings = false;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
Missing error = assignment here, so the error message printed here will be incorrect.</description>
                <environment></environment>
            <key id="16830">CCBC-61</key>
            <summary>pillowfight missing error variable assignment</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 May 2012 12:41:12 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 7 Jun 2012 06:05:10 -0500</resolved>
                                            <fixVersion>1.1.0dp3</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                          <timeoriginalestimate seconds="1800">0.5h</timeoriginalestimate>
                    <timeestimate seconds="1800">0.5h</timeestimate>
                                  <comments>
                    <comment id="26508" author="TimSmith" created="Tue, 1 May 2012 12:49:31 -0500"  >Also a more serious missing error assignment is in populate():&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (error != LIBCOUCHBASE_SUCCESS) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;std::cerr &amp;lt;&amp;lt; &amp;quot;Failed to store item: &amp;quot;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&amp;lt; libcouchbase_strerror(instance, error) &amp;lt;&amp;lt; std::endl;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_wait(instance);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (error != LIBCOUCHBASE_SUCCESS) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;std::cerr &amp;lt;&amp;lt; &amp;quot;Failed to store item: &amp;quot;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&amp;lt; libcouchbase_strerror(instance, error) &amp;lt;&amp;lt; std::endl;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
The second if() above is always identical to the first, since error isn&amp;#39;t set between.&lt;br/&gt;
</comment>
                    <comment id="26511" author="TimSmith" created="Tue, 1 May 2012 13:21:33 -0500"  >Sorry, this previous comment (about populate()) is bogus, I missed the setError() method call in the storage and get callbacks. The original (minor) description is still valid, I believe.&lt;br/&gt;
&lt;br/&gt;
Tim</comment>
                    <comment id="26512" author="avsej" created="Tue, 1 May 2012 13:24:56 -0500"  >Fixed and awaiting for code review: &lt;a href=&quot;http://review.couchbase.org/15505&quot;&gt;http://review.couchbase.org/15505&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11077</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-60] support errors on views</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-60</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Views now have some options on capturing errors and stopping on errors as documented here:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-writing-errors.html&quot;&gt;http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-writing-errors.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
The client needs to support these.</description>
                <environment></environment>
            <key id="16382">CCBC-60</key>
            <summary>support errors on views</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 22 Mar 2012 23:56:37 -0500</created>
                <updated>Thu, 27 Sep 2012 16:06:52 -0500</updated>
                    <resolved>Thu, 7 Jun 2012 06:13:59 -0500</resolved>
                                            <fixVersion>2.0.0beta</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="25106" author="avsej" created="Fri, 23 Mar 2012 01:44:58 -0500"  >To support errors in views we need at least to bundle streaming json parser and export tree object struct to the user. I see it like:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;static void row_callback(libcouchbase_couch_request_t request,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_t instance,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const void *cookie,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_error_t error,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_http_status_t status,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const JSON_TREE_STRUCT *json)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;static void error_callback(libcouchbase_couch_request_t request,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_t instance,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const void *cookie,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_error_t error,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_http_status_t status,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const JSON_TREE_STRUCT *json)&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instance = libcouchbase_create(host, username, passwd, bucket, cookie.io);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(void)libcouchbase_set_couch_row_callback(instance, row_callback);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(void)libcouchbase_set_couch_error_callback(instance, error_callback);&lt;br/&gt;
&lt;br/&gt;
So that the user should specify separate (or not) callbacks to receive some tree structure&lt;br/&gt;
</comment>
                    <comment id="25588" author="avsej" created="Mon, 9 Apr 2012 16:09:27 -0500"  >This issue require JSON parser like &lt;a href=&quot;http://www.couchbase.com/issues/browse/CCBC-11&quot; title=&quot;An interface to access Couchbase Views is needed&quot;&gt;&lt;strike&gt;CCBC-11&lt;/strike&gt;&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Is it really Major priority for upcoming release?</comment>
                    <comment id="25590" author="ingenthr" created="Mon, 9 Apr 2012 16:19:56 -0500"  >Are you arguing that libcouchbase already supports requesting the errors, it&amp;#39;s just a matter of the caller to work out how to parse the JSON response?  If so, I agree and we can actually probably close this one as won&amp;#39;t fix.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11441</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-59] libcouchbase_wait() blocks forever if there is nothing queued</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-59</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Very simply, if you call libcouchbase_wait() without queuing some operation first (e.g store a key/value, arithmetic, etc...)&lt;br/&gt;
the call to libcouchbase_wait() never returns.&lt;br/&gt;
&lt;br/&gt;
This means that a single threaded application that calls libcouchbase_wait() at different times to make sure operations are sent to the server runs the risk of stalling indefinitely. This is a very likely scenario.&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;ve attached a simple proof of concept, which never completes. If you uncomment the store operation, the program completes successfully.</description>
                <environment>Linux Centos 5.7</environment>
            <key id="16360">CCBC-59</key>
            <summary>libcouchbase_wait() blocks forever if there is nothing queued</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="jamesoc">James</reporter>
                        <labels>
                        <label>critical</label>
                    </labels>
                <created>Thu, 22 Mar 2012 07:39:03 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Tue, 10 Apr 2012 02:33:35 -0500</resolved>
                            <version>1.0</version>
                <version>1.0.2</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                          <timeoriginalestimate seconds="28800">8h</timeoriginalestimate>
                    <timeestimate seconds="28800">8h</timeestimate>
                                  <comments>
                    <comment id="25595" author="avsej" created="Mon, 9 Apr 2012 17:31:57 -0500"  >Fix published &lt;a href=&quot;http://review.couchbase.org/14696&quot;&gt;http://review.couchbase.org/14696&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="12539" name="couchbase_bug.c" size="2622" author="jamesoc" created="Thu, 22 Mar 2012 07:39:03 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11442</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-58] add support for unlock command</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-58</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Couchbase server has a keyed unlock command, which goes along with the getl command.  libcouchbase needs to support this since it&amp;#39;s also needed for Ruby and PHP clients.</description>
                <environment></environment>
            <key id="16287">CCBC-58</key>
            <summary>add support for unlock command</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Sun, 11 Mar 2012 00:18:16 -0600</created>
                <updated>Thu, 27 Sep 2012 16:06:52 -0500</updated>
                    <resolved>Thu, 7 Jun 2012 06:14:38 -0500</resolved>
                                            <fixVersion>1.1.0dp3</fixVersion>
                <fixVersion>2.0.0beta</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="25593" author="avsej" created="Mon, 9 Apr 2012 16:38:52 -0500"  >There no public headers with commands definition (currently in ep-engine/command_ids.h)</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11443</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-57] yum repository doesn&apos;t work because packages are not signed</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-57</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Set this up on a development system earlier, and look at the last line of output:&lt;br/&gt;
&lt;br/&gt;
$ sudo yum install libvbucket-debuginfo&lt;br/&gt;
Setting up Install Process&lt;br/&gt;
Resolving Dependencies&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package libvbucket-debuginfo.x86_64 0:1.8.0.3-1 set to be updated&lt;br/&gt;
--&amp;gt; Finished Dependency Resolution&lt;br/&gt;
&lt;br/&gt;
Dependencies Resolved&lt;br/&gt;
&lt;br/&gt;
================================================================================&lt;br/&gt;
&amp;nbsp;Package                    Arch         Version          Repository       Size&lt;br/&gt;
================================================================================&lt;br/&gt;
Installing:&lt;br/&gt;
&amp;nbsp;libvbucket-debuginfo       x86_64       1.8.0.3-1        couchbase        59 k&lt;br/&gt;
&lt;br/&gt;
Transaction Summary&lt;br/&gt;
================================================================================&lt;br/&gt;
Install       1 Package(s)&lt;br/&gt;
Upgrade       0 Package(s)&lt;br/&gt;
&lt;br/&gt;
Total size: 59 k&lt;br/&gt;
Is this ok [y/N]: y&lt;br/&gt;
Downloading Packages:&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Package libvbucket-debuginfo-1.8.0.3-1.x86_64.rpm is not signed&lt;br/&gt;
</description>
                <environment></environment>
            <key id="16286">CCBC-57</key>
            <summary>yum repository doesn&apos;t work because packages are not signed</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Sat, 10 Mar 2012 20:44:09 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Mon, 10 Sep 2012 10:34:36 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="24860" author="ingenthr" created="Sat, 10 Mar 2012 20:45:19 -0600"  >Workaround:&lt;br/&gt;
&lt;br/&gt;
Use --nogpgcheck, like this:&lt;br/&gt;
$ sudo yum --nogpgcheck install libvbucket-devel&lt;br/&gt;
&lt;br/&gt;
(but you have to trust the thing you&amp;#39;re talking to)</comment>
                    <comment id="25495" author="ingenthr" created="Wed, 4 Apr 2012 17:51:01 -0500"  >Verified on CentOS 5.8.</comment>
                    <comment id="25497" author="ingenthr" created="Wed, 4 Apr 2012 18:29:12 -0500"  >Spoke too soon, it looked like it was going through, but then it failed in the end.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
[&lt;a href=&apos;mailto:root@centosa&apos;&gt;root@centosa&lt;/a&gt; opt]# yum install libcouchbase-devel&lt;br/&gt;
Loaded plugins: fastestmirror, security&lt;br/&gt;
Loading mirror speeds from cached hostfile&lt;br/&gt;
&amp;nbsp;* base: mirror.san.fastserv.com&lt;br/&gt;
&amp;nbsp;* extras: mirror.metrocast.net&lt;br/&gt;
&amp;nbsp;* updates: mirrors.ecvps.com&lt;br/&gt;
Setting up Install Process&lt;br/&gt;
Resolving Dependencies&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package libcouchbase-devel.x86_64 0:1.0.2-1 set to be updated&lt;br/&gt;
--&amp;gt; Processing Dependency: libcouchbase1 for package: libcouchbase-devel&lt;br/&gt;
--&amp;gt; Processing Dependency: libcouchbase_libevent.so.1()(64bit) for package: libcouchbase-devel&lt;br/&gt;
--&amp;gt; Processing Dependency: libcouchbase.so.1()(64bit) for package: libcouchbase-devel&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package libcouchbase1.x86_64 0:1.0.2-1 set to be updated&lt;br/&gt;
--&amp;gt; Processing Dependency: libvbucket1 &amp;gt;= 1.8.0.2 for package: libcouchbase1&lt;br/&gt;
--&amp;gt; Processing Dependency: libvbucket.so.1()(64bit) for package: libcouchbase1&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package libvbucket1.x86_64 0:1.8.0.3-1 set to be updated&lt;br/&gt;
--&amp;gt; Finished Dependency Resolution&lt;br/&gt;
&lt;br/&gt;
Dependencies Resolved&lt;br/&gt;
&lt;br/&gt;
================================================================================&lt;br/&gt;
&amp;nbsp;Package                  Arch         Version            Repository       Size&lt;br/&gt;
================================================================================&lt;br/&gt;
Installing:&lt;br/&gt;
&amp;nbsp;libcouchbase-devel       x86_64       1.0.2-1            couchbase        27 k&lt;br/&gt;
Installing for dependencies:&lt;br/&gt;
&amp;nbsp;libcouchbase1            x86_64       1.0.2-1            couchbase        66 k&lt;br/&gt;
&amp;nbsp;libvbucket1              x86_64       1.8.0.3-1          couchbase        20 k&lt;br/&gt;
&lt;br/&gt;
Transaction Summary&lt;br/&gt;
================================================================================&lt;br/&gt;
Install       3 Package(s)&lt;br/&gt;
Upgrade       0 Package(s)&lt;br/&gt;
&lt;br/&gt;
Total download size: 113 k&lt;br/&gt;
Is this ok [y/N]: y&lt;br/&gt;
Downloading Packages:&lt;br/&gt;
(1/3): libvbucket1-1.8.0.3-1.x86_64.rpm                  |  20 kB     00:00     &lt;br/&gt;
(2/3): libcouchbase-devel-1.0.2-1.x86_64.rpm             |  27 kB     00:00     &lt;br/&gt;
(3/3): libcouchbase1-1.0.2-1.x86_64.rpm                  |  66 kB     00:00     &lt;br/&gt;
--------------------------------------------------------------------------------&lt;br/&gt;
Total                                           105 kB/s | 113 kB     00:01     &lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Package libvbucket1-1.8.0.3-1.x86_64.rpm is not signed&lt;br/&gt;
</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                <outwardlinks description="duplicates">
                            <issuelink>
            <issuekey id="18210">CCBC-79</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11444</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-56] Update instructions for building libcouchbase to be more verbose</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-56</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/linux_and_mac.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/linux_and_mac.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
This guy was a little bit confused about how to build because the first step wasn&amp;#39;t to run config/autorun.sh. We should add that to the documentation.&lt;br/&gt;
&lt;br/&gt;
Also, I think we should add the stuff that is in the comments to the docs. We should give the locations of where the downloads are. There is also no mention of needing memcached installed. This is a requirement since libcouchbase depends on memcached/protocol_binary.h.</description>
                <environment></environment>
            <key id="16254">CCBC-56</key>
            <summary>Update instructions for building libcouchbase to be more verbose</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="5" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="mikew">Mike Wiederhold</reporter>
                        <labels>
                    </labels>
                <created>Fri, 2 Mar 2012 22:17:21 -0600</created>
                <updated>Mon, 6 May 2013 02:50:11 -0500</updated>
                    <resolved>Mon, 6 May 2013 02:50:11 -0500</resolved>
                                                            <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="57214" author="avsej" created="Mon, 6 May 2013 02:50:11 -0500"  >&lt;a href=&quot;https://github.com/couchbase/libcouchbase#hacking&quot;&gt;https://github.com/couchbase/libcouchbase#hacking&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10827</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-55] support for replica read</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-55</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>To support replica read with 1.8.1 server, we need to add libcouchbase support for replica reads.</description>
                <environment></environment>
            <key id="16238">CCBC-55</key>
            <summary>support for replica read</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Mar 2012 12:07:29 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Fri, 13 Jul 2012 16:22:02 -0500</resolved>
                                            <fixVersion>1.1.0dp8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="25618" author="avsej" created="Tue, 10 Apr 2012 02:38:29 -0500"  >Need more docs or reference implementation</comment>
                    <comment id="32823" author="avsej" created="Thu, 12 Jul 2012 07:48:20 -0500"  >Awaiting review &lt;a href=&quot;http://review.couchbase.org/18291&quot;&gt;http://review.couchbase.org/18291&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="18377">CCBC-82</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11445</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-54] support new stale=false parameter</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-54</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Starting with 2.0 DP4, the default for stale has changed to update_after and there is a new argument to the stale parameter, &amp;quot;false&amp;quot; which performs a view update before response.  The client needs to support this new argument to the stale parameter.</description>
                <environment></environment>
            <key id="16237">CCBC-54</key>
            <summary>support new stale=false parameter</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Mar 2012 10:50:36 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Mon, 9 Apr 2012 15:28:58 -0500</resolved>
                                            <fixVersion>1.1.0dp</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="25580" author="avsej" created="Mon, 9 Apr 2012 15:28:58 -0500"  >The libcouchbase just accepts string of chars as query and pass it to the server in HTTP requests. It doesn&amp;#39;t interpret it</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11446</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-53] make code examples copyable</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-53</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>It would be very nice if programlisting sections were copy/pasteable.  I think to get there we&amp;#39;d have to do formatting with line numbers a bit differently, but it&amp;#39;d be worthwhile.  An example is: &lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/hello_couchbase.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/hello_couchbase.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Tracking this as backlog.</description>
                <environment></environment>
            <key id="16142">CCBC-53</key>
            <summary>make code examples copyable</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mccouch">MC Brown</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Feb 2012 19:50:17 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Fri, 8 Jun 2012 05:33:57 -0500</resolved>
                                                                            <votes>1</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="29106" author="avsej" created="Thu, 7 Jun 2012 06:06:53 -0500"  >The link above is fixed, but there are still broken sources &lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/simple_example.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/simple_example.html&lt;/a&gt;</comment>
                    <comment id="29275" author="mccouch" created="Fri, 8 Jun 2012 05:33:57 -0500"  >Fixed and pushed. &lt;br/&gt;
&lt;br/&gt;
Line numbering is now handled by CSS instead of outputting individually numbered lines. </comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11447</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-52] code sample layout odd</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-52</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>On pages such as &lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/hello_couchbase.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-c-1.0/hello_couchbase.html&lt;/a&gt; the code samples don&amp;#39;t line up correctly.  Note how line 1 is different.&lt;br/&gt;
&lt;br/&gt;
Is it possible to make these align?</description>
                <environment></environment>
            <key id="16141">CCBC-52</key>
            <summary>code sample layout odd</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mccouch">MC Brown</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Feb 2012 19:49:03 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Mon, 20 Feb 2012 19:01:07 -0600</resolved>
                                                            <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="24521" author="mccouch" created="Mon, 20 Feb 2012 19:01:07 -0600"  >The reason for this is that the line numbering has been done by hand, and DocBook will strip the whitespace at the start, which is why the first line was wrong. &lt;br/&gt;
&lt;br/&gt;
I&amp;#39;ve now re-marked this up so the line numbering is done by the build system and the output is now correct. &lt;br/&gt;
&amp;nbsp;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11448</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-51] In store.c :67 libcouchbase_store_by_key does not check for negative value for idx, causing seg fault when nodes are down</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-51</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>I had 3 server nodes, 2 of which were down.&lt;br/&gt;
&lt;br/&gt;
When I ran my test program (to store a value), instead of reporting an error or using the remaining node, the program seg faulted.&lt;br/&gt;
I traced this back to store.c :66, where vbucket_map(instance-&amp;gt;vbucket_config, hashkey, nhashkey, &amp;amp;vb, &amp;amp;idx)&lt;br/&gt;
returned -1 for the value idx (the index into the vbucket); this probably indicates that there was no valid index.&lt;br/&gt;
The next line, 67, uses idx to reference a server struct. Using -1 causes an invalid memory access and the program crashes with a seg fault. &lt;br/&gt;
&lt;br/&gt;
server = instance-&amp;gt;servers + (size_t)idx;&lt;br/&gt;
&lt;br/&gt;
There should be a statement to check the value idx is non negative before using it:&lt;br/&gt;
</description>
                <environment>Centos 5.5, Couchbase server 1.8, libcouchbase 1</environment>
            <key id="16009">CCBC-51</key>
            <summary>In store.c :67 libcouchbase_store_by_key does not check for negative value for idx, causing seg fault when nodes are down</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="jamesoc">James</reporter>
                        <labels>
                    </labels>
                <created>Fri, 27 Jan 2012 04:26:33 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Wed, 8 Feb 2012 03:57:29 -0600</resolved>
                            <version>1.0</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                          <timeoriginalestimate seconds="14400">4h</timeoriginalestimate>
                    <timeestimate seconds="14400">4h</timeestimate>
                                  <comments>
                    <comment id="23832" author="jamesoc" created="Fri, 27 Jan 2012 04:29:03 -0600"  >Centos 5.7, not 5.5</comment>
                    <comment id="24272" author="avsej" created="Wed, 8 Feb 2012 02:01:49 -0600"  >&lt;a href=&quot;http://review.couchbase.org/13091&quot;&gt;http://review.couchbase.org/13091&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11449</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-50] packaging is broken by removal of &quot;g&quot; from RPM</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-50</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>This was originally covered in &lt;a href=&quot;http://www.couchbase.com/issues/browse/MB-4647&quot; title=&quot;libvbucket RPM packaging errors&quot;&gt;&lt;strike&gt;MB-4647&lt;/strike&gt;&lt;/a&gt; for libvbucket, but affects libcouchbase as well.&lt;br/&gt;
&lt;br/&gt;
The dist-rpm task depends on dist, which creates a tarball with a &amp;quot;g&amp;quot; in it.  The packaging fails with current.</description>
                <environment></environment>
            <key id="15898">CCBC-50</key>
            <summary>packaging is broken by removal of &quot;g&quot; from RPM</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Mon, 16 Jan 2012 14:55:59 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 2 Feb 2012 02:44:39 -0600</resolved>
                                            <fixVersion>1.0</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11450</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-49] API reference is complete</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-49</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15876">CCBC-49</key>
            <summary>API reference is complete</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 02:14:31 -0600</created>
                <updated>Mon, 10 Dec 2012 07:47:32 -0600</updated>
                                    <version>1.0</version>
                                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10828</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[CCBC-48] tutorial chapter is complete</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-48</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15875">CCBC-48</key>
            <summary>tutorial chapter is complete</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="3">Duplicate</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 02:13:53 -0600</created>
                <updated>Tue, 25 Sep 2012 18:08:23 -0500</updated>
                    <resolved>Tue, 25 Sep 2012 18:08:09 -0500</resolved>
                            <version>1.0</version>
                                <fixVersion>2.0.0beta</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="39618" author="ingenthr" created="Tue, 25 Sep 2012 18:08:09 -0500"  >this is a duplicate of &lt;a href=&quot;http://www.couchbase.com/issues/browse/CCBC-3&quot; title=&quot;libcouchbase lacks a tutorial&quot;&gt;CCBC-3&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                <outwardlinks description="duplicates">
                            <issuelink>
            <issuekey id="14864">CCBC-3</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11451</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-47] getting started screencast is available</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-47</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15874">CCBC-47</key>
            <summary>getting started screencast is available</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 02:13:07 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 2 Feb 2012 02:43:04 -0600</resolved>
                            <version>1.0</version>
                                <fixVersion>1.0</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11452</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-46] getting started is also on the web page</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-46</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15873">CCBC-46</key>
            <summary>getting started is also on the web page</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 02:12:36 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 2 Feb 2012 02:41:34 -0600</resolved>
                                            <fixVersion>1.0</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11453</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-45] getting started guide needed</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-45</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15872">CCBC-45</key>
            <summary>getting started guide needed</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 02:11:31 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 2 Feb 2012 02:43:04 -0600</resolved>
                                            <fixVersion>1.0</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11454</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-44] deploying to download locations directly from CI</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-44</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Idea here is that we have repos for both unreleased, but code reviewed builds and released builds.</description>
                <environment></environment>
            <key id="15866">CCBC-44</key>
            <summary>deploying to download locations directly from CI</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 02:01:47 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Thu, 7 Jun 2012 06:00:52 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11455</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-43] building shippable artifacts under CI</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-43</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15865">CCBC-43</key>
            <summary>building shippable artifacts under CI</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 02:00:09 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 7 Jun 2012 06:01:00 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11456</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-42] running integration tests under CI</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-42</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15864">CCBC-42</key>
            <summary>running integration tests under CI</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 01:59:55 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 7 Jun 2012 06:01:40 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11457</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-41] running unit tests under CI</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-41</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15863">CCBC-41</key>
            <summary>running unit tests under CI</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 01:59:34 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 7 Jun 2012 06:00:36 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11458</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-40] building under CI</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-40</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15862">CCBC-40</key>
            <summary>building under CI</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jan 2012 01:59:12 -0600</created>
                <updated>Thu, 12 Apr 2012 15:33:46 -0500</updated>
                    <resolved>Thu, 12 Apr 2012 15:33:46 -0500</resolved>
                                            <fixVersion>1.0</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="25809" author="ingenthr" created="Thu, 12 Apr 2012 15:33:46 -0500"  >Has been complete for some time</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11459</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-39] redistributing operations doesn&apos;t take hashkey from store_by_key into account</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-39</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>See &lt;a href=&quot;http://review.couchbase.org/12135&quot;&gt;http://review.couchbase.org/12135&lt;/a&gt; for a more detailed description of the issue.</description>
                <environment></environment>
            <key id="15812">CCBC-39</key>
            <summary>redistributing operations doesn&apos;t take hashkey from store_by_key into account</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Sun, 8 Jan 2012 10:54:03 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 12 Jan 2012 15:59:35 -0600</resolved>
                                            <fixVersion>1.0</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="23475" author="avsej" created="Thu, 12 Jan 2012 15:59:35 -0600"  >&lt;a href=&quot;http://review.couchbase.org/12167&quot;&gt;http://review.couchbase.org/12167&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11460</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-38] need to connect to alternate nodes if the REST connection to an existing node is interrupted</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-38</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Currently, the library won&amp;#39;t connect to alternate nodes if the connection to the primary node fails.  It needs to learn to maintain a couple of lists.  The configured list, and the full list of nodes.  In the event that the connection is dropped, work through the appropriate list to get a config from a node of the cluster.</description>
                <environment></environment>
            <key id="15807">CCBC-38</key>
            <summary>need to connect to alternate nodes if the REST connection to an existing node is interrupted</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Jan 2012 15:35:18 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Tue, 7 Feb 2012 04:20:15 -0600</resolved>
                                            <fixVersion>1.0.1</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="24193" author="avsej" created="Tue, 7 Feb 2012 04:20:15 -0600"  >&lt;a href=&quot;http://review.couchbase.org/12354&quot;&gt;http://review.couchbase.org/12354&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11461</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-37] libcouchbase examples should use envvars to simplify example execution</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-37</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When running things like stats or pillowfight, it&amp;#39;d be handy if there were envvars to allow the user to not need to type their cluster URI, bucketname, password.  &lt;br/&gt;
&lt;br/&gt;
Suggested:&lt;br/&gt;
COUCHBASE_CLUSTER_URI=&amp;quot;&lt;a href=&quot;http://myserver:8091&quot;&gt;http://myserver:8091&lt;/a&gt;&amp;quot;&lt;br/&gt;
COUCHBASE_BUCKETNAME=&amp;quot;mybucket&amp;quot;&lt;br/&gt;
COUCHBASE_PASSFILE=/path/to/password  &lt;br/&gt;
&lt;br/&gt;
The passfile must be permissions 600 and owned by the user attempting to run the utility.&lt;br/&gt;
&lt;br/&gt;
It&amp;#39;d be valid to have just the CLUSTER_URI defined, and in that case the utility in question would default to the &amp;quot;default&amp;quot; bucket with no password.</description>
                <environment></environment>
            <key id="15746">CCBC-37</key>
            <summary>libcouchbase examples should use envvars to simplify example execution</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 22 Dec 2011 16:15:37 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Fri, 23 Dec 2011 08:24:51 -0600</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="23168" author="trond" created="Fri, 23 Dec 2011 08:24:51 -0600"  >Pushed to &lt;a href=&quot;http://review.couchbase.org/11865&quot;&gt;http://review.couchbase.org/11865&lt;/a&gt;</comment>
                    <comment id="23169" author="trond" created="Fri, 23 Dec 2011 08:29:36 -0600"  >You may use the following settings in $HOME/.cbcrc:&lt;br/&gt;
uri=&lt;br/&gt;
username=&lt;br/&gt;
password=&lt;br/&gt;
bucket=&lt;br/&gt;
&lt;br/&gt;
These settings may be overwritten with the following env variables:&lt;br/&gt;
&lt;br/&gt;
COUCHBASE_CLUSTER_URI&lt;br/&gt;
COUCHBASE_CLUSTER_USER&lt;br/&gt;
COUCHBASE_CLUSTER_PASSWORD&lt;br/&gt;
COUCHBASE_CLUSTER_BUCKET&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;m not going to bother checking the file permissions.. that&amp;#39;s up to the user to bother about (because there is no &amp;quot;standard&amp;quot; way of checking the permissions (including windows))&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11006</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-36] libcouchbase error when trying to access SASL password protected bucket</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-36</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Attached is a sample C program that reproduces the problem, and from the customer: &lt;br/&gt;
In the instance I have currently running, one of the threads is stalled for several minutes in a call to the couchbase library. There&amp;#39;s the traceback. &lt;br/&gt;
Thread 7 (Thread 0xb5743b90 (LWP 9349)): &lt;br/&gt;
#0 0x00e45402 in __kernel_vsyscall () &lt;br/&gt;
#1 0x0023c2c6 in epoll_wait () from /lib/libc.so.6 &lt;br/&gt;
#2 0x007b6d70 in epoll_dispatch (base=0x94297b0, tv=0x0) at epoll.c:404 &lt;br/&gt;
#3 0x007a40bb in event_base_loop (base=0x94297b0, flags=0) at event.c:1537 &lt;br/&gt;
#4 0x00168ad8 in libcouchbase_io_run_event_loop (iops=0x94229e8) at src/plugin-libevent.c:269 &lt;br/&gt;
#5 0x00ac1fc4 in libcouchbase_wait (instance=0x9438b68) at src/wait.c:48 &lt;br/&gt;
#6 0x08049552 in CouchbaseGetExplicitCas () &lt;br/&gt;
#7 0x08049701 in CouchbaseGetExplicit () &lt;br/&gt;
#8 0x0804974c in CouchbaseGet () &lt;br/&gt;
#9 0x08049e83 in sessionRun () &lt;br/&gt;
#10 0x08049edd in MainLoop () &lt;br/&gt;
#11 0x006e345b in start_thread () from /lib/libpthread.so.0 &lt;br/&gt;
#12 0x0023bc4e in clone () from /lib/libc.so.6</description>
                <environment>Server side, DP1 and DP3. Ubuntu, 64bit. 2 node cluster. &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&lt;br/&gt;
Client side Redhat 5.2 32 bit &lt;br/&gt;
The following versions of libraries are involved &lt;br/&gt;
cyrus-sasl-devel-2.1.22-4 &lt;br/&gt;
cyrus-sasl-plain-2.1.22-4 &lt;br/&gt;
libevent-2.0.10-3 &lt;br/&gt;
cyrus-sasl-lib-2.1.22-4 &lt;br/&gt;
libevent-devel-2.0.10-3 &lt;br/&gt;
latest libcouchbase from github</environment>
            <key id="15729">CCBC-36</key>
            <summary>libcouchbase error when trying to access SASL password protected bucket</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="perry">Perry Krug</assignee>
                                <reporter username="perry">Perry Krug</reporter>
                        <labels>
                        <label>customer</label>
                    </labels>
                <created>Tue, 20 Dec 2011 19:00:57 -0600</created>
                <updated>Wed, 15 Feb 2012 00:55:34 -0600</updated>
                    <resolved>Wed, 15 Feb 2012 00:55:34 -0600</resolved>
                            <version>0.2.0</version>
                                <fixVersion>1.0.1</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="23476" author="ingenthr" created="Thu, 12 Jan 2012 16:04:00 -0600"  >Please attach the C program.  We&amp;#39;d like to diagnose this and solve it.</comment>
                    <comment id="23477" author="ingenthr" created="Thu, 12 Jan 2012 16:04:32 -0600"  >Please assign back to Sergey once the program has been attached.</comment>
                    <comment id="23567" author="perry" created="Wed, 18 Jan 2012 12:47:16 -0600"  >Sorry about that, i was sure I had attached the program.  It&amp;#39;s there now.</comment>
                    <comment id="23589" author="avsej" created="Thu, 19 Jan 2012 06:10:11 -0600"  >Seems like all is working now. Is it possible to know the hash of that commit? I checked on current master 40776d57e0a9aec7a5af2d0f588c479b7b708004 and 8c879498b47144e50e85c2b9bf886f64ccf23147 (dated 9th of December). The issue entitled as &amp;quot;libcouchbase error when trying to access SASL password protected bucket&amp;quot; What is the error? Thread stalling? Given sample continues to produce keys and values and output the success status (for instance I waited until 48 key ~ 8 minutes)</comment>
                </comments>
                    <attachments>
                    <attachment id="11981" name="couchbase_stall.tgz" size="20676" author="perry" created="Wed, 18 Jan 2012 12:46:57 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11462</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-35] create basic doc structure for libcouchbase</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-35</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>While we have the info, we don&amp;#39;t currently emit anything for libcouchbase&amp;#39;s documentation.  We need to start emitting the new single manual format with our current level of docs to the doclist.</description>
                <environment></environment>
            <key id="15681">CCBC-35</key>
            <summary>create basic doc structure for libcouchbase</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mccouch">MC Brown</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 Dec 2011 11:17:04 -0600</created>
                <updated>Wed, 15 Feb 2012 00:56:20 -0600</updated>
                    <resolved>Wed, 15 Feb 2012 00:56:20 -0600</resolved>
                                            <fixVersion>1.0.1</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="23423" author="ingenthr" created="Sun, 8 Jan 2012 10:57:05 -0600"  >I believe this is closeable, right MC?  Do you have everything to import the xml into the docs project?</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11463</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-34] create package scripts for Debian platforms</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-34</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15645">CCBC-34</key>
            <summary>create package scripts for Debian platforms</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Dec 2011 15:18:35 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 12 Jan 2012 15:58:19 -0600</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11464</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-33] create package scripts for RPM</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-33</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15644">CCBC-33</key>
            <summary>create package scripts for RPM</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="1" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Dec 2011 15:16:05 -0600</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Thu, 12 Jan 2012 15:58:31 -0600</resolved>
                            <version>1.0</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11005</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-32] Repository for yum and RPM packages RedHat based systems</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-32</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>not a 1.0 requirement</description>
                <environment></environment>
            <key id="15493">CCBC-32</key>
            <summary>Repository for yum and RPM packages RedHat based systems</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                        <label>package</label>
                    </labels>
                <created>Thu, 27 Oct 2011 03:45:48 -0500</created>
                <updated>Fri, 13 Apr 2012 00:40:47 -0500</updated>
                    <resolved>Fri, 13 Apr 2012 00:40:47 -0500</resolved>
                                            <fixVersion>1.0.2</fixVersion>
                <fixVersion>2.0.0beta</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="24679" author="avsej" created="Thu, 1 Mar 2012 06:27:13 -0600"  >I&amp;#39;ve made a script for maintaining repositories&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://gist.github.com/1924422&quot;&gt;https://gist.github.com/1924422&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
It needed to deploy to builders and master repository and test it before release</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11076</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-31] Repository for deb packages (to support Ubuntu and for Debian)</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-31</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>not a 1.0 requirement</description>
                <environment></environment>
            <key id="15492">CCBC-31</key>
            <summary>Repository for deb packages (to support Ubuntu and for Debian)</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                        <label>package</label>
                    </labels>
                <created>Thu, 27 Oct 2011 03:45:28 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Mon, 9 Apr 2012 17:34:06 -0500</resolved>
                                            <fixVersion>1.0.2</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="24680" author="avsej" created="Thu, 1 Mar 2012 06:27:16 -0600"  >I&amp;#39;ve made a script for maintaining repositories&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://gist.github.com/1924422&quot;&gt;https://gist.github.com/1924422&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
It needed to deploy to builders and master repository and test it before release</comment>
                    <comment id="25596" author="avsej" created="Mon, 9 Apr 2012 17:34:06 -0500"  >Stable channel:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# Ubuntu 11.10 Oneiric Ocelot (Debian unstable)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deb &lt;a href=&quot;http://packages.couchbase.com/ubuntu&quot;&gt;http://packages.couchbase.com/ubuntu&lt;/a&gt; oneiric oneiric/main&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# Ubuntu 10.04 Lucid Lynx (Debian stable or testing) &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deb &lt;a href=&quot;http://packages.couchbase.com/ubuntu&quot;&gt;http://packages.couchbase.com/ubuntu&lt;/a&gt; lucid lucid/main&lt;br/&gt;
&lt;br/&gt;
Preview channel:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# Ubuntu 11.10 Oneiric Ocelot (Debian unstable)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deb &lt;a href=&quot;http://packages.couchbase.com/preview/ubuntu&quot;&gt;http://packages.couchbase.com/preview/ubuntu&lt;/a&gt; oneiric oneiric/main&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# Ubuntu 10.04 Lucid Lynx (Debian stable or testing) &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deb &lt;a href=&quot;http://packages.couchbase.com/preview/ubuntu&quot;&gt;http://packages.couchbase.com/preview/ubuntu&lt;/a&gt; lucid lucid/main&lt;br/&gt;
</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11004</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-30] IPS pkg and SVr4 packages</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-30</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>not a 1.0 requirement</description>
                <environment></environment>
            <key id="15491">CCBC-30</key>
            <summary>IPS pkg and SVr4 packages</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                        <label>package</label>
                    </labels>
                <created>Thu, 27 Oct 2011 03:45:00 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Wed, 7 Mar 2012 05:30:36 -0600</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="24801" author="trond" created="Wed, 7 Mar 2012 05:30:36 -0600"  >I&amp;#39;m closing this as won&amp;#39;t fix for now since we don&amp;#39;t support Solaris (yet)... I&amp;#39;ll reopen/create a new bug when we&amp;#39;re on our way adding full support</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11465</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-29] Automated generation of Windows artifacts </title>
                <link>http://www.couchbase.com/issues/browse/CCBC-29</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>generated under CI</description>
                <environment></environment>
            <key id="15490">CCBC-29</key>
            <summary>Automated generation of Windows artifacts </summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                        <label>package</label>
                    </labels>
                <created>Thu, 27 Oct 2011 03:44:32 -0500</created>
                <updated>Thu, 10 Jan 2013 15:51:57 -0600</updated>
                    <resolved>Thu, 10 Jan 2013 15:51:52 -0600</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="47555" author="avsej" created="Thu, 10 Jan 2013 15:51:52 -0600"  >The artifacts are generating for now. ZIP archive which contain all libs, docs and binaries</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11466</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-28] Automated generation of .rpm and .deb packages</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-28</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>generated under CI</description>
                <environment></environment>
            <key id="15489">CCBC-28</key>
            <summary>Automated generation of .rpm and .deb packages</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                        <label>package</label>
                    </labels>
                <created>Thu, 27 Oct 2011 03:44:08 -0500</created>
                <updated>Tue, 14 Feb 2012 18:20:20 -0600</updated>
                    <resolved>Tue, 14 Feb 2012 18:20:20 -0600</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11467</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-27] Automated generation of source tar.gz</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-27</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>generated under CI</description>
                <environment></environment>
            <key id="15488">CCBC-27</key>
            <summary>Automated generation of source tar.gz</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                        <label>package</label>
                    </labels>
                <created>Thu, 27 Oct 2011 03:43:32 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 7 Jun 2012 06:01:33 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11468</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-26] Automated testing under CI (Jenkins).</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-26</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15487">CCBC-26</key>
            <summary>Automated testing under CI (Jenkins).</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                        <label>tests</label>
                    </labels>
                <created>Thu, 27 Oct 2011 03:42:30 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 7 Jun 2012 06:01:22 -0500</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11469</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-25] Configuration update tests</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-25</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Tests for handling updated configuration from Couchbase Server (probably using CouchbaseMock).</description>
                <environment></environment>
            <key id="15486">CCBC-25</key>
            <summary>Configuration update tests</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                        <label>tests</label>
                    </labels>
                <created>Thu, 27 Oct 2011 03:42:10 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Thu, 1 Dec 2011 01:43:58 -0600</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11470</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-24] Port tests from memcached</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-24</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Port tests as much as possible (general tests of operations in a row) from Ruby client library to internal to libcouchbase.</description>
                <environment></environment>
            <key id="15485">CCBC-24</key>
            <summary>Port tests from memcached</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                        <label>tests</label>
                    </labels>
                <created>Thu, 27 Oct 2011 03:41:39 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Mon, 5 Mar 2012 03:19:27 -0600</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="24771" author="avsej" created="Mon, 5 Mar 2012 03:18:44 -0600"  >There is &lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/tests/smoke-test.c&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/tests/smoke-test.c&lt;/a&gt; which is covering some operations</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11471</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-23] FLUSH command</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-23</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>remember to add manpage&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;libcouchbase_error_t libcouchbase_flush(libcouchbase_t instance,&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;const void* cookie);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;typedef void (*libcouchbase_flush_callback)(libcouchbase_t instance,&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;const void* command_cookie,&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;libcouchbase_error_t error);</description>
                <environment></environment>
            <key id="15484">CCBC-23</key>
            <summary>FLUSH command</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Oct 2011 03:39:11 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Tue, 1 Nov 2011 06:25:16 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="22461" author="avsej" created="Thu, 27 Oct 2011 03:40:32 -0500"  >As far as binary protocol spec states it should be possible to specify expiration time for FLUSH command so it will be more suitable to use following signature&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;libcouchbase_error_t libcouchbase_flush(libcouchbase_t instance, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const void* cookie, time_t exp); &lt;br/&gt;
</comment>
                    <comment id="22487" author="avsej" created="Tue, 1 Nov 2011 06:25:16 -0500"  >Merged into master&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://review.couchbase.org/10366&quot;&gt;http://review.couchbase.org/10366&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11472</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-22] STAT command</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-22</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Callback per stat returned from the server with a terminator (nkey == 0) (remember to add manpage):&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;libcouchbase_error_t libcouchbase_server_stat(libcouchbase_t instance, &lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;const void* cookie, &lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;const void* key,&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;uint16_t nkey);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;typedef void (*libcouchbase_stat_callback)(libcouchbase_t instance,&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;const void* command_cookie,&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;libcouchbase_error_t error,&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;const void* key,&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;uint16_t nkey,&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;const void* value,&lt;br/&gt;
&amp;nbsp;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;&amp;#xA0;uint16_t nvalue);</description>
                <environment></environment>
            <key id="15483">CCBC-22</key>
            <summary>STAT command</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Oct 2011 03:38:28 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Thu, 12 Jan 2012 16:05:20 -0600</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11473</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-21] View work using internal IO API instead of libevent.</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-21</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15482">CCBC-21</key>
            <summary>View work using internal IO API instead of libevent.</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Oct 2011 03:37:48 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Mon, 9 Apr 2012 15:35:45 -0500</resolved>
                                            <fixVersion>1.1.0dp</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11474</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-20] Timeout options on operations.</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-20</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description></description>
                <environment></environment>
            <key id="15481">CCBC-20</key>
            <summary>Timeout options on operations.</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Oct 2011 03:37:21 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Wed, 8 Feb 2012 04:13:32 -0600</resolved>
                                                            <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="22489" author="perry" created="Tue, 1 Nov 2011 12:40:28 -0500"  >We need more information on this issue.</comment>
                    <comment id="23594" author="trond" created="Thu, 19 Jan 2012 07:46:13 -0600"  >The client should get the following two methods to operate on timeouts:&lt;br/&gt;
&lt;br/&gt;
	   /**&lt;br/&gt;
	     * Set the number of usec the library should allow an operation to&lt;br/&gt;
	     * be vaild.&lt;br/&gt;
	     *&lt;br/&gt;
	     * Please note that the timeouts are &amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; that accurate,&lt;br/&gt;
	     * because they may be delayed by the application code before it&lt;br/&gt;
	     * drives the event loop.&lt;br/&gt;
	     *&lt;br/&gt;
	     * Please note that timeouts is not stored on a per operation&lt;br/&gt;
	     * base, but on the instance. That means you &amp;lt;b&amp;gt;can&amp;#39;t&amp;lt;/b&amp;gt; pipeline&lt;br/&gt;
	     * two requests after eachother with different timeout values.&lt;br/&gt;
	     *&lt;br/&gt;
	     * @param instance the instance to set the timeout for&lt;br/&gt;
	     * @param usec the new timeout value.&lt;br/&gt;
	     */&lt;br/&gt;
	    LIBCOUCHBASE_API&lt;br/&gt;
	    void libcouchbase_set_timeout(libcouchbase_t instance, uint32_t usec);&lt;br/&gt;
	&lt;br/&gt;
	    /**&lt;br/&gt;
	     * Get the current timeout value used by this instance (in usec)&lt;br/&gt;
	     */&lt;br/&gt;
	    LIBCOUCHBASE_API&lt;br/&gt;
	    uint32_t libcouchbase_get_timeout(libcouchbase_t instance);&lt;br/&gt;
&lt;br/&gt;
The default timeout should be set to a reasonable value (2.5s), allowing for TCP retransmits to happen.&lt;br/&gt;
&lt;br/&gt;
We _might_ want to consider adding internal library stats for the number of timeouts&lt;br/&gt;
&lt;br/&gt;
The user will get the notifications with LIBCOUCHBASE_ETIMEDOUT as the error code for each operation that timed out</comment>
                    <comment id="24226" author="avsej" created="Tue, 7 Feb 2012 15:20:50 -0600"  >&lt;a href=&quot;http://review.couchbase.org/12526&quot;&gt;http://review.couchbase.org/12526&lt;/a&gt;</comment>
                    <comment id="24278" author="trond" created="Wed, 8 Feb 2012 04:13:32 -0600"  >Fixed a while ago</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11475</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-19] install with prefix fails to find vbucket.h</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-19</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Trying to install libcouchbase, could not successfully build owing to a bad search for libvbucket.&lt;br/&gt;
&lt;br/&gt;
Steps:&lt;br/&gt;
1) Install libevent2 with prefix of $HOME/opt&lt;br/&gt;
2) Install libvbucket with prefix of $HOME/opt&lt;br/&gt;
3) Try to configure libvbucket with prefix of $HOME/opt&lt;br/&gt;
&lt;br/&gt;
...&lt;br/&gt;
configure: error: Failed to locate memcached/vbucket.h&lt;br/&gt;
&lt;a href=&apos;mailto:ingenthr@shorter&apos;&gt;ingenthr@shorter&lt;/a&gt;:~/src/libcouchbase$ find ~/opt -name vbucket.h&lt;br/&gt;
/home/ingenthr/opt/include/libvbucket/vbucket.h&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;d even created a symlink in opt/memcached for vbucket.h, and it still failed.&lt;br/&gt;
&lt;br/&gt;
With a separate prefix I think this should be working.&lt;br/&gt;
</description>
                <environment>Ubuntu 10.10, stock</environment>
            <key id="15397">CCBC-19</key>
            <summary>install with prefix fails to find vbucket.h</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Oct 2011 10:54:22 -0500</created>
                <updated>Tue, 14 Feb 2012 18:19:35 -0600</updated>
                    <resolved>Tue, 14 Feb 2012 18:19:35 -0600</resolved>
                            <version>1.1.0dp</version>
                                <fixVersion>1.0</fixVersion>
                                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="23718" author="abhishek" created="Tue, 24 Jan 2012 05:57:22 -0600"  >I am getting the same error. &lt;br/&gt;
&lt;br/&gt;
any update on this?</comment>
                    <comment id="24402" author="ingenthr" created="Tue, 14 Feb 2012 18:19:21 -0600"  >solved with the --with-memcached-headers-url=&lt;a href=&quot;https://github.com/membase/memcached/raw/branch-20/include/memcached&quot;&gt;https://github.com/membase/memcached/raw/branch-20/include/memcached&lt;/a&gt; argument to configure</comment>
                </comments>
                    <attachments>
                    <attachment id="11754" name="config.log" size="91929" author="ingenthr" created="Thu, 13 Oct 2011 10:54:22 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11476</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-18] proper bootstrapping off of the REST interface should be part of the client</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-18</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>To maintain flexibility and scalability in interacting with the cluster, the client should follow the HATEOAS approach rather than simply assume URIs.  For example, the client currently assumes /pools/default/buckets/{bucket name}, and that&amp;#39;s not necessarily correct.&lt;br/&gt;
&lt;br/&gt;
A description of how to interact with the server is listed here:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.org/wiki/display/membase/Membase+Management+REST+API#MembaseManagementRESTAPI-Bootstrapping&quot;&gt;http://www.couchbase.org/wiki/display/membase/Membase+Management+REST+API#MembaseManagementRESTAPI-Bootstrapping&lt;/a&gt;</description>
                <environment></environment>
            <key id="15285">CCBC-18</key>
            <summary>proper bootstrapping off of the REST interface should be part of the client</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Tue, 27 Sep 2011 11:32:39 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Wed, 8 Feb 2012 04:12:59 -0600</resolved>
                                            <fixVersion>1.1.0dp2</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="24277" author="trond" created="Wed, 8 Feb 2012 04:12:59 -0600"  >Fixed a while ago</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11477</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-17] Implement Ketama distribution algorithm in libvbucket</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-17</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Ketama needed to allow client to handle memcached buckets.</description>
                <environment></environment>
            <key id="15262">CCBC-17</key>
            <summary>Implement Ketama distribution algorithm in libvbucket</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="avsej">Sergey Avseyev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 22 Sep 2011 13:19:54 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Thu, 1 Dec 2011 01:45:04 -0600</resolved>
                            <version>1.1.0dp</version>
                                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="22289" author="avsej" created="Tue, 27 Sep 2011 13:05:09 -0500"  >Implemented at &lt;a href=&quot;http://review.couchbase.org/9718&quot;&gt;http://review.couchbase.org/9718&lt;/a&gt; and is waiting for approval</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11478</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-16] Don&apos;t connect to all of the nodes initially.. delay the connect until we need them</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-16</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Right now we&amp;#39;re always connecting to all of the nodes as part of the change of current vbucket configuration.. If you&amp;#39;re running with 1k of nodes that&amp;#39;s going to be a lot of connect requests and we might not need them ;)</description>
                <environment></environment>
            <key id="13444">CCBC-16</key>
            <summary>Don&apos;t connect to all of the nodes initially.. delay the connect until we need them</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="trond">Trond Norbye</reporter>
                        <labels>
                    </labels>
                <created>Mon, 17 Jan 2011 16:23:22 -0600</created>
                <updated>Thu, 27 Sep 2012 16:06:52 -0500</updated>
                    <resolved>Wed, 8 Feb 2012 04:12:15 -0600</resolved>
                                            <fixVersion>2.0.0beta</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="24276" author="trond" created="Wed, 8 Feb 2012 04:12:15 -0600"  >Fixed a while ago</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>588</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-15] implement OBSERVE command</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-15</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Once the server has the OBSERVE command implemented, it will need to be added to libcouchbase.&lt;br/&gt;
&lt;br/&gt;
Note: the specific command name is still in the works.</description>
                <environment></environment>
            <key id="15144">CCBC-15</key>
            <summary>implement OBSERVE command</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="2" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 9 Sep 2011 17:57:55 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Fri, 13 Jul 2012 16:21:56 -0500</resolved>
                                            <fixVersion>1.1.0dp8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="25594" author="avsej" created="Mon, 9 Apr 2012 16:41:31 -0500"  >There no public headers with commands definition (currently in ep-engine/command_ids.h)</comment>
                    <comment id="32822" author="avsej" created="Thu, 12 Jul 2012 07:47:40 -0500"  >Awaiting review at &lt;a href=&quot;http://review.couchbase.org/11461&quot;&gt;http://review.couchbase.org/11461&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="15145">RCBC-6</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="18376">CCBC-81</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11226</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-14] creating and destroying design docs with views from the client library should be available</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-14</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Separate from accessing views, there should be methods of creating and destroying views and the associated design documents.</description>
                <environment></environment>
            <key id="15063">CCBC-14</key>
            <summary>creating and destroying design docs with views from the client library should be available</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="4" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 2 Sep 2011 02:52:59 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:34 -0600</updated>
                    <resolved>Mon, 9 Apr 2012 15:34:51 -0500</resolved>
                                            <fixVersion>1.1.0dp</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="25583" author="avsej" created="Mon, 9 Apr 2012 15:34:51 -0500"  >&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/1.1.0dp/include/libcouchbase/couchbase.h#L546-L601&quot;&gt;https://github.com/couchbase/libcouchbase/blob/1.1.0dp/include/libcouchbase/couchbase.h#L546-L601&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
libcouchbase_make_couch_request() function allows to make PUT and DELETE requests to create/delete design docs. Examples of usage could be found in ruby client implementation </comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11117</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-13] a test that demonstrates topology changes are handled correctly is added</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-13</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Now that CouchbaseMock is in libcouchbase, it should be able to simulate failures and verify successful recovery.</description>
                <environment></environment>
            <key id="15062">CCBC-13</key>
            <summary>a test that demonstrates topology changes are handled correctly is added</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                    <security id="10011">Public</security>
                        <assignee username="mnunberg">Mark Nunberg</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 2 Sep 2011 02:51:34 -0500</created>
                <updated>Thu, 27 Sep 2012 16:15:39 -0500</updated>
                    <resolved>Thu, 27 Sep 2012 16:15:39 -0500</resolved>
                                            <fixVersion>2.0.0</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="21986" author="ingenthr" created="Fri, 2 Sep 2011 03:18:13 -0500"  >Assigning to QA mgmt for scheduling.</comment>
                    <comment id="22835" author="avsej" created="Thu, 1 Dec 2011 01:49:18 -0600"  >I added simple management layer to CouchbaseMock. Here is the sample tests which check reconfiguration and relocation of client buffers after failover&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://github.com/couchbase/libcouchbase/blob/master/tests/config-test.c#L91&quot;&gt;https://github.com/couchbase/libcouchbase/blob/master/tests/config-test.c#L91&lt;/a&gt;</comment>
                    <comment id="39616" author="ingenthr" created="Tue, 25 Sep 2012 18:00:21 -0500"  >I believe this may be closeable based on the other project, right?</comment>
                    <comment id="39877" author="mnunberg" created="Thu, 27 Sep 2012 16:15:03 -0500"  >Yes. As much as I think it might be beneficial to have tests like this inside the mock, I think using sdkd will give us a more realistic scenario.</comment>
                    <comment id="39878" author="mnunberg" created="Thu, 27 Sep 2012 16:15:39 -0500"  >related to the testing projects in qe-land</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11479</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-12] an interface to paginate across large view results is needed</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-12</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>There can be some situations where querying a view returns results that way too large for the client to handle. In these cases, the client library API can allow for one to iterate over Views which have very large results. &lt;br/&gt;
&lt;br/&gt;
The Ruby client does this with streaming. The Java client does this with traditional pagination: &lt;br/&gt;
&lt;a href=&quot;http://guide.couchdb.org/draft/recipes.html#pagination&quot;&gt;http://guide.couchdb.org/draft/recipes.html#pagination&lt;/a&gt;</description>
                <environment></environment>
            <key id="15061">CCBC-12</key>
            <summary>an interface to paginate across large view results is needed</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 2 Sep 2011 02:49:53 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 22 Sep 2011 13:17:55 -0500</resolved>
                                            <fixVersion>1.1.0dp</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="22160" author="jan" created="Thu, 15 Sep 2011 11:32:54 -0500"  >Here&amp;#39;s a first stab at a higher level API for accessing views including pagination:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://friendpaste.com/31IVnuVqVw2n5J6q7uJzrg&quot;&gt;http://friendpaste.com/31IVnuVqVw2n5J6q7uJzrg&lt;/a&gt;</comment>
                    <comment id="22256" author="avsej" created="Thu, 22 Sep 2011 13:16:52 -0500"  >Update with further discussion: &lt;a href=&quot;https://gist.github.com/1219776&quot;&gt;https://gist.github.com/1219776&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Currently both kind of pagination could be implemented using libcouchbase_view_execute():&lt;br/&gt;
&lt;br/&gt;
1. to use streaming look at libcouchbase_view_data_callback() to setup callback which will receive chunks of response.&lt;br/&gt;
&lt;br/&gt;
2. to use web-style pagination use couchdb view parameters</comment>
                    <comment id="22257" author="avsej" created="Thu, 22 Sep 2011 13:17:55 -0500"  >Libcouchbase now implements low level routines which allows clients for build any kind of pagination atop of them.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11480</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-11] An interface to access Couchbase Views is needed</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-11</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Need an interface to be able to access Couchbase Views. Even without the ability to create and delete views, accessing view results is important, as views can be created through the Web UI interface. &lt;br/&gt;
&lt;br/&gt;
The specific implementation should be specific to, and familiar to the surrounding language and library, but it should have some general capabilities: &lt;br/&gt;
- List views from a given cluster &lt;br/&gt;
- Get a handle on something that represents a view on a given cluster &lt;br/&gt;
- Assemble query parameters for a View &lt;br/&gt;
- Retrieve non-reduced results from a View &lt;br/&gt;
&amp;nbsp;&amp;nbsp;* Be able to get the underlying document from the non-reduced results (this request should flow over binprot)&lt;br/&gt;
- Retrieve reduced results from a View (the format is the same, but there is no associated docid)</description>
                <environment></environment>
            <key id="15060">CCBC-11</key>
            <summary>An interface to access Couchbase Views is needed</summary>
                <type id="2" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 2 Sep 2011 02:47:59 -0500</created>
                <updated>Fri, 13 Apr 2012 00:36:34 -0500</updated>
                    <resolved>Fri, 13 Apr 2012 00:36:34 -0500</resolved>
                                            <fixVersion>1.1.0dp</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="22100" author="avsej" created="Tue, 13 Sep 2011 03:31:33 -0500"  >This patchset implements lowlevel view execution:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://review.couchbase.org/9412&quot;&gt;http://review.couchbase.org/9412&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
It means the library doesn&amp;#39;t interpret the view parameters and result. The examples/couchview application shows how to plug external JSON parser to the couchbase</comment>
                    <comment id="25586" author="avsej" created="Mon, 9 Apr 2012 16:03:25 -0500"  >View are implemented as low level transport routines in 1.1 Development Preview. And all these operation could be implemented a top of it by high-level client (ruby, php, perl etc.) &lt;br/&gt;
&lt;br/&gt;
For example to get list views from a given cluster:&lt;br/&gt;
&lt;br/&gt;
libcouchbase_make_couch_request(instance, NULL, &amp;quot;_all_docs?startkey=_design/&amp;amp;endkey=_design0&amp;amp;include_docs=true&amp;quot;, 62, NULL, 0, LIBCOUCHBASE_HTTP_METHOD_GET, 0, NULL)&lt;br/&gt;
&lt;br/&gt;
Currently libcouchbase isn&amp;#39;t equipped with good JSON parser (it could use libyajl for examples but it is optional)</comment>
                    <comment id="25587" author="avsej" created="Mon, 9 Apr 2012 16:04:37 -0500"  >Maybe it worth to split this issue? Because CRUD for design docs is already implemented, view execution too</comment>
                    <comment id="25824" author="ingenthr" created="Fri, 13 Apr 2012 00:36:34 -0500"  >This feature has been delivered.&lt;br/&gt;
&lt;br/&gt;
Over the course of development, it was decided that this feature, on libcouchbase, should only deliver basic HTTP request abstractions.  Callers into libcouchbase are responsible for many of the details of representing views inside their application or to their callers.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11481</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-10] set up continuious integration on linux/MacOS X for libcouchbase</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-10</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>libcouchbase needs to be set up under some kind of CI system to regularly be built whenever changes are made.</description>
                <environment></environment>
            <key id="15056">CCBC-10</key>
            <summary>set up continuious integration on linux/MacOS X for libcouchbase</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ray">Ray Chin</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Sep 2011 19:20:44 -0500</created>
                <updated>Thu, 10 Jan 2013 15:57:01 -0600</updated>
                    <resolved>Thu, 10 Jan 2013 15:56:56 -0600</resolved>
                                            <fixVersion>2.0.1</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="21972" author="ingenthr" created="Thu, 1 Sep 2011 19:21:13 -0500"  >assigning to QA management to get the task scheduled</comment>
                    <comment id="21976" author="trond" created="Thu, 1 Sep 2011 23:51:36 -0500"  >(please note that libcouchbase is part of our 2.0 build, so it will be built as part of that if you set up a build slave for that.)</comment>
                    <comment id="29107" author="avsej" created="Thu, 7 Jun 2012 06:08:58 -0500"  >It is done partially by &lt;a href=&quot;http://sdkbuilds.couchbase.com/job/libcouchbase/&quot;&gt;http://sdkbuilds.couchbase.com/job/libcouchbase/&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
But we need builder slave for mac</comment>
                    <comment id="34074" author="farshid" created="Thu, 26 Jul 2012 13:59:19 -0500"  >would 10.6.x work ?</comment>
                    <comment id="34078" author="ingenthr" created="Thu, 26 Jul 2012 14:16:57 -0500"  >Yes</comment>
                    <comment id="34081" author="farshid" created="Thu, 26 Jul 2012 15:16:34 -0500"  >Ray,&lt;br/&gt;
&lt;br/&gt;
can we clone 10.6 VM and add it as slave to the sdk jenkijns</comment>
                    <comment id="34083" author="ray" created="Thu, 26 Jul 2012 15:49:05 -0500"  >what is the ram/core requirements for this?</comment>
                    <comment id="39617" author="ingenthr" created="Tue, 25 Sep 2012 18:01:15 -0500"  >No special requirements, just 256MByte memory, but 512MByte memory would be fine.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11482</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-9] set up continuious integration on Windows for libcouchbase</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-9</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>libcouchbase needs to be set up under some kind of CI system to regularly be built whenever changes are made.</description>
                <environment></environment>
            <key id="15055">CCBC-9</key>
            <summary>set up continuious integration on Windows for libcouchbase</summary>
                <type id="3" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ray">Ray Chin</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Sep 2011 19:19:35 -0500</created>
                <updated>Thu, 27 Sep 2012 16:06:52 -0500</updated>
                    <resolved>Mon, 10 Sep 2012 15:28:52 -0500</resolved>
                                            <fixVersion>2.0.0beta</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="21971" author="ingenthr" created="Thu, 1 Sep 2011 19:19:59 -0500"  >Filed against QA manager for assignment.</comment>
                    <comment id="29108" author="avsej" created="Thu, 7 Jun 2012 06:09:27 -0500"  >It is done partially by &lt;a href=&quot;http://sdkbuilds.couchbase.com/job/libcouchbase/&quot;&gt;http://sdkbuilds.couchbase.com/job/libcouchbase/&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
But we need builder slave for windows</comment>
                    <comment id="38332" author="avsej" created="Mon, 10 Sep 2012 15:28:52 -0500"  >&lt;a href=&quot;http://sdkbuilds.couchbase.com/job/libcouchbase-win/&quot;&gt;http://sdkbuilds.couchbase.com/job/libcouchbase-win/&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11483</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-8] remove dependency on libhashkit by simply embedding the two hashing types we require</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-8</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>Currently, libcouchbase relies on libhashkit, though it doesn&amp;#39;t really need the entire thing.  Since libhashkit is only part of libmemcached, it&amp;#39;d be good to decouple this, and simply have the crc32 and ketama hashing available to us in libcouchbase.&lt;br/&gt;
&lt;br/&gt;
I think the crc32 dependency is actually from libvbucket, but in any event, this issue is to track removing that dependency.</description>
                <environment></environment>
            <key id="15054">CCBC-8</key>
            <summary>remove dependency on libhashkit by simply embedding the two hashing types we require</summary>
                <type id="4" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="avsej">Sergey Avseyev</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Sep 2011 19:17:12 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:35 -0600</updated>
                    <resolved>Thu, 22 Sep 2011 13:09:19 -0500</resolved>
                                            <fixVersion>1.1.0dp</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="21975" author="trond" created="Thu, 1 Sep 2011 23:50:14 -0500"  >The hash methods should be moved into libvbucket (just to be clear).</comment>
                    <comment id="22255" author="avsej" created="Thu, 22 Sep 2011 13:09:19 -0500"  >Completed: &lt;a href=&quot;http://review.couchbase.org/9552&quot;&gt;http://review.couchbase.org/9552&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11484</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-7] fails to link on Ubuntu natty</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-7</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>When trying to build on Ubuntu Natty, it seems to build okay but has issues linking against what seems to be libevent.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&apos;mailto:ubuntu@ip-10-64-59-212&apos;&gt;ubuntu@ip-10-64-59-212&lt;/a&gt;:~/src/libvbucket$ cd ../libcouchbase&lt;br/&gt;
&lt;a href=&apos;mailto:ubuntu@ip-10-64-59-212&apos;&gt;ubuntu@ip-10-64-59-212&lt;/a&gt;:~/src/libcouchbase$ make install&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-arithmetic.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-base64.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-cookie.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-error.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-event.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-execute.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-get.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-handler.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-instance.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-packet.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-remove.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-server.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-store.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-strerror.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-tap.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-timings.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-touch.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-utilities.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/libcouchbase_la-gethrtime.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CCLD   libcouchbase.la&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/packet_debug.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     src/utilities.lo&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CCLD   memcached_packet_debug.la&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CC     example/memcat.o&lt;br/&gt;
&amp;nbsp;&amp;nbsp;CCLD   example/memcat&lt;br/&gt;
./.libs/libcouchbase.so: undefined reference to `evutil_closesocket&amp;#39;&lt;br/&gt;
collect2: ld returned 1 exit status&lt;br/&gt;
make: *** [example/memcat] Error 1&lt;br/&gt;
&lt;a href=&apos;mailto:ubuntu@ip-10-64-59-212&apos;&gt;ubuntu@ip-10-64-59-212&lt;/a&gt;:~/src/libcouchbase$ &lt;br/&gt;
&lt;a href=&apos;mailto:ubuntu@ip-10-64-59-212&apos;&gt;ubuntu@ip-10-64-59-212&lt;/a&gt;:~/src/libcouchbase$ &lt;br/&gt;
&lt;a href=&apos;mailto:ubuntu@ip-10-64-59-212&apos;&gt;ubuntu@ip-10-64-59-212&lt;/a&gt;:~/src/libcouchbase$ dpkg --get-selections | grep libeve&lt;br/&gt;
libevent-1.4-2					install&lt;br/&gt;
libevent-core-1.4-2				install&lt;br/&gt;
libevent-dev					install&lt;br/&gt;
libevent-extra-1.4-2				install&lt;br/&gt;
</description>
                <environment>Ubuntu Natty, libcouchbase</environment>
            <key id="15053">CCBC-7</key>
            <summary>fails to link on Ubuntu natty</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Sep 2011 19:10:01 -0500</created>
                <updated>Tue, 14 Feb 2012 18:17:37 -0600</updated>
                    <resolved>Tue, 14 Feb 2012 18:17:30 -0600</resolved>
                            <version>0.2.0</version>
                                <fixVersion>1.0</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="24274" author="trond" created="Wed, 8 Feb 2012 04:07:02 -0600"  >Is this still a problem ? (and what is natty?)</comment>
                </comments>
                    <attachments>
                    <attachment id="11668" name="config.log" size="95217" author="ingenthr" created="Thu, 1 Sep 2011 19:10:01 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11485</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-6] graceful disconnections from the server may end in abort()</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-6</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>See event.c around line 106.&lt;br/&gt;
&lt;br/&gt;
If someone shuts down a server with traffic in flight, the clients shouldn&amp;#39;t all crash.</description>
                <environment></environment>
            <key id="14918">CCBC-6</key>
            <summary>graceful disconnections from the server may end in abort()</summary>
                <type id="1" iconUrl="http://www.couchbase.com/issues/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.couchbase.com/issues/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                    <security id="10011">Public</security>
                        <assignee username="trond">Trond Norbye</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 18 Aug 2011 15:25:40 -0500</created>
                <updated>Tue, 13 Nov 2012 04:21:33 -0600</updated>
                    <resolved>Wed, 8 Feb 2012 04:11:56 -0600</resolved>
                                            <fixVersion>1.1.0dp</fixVersion>
                                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="21987" author="ingenthr" created="Fri, 2 Sep 2011 03:18:53 -0500"  >I believe this is now corrected, right?</comment>
                    <comment id="24275" author="trond" created="Wed, 8 Feb 2012 04:11:56 -0600"  >Fixed a while ago</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10470</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>

<item>
            <title>[CCBC-5] abort in do_read_data (c=0x7b09bf0) at src/event.c:105</title>
                <link>http://www.couchbase.com/issues/browse/CCBC-5</link>
                <project id="10070" key="CCBC">Couchbase C client library libcouchbase</project>
                        <description>GDB seems to think libcouchbase is in the middle of a recv() call, but I don&amp;#39;t think that&amp;#39;s actually correct.  I did a packet capture, and I see that libcouchbase hangs right after the noop request, but somehow slips in another request that&amp;#39;s not in serial order right before it.&lt;br/&gt;
&lt;br/&gt;
Some gdb output:&lt;br/&gt;
(gdb) run -h 10.1.5.7:8091 -L 5 -i 1000 -M 8165 -F&lt;br/&gt;
Starting program: /root/debugmemcachetest/bin/memcachetest -h 10.1.5.7:8091 -L 5 -i 1000 -M 8165 -F&lt;br/&gt;
[Thread debugging using libthread_db enabled]&lt;br/&gt;
[New Thread 47907415978192 (LWP 2195)]&lt;br/&gt;
[New Thread 1094388032 (LWP 2198)]&lt;br/&gt;
[Thread 1094388032 (LWP 2198) exited]&lt;br/&gt;
Failed to get server stats&lt;br/&gt;
[New Thread 1094388032 (LWP 2199)]&lt;br/&gt;
&lt;br/&gt;
Program received signal SIGABRT, Aborted.&lt;br/&gt;
[Switching to Thread 1094388032 (LWP 2199)]&lt;br/&gt;
0x000000322ec30155 in raise () from /lib64/libc.so.6&lt;br/&gt;
(gdb) where&lt;br/&gt;
#0  0x000000322ec30155 in raise () from /lib64/libc.so.6&lt;br/&gt;
#1  0x000000322ec31bf0 in abort () from /lib64/libc.so.6&lt;br/&gt;
#2  0x00002b924ffe98ec in do_read_data (c=0x108b0bf0) at src/event.c:105&lt;br/&gt;
#3  0x00002b924ffe9aa7 in libcouchbase_server_event_handler (sock=10, which=2, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arg=0x108b0bf0) at src/event.c:152&lt;br/&gt;
#4  0x00002b925020b59a in event_base_loop () from /usr/lib64/libevent-1.4.so.2&lt;br/&gt;
#5  0x00002b924ffe9d4d in libcouchbase_execute (instance=0x108608c0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at src/execute.c:39&lt;br/&gt;
#6  0x00000000004055a8 in memcached_get_wrapper (connection=0x1085bf90, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key=0x413affb0 &amp;quot;335&amp;quot;, nkey=3, size=0x413affa8, data=0x413affa0)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at main.c:448&lt;br/&gt;
#7  0x00000000004052ec in test (ctx=0x1085df70) at main.c:727&lt;br/&gt;
#8  0x000000000040567e in test_thread_main (arg=0x1085df70) at main.c:759&lt;br/&gt;
#9  0x000000322f806307 in start_thread () from /lib64/libpthread.so.0&lt;br/&gt;
#10 0x000000322ecd1ded in clone () from /lib64/libc.so.6&lt;br/&gt;
(gdb) down&lt;br/&gt;
Bottom (innermost) frame selected; you cannot go down.&lt;br/&gt;
(gdb) up&lt;br/&gt;
#1  0x000000322ec31bf0 in abort () from /lib64/libc.so.6&lt;br/&gt;
(gdb) up&lt;br/&gt;
#2  0x00002b924ffe98ec in do_read_data (c=0x108b0bf0) at src/event.c:105&lt;br/&gt;
105	src/event.c: No such file or directory.&lt;br/&gt;
	in src/event.c&lt;br/&gt;
(gdb) p/x req-&amp;gt;request.magic&lt;br/&gt;
$1 = 0x81&lt;br/&gt;
(gdb) p req&lt;br/&gt;
$2 = (protocol_binary_request_header *) 0x1087e1f0&lt;br/&gt;
(gdb) p req[0]&lt;br/&gt;
$3 = {request = {magic = 129 &amp;#39;\201&amp;#39;, opcode = 9 &amp;#39;\t&amp;#39;, keylen = 0, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;extlen = 4 &amp;#39;\004&amp;#39;, datatype = 0 &amp;#39;\0&amp;#39;, vbucket = 0, bodylen = 3911122944, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opaque = 1002, cas = 14723677855292588032}, &lt;br/&gt;
&amp;nbsp;&amp;nbsp;bytes = &amp;quot;\201\t\000\000\004\000\000\000\000\000\037??\003\000\000\000\000\000\000\000\003U?&amp;quot;}&lt;br/&gt;
(gdb) p operations&lt;br/&gt;
$4 = 2&lt;br/&gt;
(gdb) p nr&lt;br/&gt;
$5 = 0&lt;br/&gt;
(gdb) p c-&amp;gt;cmd_log.avail&lt;br/&gt;
$6 = 51&lt;br/&gt;
(gdb) p c[0]&lt;br/&gt;
$7 = {hostname = 0x1085de90 &amp;quo