<!--
RSS generated by JIRA (5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9) at Tue Jun 18 23:36:10 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+JCBC+AND+updated%3E%3D-1w+ORDER+BY+updated+DESC&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+JCBC+AND+updated%3E%3D-1w+ORDER+BY+updated+DESC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="47" total="47"/>
                <build-info>
            <version>5.2.4</version>
            <build-number>845</build-number>
            <build-date>26-12-2012</build-date>
        </build-info>
<item>
            <title>[JCBC-164] Support CAS for delete operation</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-164</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>It would be nice if the DELETE operation would support a CAS parameter, a feature which is available in e. g. the Ruby client library. Without the possibility for checking for a given CAS value it may happen that a DELETE removes a key-value pair which was just updated by an other thread.</description>
                <environment></environment>
            <key id="21107">JCBC-164</key>
            <summary>Support CAS for delete operation</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="schp">schp</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Dec 2012 08:48:37 -0600</created>
                <updated>Mon, 17 Jun 2013 14:19:53 -0500</updated>
                                    <version>1.1-beta</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>1</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="45326" author="daschl" created="Tue, 4 Dec 2012 09:14:16 -0600"  >Thanks for your input!&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;ll discuss this and then get back to you in this ticket!</comment>
                    <comment id="46337" author="daschl" created="Wed, 19 Dec 2012 11:40:27 -0600"  >What do you think about this?</comment>
                    <comment id="46339" author="ingenthr" created="Wed, 19 Dec 2012 11:47:01 -0600"  >I do think it makes sense, and it&amp;#39;s in there actually for operations with durability requirements.</comment>
                    <comment id="61288" author="rickyepoderi" created="Mon, 17 Jun 2013 14:19:53 -0500"  >It would be really nice, cos delete with a CAS is the only way of deleting a locked object. In my tests, under some circumstances, if the object is first unlocked and then deleted, weird things could happen (race condition). So please I need this feature in order to preserve correct locking.</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="14970">JCBC-193</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>48</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                <customfield id="customfield_10080" key="com.pyxis.greenhopper.jira:gh-sprint">
                <customfieldname>Sprint</customfieldname>
                <customfieldvalues>
                        <customfieldvalue>13</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                    </customfields>
    </item>

<item>
            <title>[JCBC-318] Make sure reconfigure() only runs once at the same time</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-318</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description></description>
                <environment></environment>
            <key id="24677">JCBC-318</key>
            <summary>Make sure reconfigure() only runs once at the same time</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="daschl">Michael Nitschinger</reporter>
                        <labels>
                    </labels>
                <created>Tue, 11 Jun 2013 04:24:45 -0500</created>
                <updated>Wed, 12 Jun 2013 06:44:55 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="60863" author="daschl" created="Wed, 12 Jun 2013 06:44:53 -0500"  >&lt;a href=&quot;http://review.couchbase.org/#/c/26860/&quot;&gt;http://review.couchbase.org/#/c/26860/&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>11765</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-266] NPE in ConfigurationProviderHTTP needs to be handled.</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-266</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>NPE in ConfigurationProviderHTTP needs to be handled.&lt;br/&gt;
This is seen at quite a lot of places.&lt;br/&gt;
&lt;br/&gt;
Please refer to the integration test results at :&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;https://docs.google.com/a/globallogic.com/spreadsheet/ccc?key=0AmLvaJ8oRZ-TdHJBNHJ0eGZfbjBaenBSVGM2VS1oNlE#gid=0&quot;&gt;https://docs.google.com/a/globallogic.com/spreadsheet/ccc?key=0AmLvaJ8oRZ-TdHJBNHJ0eGZfbjBaenBSVGM2VS1oNlE#gid=0&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Stack Trace :&lt;br/&gt;
&lt;br/&gt;
SDKD: Mar 12, 2013 1:55:39 AM com.couchbase.client.CouchbaseConnectionFactory$Resubscriber run&lt;br/&gt;
SDKD: WARNING: Resubscribe attempt failed:&lt;br/&gt;
SDKD: java.lang.NullPointerException&lt;br/&gt;
SDKD: 	at com.couchbase.client.vbucket.ConfigurationProviderHTTP.getBucketConfiguration(ConfigurationProviderHTTP.java:149)&lt;br/&gt;
SDKD: 	at com.couchbase.client.vbucket.ConfigurationProviderHTTP.subscribe(ConfigurationProviderHTTP.java:319)&lt;br/&gt;
SDKD: 	at com.couchbase.client.CouchbaseConnectionFactory$Resubscriber.run(CouchbaseConnectionFactory.java:405)&lt;br/&gt;
SDKD: 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)&lt;br/&gt;
SDKD: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)&lt;br/&gt;
SDKD: 	at java.lang.Thread.run(Thread.java:619)&lt;br/&gt;
SDKD: Mar 12, 2013 1:55:39 AM com.couchbase.client.CouchbaseConnectionFactory$Resubscriber run</description>
                <environment></environment>
            <key id="23164">JCBC-266</key>
            <summary>NPE in ConfigurationProviderHTTP needs to be handled.</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="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="daschl">Michael Nitschinger</assignee>
                                <reporter username="deeptida">Deepti Dawar</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Mar 2013 06:13:47 -0500</created>
                <updated>Wed, 12 Jun 2013 06:44:27 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="60862" author="daschl" created="Wed, 12 Jun 2013 06:44:27 -0500"  >&lt;a href=&quot;http://review.couchbase.org/#/c/26862/&quot;&gt;http://review.couchbase.org/#/c/26862/&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_10284" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                <customfieldname>Planned End</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>Tue, 12 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>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>9438</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-11] Need more unit tests for couchbase-client </title>
                <link>http://www.couchbase.com/issues/browse/JCBC-11</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CouchbaseConnectionFactoryBuilder cfb = new CouchbaseConnectionFactoryBuilder();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cfb.setOpTimeout(10000);  // wait up to 10 seconds for an operation to succeed&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cfb.setOpQueueMaxBlockTime(5000); // wait up to 5 seconds when trying to enqueue an operation       &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&lt;br/&gt;
For example, will fill up the funnel (the blocking queue) to the rim, but not overflow (immediately timeout).  Once it&amp;#39;s at the rim, it&amp;#39;ll have to wait to wait until at least one operation flows out to add another operation.  This *will* slow down the callers (their async calls will actually block on this internal queue), but that&amp;#39;s okay in a bulk loader.&lt;br/&gt;
&lt;br/&gt;
However, there are no unit tests in couchbase-client to test this.&lt;br/&gt;
</description>
                <environment></environment>
            <key id="16086">JCBC-11</key>
            <summary>Need more unit tests for couchbase-client </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="4" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="daschl">Michael Nitschinger</assignee>
                                <reporter username="rags">Raghavan Srinivas</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Feb 2012 20:57:28 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:31 -0500</updated>
                                    <version>1.0.1</version>
                                <fixVersion>1.1.8</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>8633</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-18] NPE if hostnames in server bootstrap list are mixed case</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-18</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>A user described a scenario where using mixed case in their URIs lead to an NPE.  This is from the map lookup, since  what the couchbase cluster sends us is different than what the user entered, I think.&lt;br/&gt;
&lt;br/&gt;
See: &lt;a href=&quot;http://www.couchbase.com/forums/thread/java-client-101-exception-using-couchbaseclient-servlet-filter&quot;&gt;http://www.couchbase.com/forums/thread/java-client-101-exception-using-couchbaseclient-servlet-filter&lt;/a&gt;</description>
                <environment></environment>
            <key id="16291">JCBC-18</key>
            <summary>NPE if hostnames in server bootstrap list are mixed case</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="4" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/reopened.png">Reopened</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>Mon, 12 Mar 2012 10:22:35 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:31 -0500</updated>
                                    <version>1.1-dp4</version>
                                <fixVersion>1.1.8</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>8631</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-15] add showtype-options to documentation</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-15</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Many of the Java docs should show the type in the options summary.  </description>
                <environment></environment>
            <key id="16195">JCBC-15</key>
            <summary>add showtype-options to 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="4" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 23 Feb 2012 14:44:06 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:31 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="44066" author="daschl" created="Thu, 15 Nov 2012 07:14:30 -0600"  >Can you give me a quick example on what you mean? Reassign it back to me then and I&amp;#39;ll fix it!</comment>
                    <comment id="44094" author="ingenthr" created="Thu, 15 Nov 2012 10:52:09 -0600"  >If you look at the docs, there are many places where we have types that are returned, but we don&amp;#39;t sufficiently describe those types.  For example:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-add.html#table-couchbase-sdk_java_add&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-add.html#table-couchbase-sdk_java_add&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
It mentions the OperationFuture, but nowhere really tell how to use it (to my knowledge).&lt;br/&gt;
&lt;br/&gt;
You should be able to work with MC on the right way to fix these.</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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-108] observe loop implementation behind mutations should be adaptive to server persistence latencies</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-108</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>The current observe loop implementation does not acknowledge the average persistence latency which is in the observe response.</description>
                <environment></environment>
            <key id="19700">JCBC-108</key>
            <summary>observe loop implementation behind mutations should be adaptive to server persistence latencies</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Tue, 11 Sep 2012 18:48:29 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:30 -0500</updated>
                                                    <fixVersion>1.1.8</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>8627</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-89] re-enable optimization after error handling in binary optimized sets is fixed in dependent spymemcached</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-89</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description></description>
                <environment></environment>
            <key id="18727">JCBC-89</key>
            <summary>re-enable optimization after error handling in binary optimized sets is fixed in dependent spymemcached</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Jul 2012 01:28:17 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:30 -0500</updated>
                                    <version>1.0.3</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="46128" author="ingenthr" created="Mon, 17 Dec 2012 19:02:40 -0600"  >I do think this one needs to be addressed before 1.2.</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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-83] replace use of java assert in tests with junit assertions, including messages</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-83</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description></description>
                <environment></environment>
            <key id="18387">JCBC-83</key>
            <summary>replace use of java assert in tests with junit assertions, including messages</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="mikew">Mike Wiederhold</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jul 2012 13:20:44 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:30 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="49169" author="daschl" created="Thu, 31 Jan 2013 09:22:22 -0600"  >Moving to 1.1.2 because its a smaller change.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>51</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                <customfield id="customfield_10080" key="com.pyxis.greenhopper.jira:gh-sprint">
                <customfieldname>Sprint</customfieldname>
                <customfieldvalues>
                        <customfieldvalue>13</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                    </customfields>
    </item>

<item>
            <title>[JCBC-76] Replica read command</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-76</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Implement a simple replica read command</description>
                <environment></environment>
            <key id="18333">JCBC-76</key>
            <summary>Replica read command</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="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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jul 2012 00:13:11 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:30 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="37289" author="ingenthr" created="Wed, 29 Aug 2012 18:56:22 -0500"  >See &lt;a href=&quot;http://www.couchbase.com/wiki/display/couchbase/Replica+Read&quot;&gt;http://www.couchbase.com/wiki/display/couchbase/Replica+Read&lt;/a&gt; for details on implementation.</comment>
                    <comment id="39078" author="rags" created="Fri, 14 Sep 2012 19:41:38 -0500"  >This will be experimental functionality for 1.1</comment>
                    <comment id="49165" author="daschl" created="Thu, 31 Jan 2013 09:16:15 -0600"  >Moving to .next until it is decided if this will make it into 1.2 or not.</comment>
                    <comment id="50396" author="ingenthr" created="Thu, 14 Feb 2013 02:13:17 -0600"  >Michael: this has come up again recently so if possible we&amp;#39;d like to get it in a build for testing soon and see about adding it as experimental, if not supported, in 1.1.3.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8849</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-65] Client constructor blocks or deadlocks</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-65</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>I am evaluating the couchbase product and hit a brick wall immediately when running through the simple hello world example.&lt;br/&gt;
&lt;br/&gt;
I have a 3 node cluster running couchbase enterprise 1.8.2 on ubuntu 10.04 64 bit VMware images. All three are running in VMWare player instances on Windows 7 64bit.&lt;br/&gt;
&lt;br/&gt;
When I try to run the Main example on Windows 7 using Java6 (64 bit) the code blocks somewhere in the Client constructor. The result is the logging below.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
2012-06-14 14:07:46.313 INFO com.couchbase.client.CouchbaseConnection:  Added {QA sa=/192.168.186.150:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
2012-06-14 14:07:46.316 INFO com.couchbase.client.CouchbaseConnection:  Added {QA sa=/192.168.186.151:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
2012-06-14 14:07:46.319 INFO com.couchbase.client.CouchbaseConnection:  Added {QA sa=/192.168.186.152:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
2012-06-14 14:07:59.843 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@24a4e2e3&apos;&gt;sun.nio.ch.SelectionKeyImpl@24a4e2e3&lt;/a&gt;&lt;br/&gt;
2012-06-14 14:08:52.983 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@21ec6696&apos;&gt;sun.nio.ch.SelectionKeyImpl@21ec6696&lt;/a&gt;&lt;br/&gt;
2012-06-14 14:08:52.987 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@27431340&apos;&gt;sun.nio.ch.SelectionKeyImpl@27431340&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
I have also tried debugging but the code blocks in the constructor at&lt;br/&gt;
&lt;br/&gt;
client = new CouchbaseClient(uris, &amp;quot;default&amp;quot;, &amp;quot;&amp;quot;);&lt;br/&gt;
&lt;br/&gt;
The program never completes.&lt;br/&gt;
&lt;br/&gt;
This works fine in a Linux environment with the following output received&lt;br/&gt;
&lt;br/&gt;
2012-06-14 04:58:50.693 INFO com.couchbase.client.CouchbaseConnection:  Added {QA sa=/192.168.186.150:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
2012-06-14 04:58:50.703 INFO com.couchbase.client.CouchbaseConnection:  Added {QA sa=/192.168.186.151:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
2012-06-14 04:58:50.708 INFO com.couchbase.client.CouchbaseConnection:  Added {QA sa=/192.168.186.152:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
2012-06-14 04:58:50.830 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@1bc74f37&apos;&gt;sun.nio.ch.SelectionKeyImpl@1bc74f37&lt;/a&gt;&lt;br/&gt;
2012-06-14 04:58:50.834 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@3a21b220&apos;&gt;sun.nio.ch.SelectionKeyImpl@3a21b220&lt;/a&gt;&lt;br/&gt;
2012-06-14 04:58:50.843 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@732b3d53&apos;&gt;sun.nio.ch.SelectionKeyImpl@732b3d53&lt;/a&gt;&lt;br/&gt;
2012-06-14 04:58:51.135 INFO com.couchbase.client.CouchbaseConnection:  Shut down Couchbase client&lt;br/&gt;
Set Succeeded&lt;br/&gt;
Synchronous Get failed&lt;br/&gt;
Asynchronous Get Succeeded: Hello World!&lt;br/&gt;
&lt;br/&gt;
Is there a JDK for windows 7 or a configuration setting that can be used to prevent this?</description>
                <environment>OS: Windows 7 64bit&lt;br/&gt;
JDK: 1.6.0_31 also 1.6.0_33 64 bit&lt;br/&gt;
Couchbase enterprise edition running on 3 nodes all Ubuntu 10.04 64bit server (VMware images)&lt;br/&gt;
</environment>
            <key id="17800">JCBC-65</key>
            <summary>Client constructor blocks or deadlocks</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="4" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="daschl">Michael Nitschinger</assignee>
                                <reporter username="mscott">Martin Scott</reporter>
                        <labels>
                    </labels>
                <created>Thu, 14 Jun 2012 08:13:11 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:30 -0500</updated>
                                    <version>1.0.2</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>3</watches>
                                                    <comments>
                    <comment id="29962" author="rags" created="Thu, 14 Jun 2012 09:07:48 -0500"  >Thanks for giving the Java client library a spin.&lt;br/&gt;
&lt;br/&gt;
Were you able to connect to a single windows 7 node? I suspect it might be a firewall/networking issue and if you can use the netstat command (or the appropriate command on windows 7)?&lt;br/&gt;
&lt;br/&gt;
You may also want to follow the instructions noted in&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-manual-1.8/couchbase-bestpractice-cloud.html&quot;&gt;http://www.couchbase.com/docs/couchbase-manual-1.8/couchbase-bestpractice-cloud.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Changing IP addresses might be a cause for this.&lt;br/&gt;
&lt;br/&gt;
Finally, a more detailed log would be useful, if the network troubleshooting does not help.&lt;br/&gt;
&lt;br/&gt;
Please refer to&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/wiki/display/couchbase/Couchbase+Java+Client+Library&quot;&gt;http://www.couchbase.com/wiki/display/couchbase/Couchbase+Java+Client+Library&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
for logging tips.&lt;br/&gt;
</comment>
                    <comment id="29963" author="mscott" created="Thu, 14 Jun 2012 09:31:21 -0500"  >Apologies that should read&lt;br/&gt;
&lt;br/&gt;
Couchbase Version: 1.8.0 enterprise edition (build-55)</comment>
                    <comment id="29965" author="mscott" created="Thu, 14 Jun 2012 10:06:57 -0500"  >Detailed logging up to the point when the client hangs</comment>
                    <comment id="29966" author="rags" created="Thu, 14 Jun 2012 10:12:07 -0500"  >Thanks for the Log. I took a real quick look.&lt;br/&gt;
&lt;br/&gt;
Were you able to follow the steps in&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-manual-1.8/couchbase-bestpractice-cloud.html&quot;&gt;http://www.couchbase.com/docs/couchbase-manual-1.8/couchbase-bestpractice-cloud.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
and use the ip address that you are able to connect to (via the admin console)?</comment>
                    <comment id="29973" author="alex" created="Thu, 14 Jun 2012 11:43:32 -0500"  >Hi Martin,&lt;br/&gt;
&lt;br/&gt;
Can you verify connectivity from the JDK on your windows box?&lt;br/&gt;
&lt;br/&gt;
This is what my connection code looks like:&lt;br/&gt;
		// Connection details for Couchbase&lt;br/&gt;
		List&amp;lt;URI&amp;gt; uris = new LinkedList&amp;lt;URI&amp;gt;();&lt;br/&gt;
		uris.add(URI.create(&amp;quot;&lt;a href=&quot;http://10.4.2.3:8091/pools&quot;&gt;http://10.4.2.3:8091/pools&lt;/a&gt;&amp;quot;));&lt;br/&gt;
&lt;br/&gt;
	    CouchbaseClient client = null;&lt;br/&gt;
	    try {&lt;br/&gt;
	    	client = new CouchbaseClient(uris, &amp;quot;default&amp;quot;, &amp;quot;&amp;quot;);&lt;br/&gt;
	    }   &lt;br/&gt;
	    catch (Exception e) {&lt;br/&gt;
	      System.err.println(&amp;quot;except: connect: &amp;quot; + e.getMessage());&lt;br/&gt;
	      System.exit(-1);&lt;br/&gt;
	    }   &lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
This will create a persistent connection to 8091 on 10.4.2.3 as well as connections to 11210 on every node in the cluster.&lt;br/&gt;
&lt;br/&gt;
ssh&amp;#39;ing to 10.4.2.3 and running netstat - you should see something like whats below:&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
netstat -nat|grep 10.32.3.50&lt;br/&gt;
tcp        0      0 10.4.2.3:11210              10.32.3.50:65437            ESTABLISHED &lt;br/&gt;
tcp        0      0 10.4.2.3:8091               10.32.3.50:65442            ESTABLISHED &lt;br/&gt;
tcp        0    304 ::ffff:10.4.2.3:22          ::ffff:10.32.3.50:65516     ESTABLISHED &lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
can you confirm this in your environment?&lt;br/&gt;
&lt;br/&gt;
thanks&lt;br/&gt;
&lt;br/&gt;
-Alex.</comment>
                    <comment id="30370" author="mscott" created="Mon, 18 Jun 2012 09:36:55 -0500"  >Hi, thanks for the responses.&lt;br/&gt;
&lt;br/&gt;
Here is the netstat output from my Windows client &lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;TCP    192.168.186.1:139      0.0.0.0:0              LISTENING       InHost&lt;br/&gt;
&amp;nbsp;&amp;nbsp;TCP    192.168.186.1:51008    192.168.186.150:22     ESTABLISHED     InHost&lt;br/&gt;
&amp;nbsp;&amp;nbsp;TCP    192.168.186.1:53281    192.168.186.150:8091   TIME_WAIT       InHost&lt;br/&gt;
&amp;nbsp;&amp;nbsp;TCP    192.168.186.1:53284    192.168.186.150:11210  ESTABLISHED     InHost&lt;br/&gt;
&amp;nbsp;&amp;nbsp;TCP    192.168.186.1:53285    192.168.186.151:11210  ESTABLISHED     InHost&lt;br/&gt;
&amp;nbsp;&amp;nbsp;TCP    192.168.186.1:53286    192.168.186.152:11210  ESTABLISHED     InHost&lt;br/&gt;
&amp;nbsp;&amp;nbsp;TCP    192.168.186.1:53292    192.168.186.150:8091   ESTABLISHED     InHost&lt;br/&gt;
&lt;br/&gt;
and from the first node in the cluster with the client and other nodes.&lt;br/&gt;
&lt;br/&gt;
tcp        0      0 192.168.186.150:41317   192.168.186.150:11210   ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:35883   192.168.186.151:11210   ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:11210   192.168.186.151:38013   ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:21100   192.168.186.152:46834   ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:11210   192.168.186.1:53284     ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:57559   192.168.186.151:22      TIME_WAIT&lt;br/&gt;
tcp        0      0 192.168.186.150:8091    192.168.186.1:53292     ESTABLISHED&lt;br/&gt;
tcp        0     48 192.168.186.150:22      192.168.186.1:51008     ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:11210   192.168.186.150:41317   ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:42433   192.168.186.152:11210   ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:11210   192.168.186.150:56214   ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:56214   192.168.186.150:11210   ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:11210   192.168.186.152:39222   ESTABLISHED&lt;br/&gt;
tcp        0      0 192.168.186.150:21100   192.168.186.151:60945   ESTABLISHED&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
I downloaded the source jars from the maven repo and debugging shows the client hanging at the getLatch().await() line below. There doesn&amp;#39;t appear to be any thread calling the countDown method on the latch before or after this is called.&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;private ChannelFuture getReceivedFuture() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getLatch().await();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (InterruptedException ex) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finerLog(&amp;quot;Getting received future has been interrupted.&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return receivedFuture;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Martin.</comment>
                    <comment id="30371" author="mscott" created="Mon, 18 Jun 2012 09:48:59 -0500"  >The stack trace where the client blocks&lt;br/&gt;
&lt;br/&gt;
Thread [main] (Stepping)	&lt;br/&gt;
	BucketUpdateResponseHandler.getReceivedFuture() line: 147	&lt;br/&gt;
	BucketUpdateResponseHandler.getLastResponse() line: 127	&lt;br/&gt;
	BucketMonitor.startMonitor() line: 183	&lt;br/&gt;
	ConfigurationProviderHTTP.subscribe(String, Reconfigurable) line: 243	&lt;br/&gt;
	CouchbaseClient.&amp;lt;init&amp;gt;(CouchbaseConnectionFactory, boolean) line: 158	&lt;br/&gt;
	CouchbaseClient.&amp;lt;init&amp;gt;(CouchbaseConnectionFactory) line: 125	&lt;br/&gt;
	CouchbaseClient.&amp;lt;init&amp;gt;(List&amp;lt;URI&amp;gt;, String, String) line: 77	&lt;br/&gt;
	Main.main(String[]) line: 67	&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="48397" author="seand88" created="Wed, 23 Jan 2013 14:45:26 -0600"  >I am having this exact same problem. Using windows 7 64 bit trying to connect to ubuntu.&lt;br/&gt;
I am using 32 bit os on linux and couchbase server 2.0.&lt;br/&gt;
&lt;br/&gt;
I am also using the lastest java client version 1.1 &lt;br/&gt;
&lt;br/&gt;
Same Issue as described below.  &lt;br/&gt;
The only workaround is to not use windows, if my java client is running on linux then it will work with no issues, it just deadlocks on the windows machine.&lt;br/&gt;
</comment>
                    <comment id="55358" author="tgrall" created="Wed, 17 Apr 2013 12:28:58 -0500"  >I am reopening the issue as we see this error again on some environment:&lt;br/&gt;
- Yuval&lt;br/&gt;
- &lt;a href=&quot;http://www.couchbase.com/issues/browse/JCBC-65&quot;&gt;http://www.couchbase.com/issues/browse/JCBC-65&lt;/a&gt;&lt;br/&gt;
...&lt;br/&gt;
&lt;br/&gt;
Let me know if you prefer me to create a new issue for 1.1.x</comment>
                    <comment id="59491" author="daschl" created="Wed, 29 May 2013 08:07:24 -0500"  >getting it onto the bugfix release train, altough I&amp;#39;m not sure if we get it into 1.1.7</comment>
                </comments>
                    <attachments>
                    <attachment id="13642" name="log.txt" size="6445" author="mscott" created="Thu, 14 Jun 2012 10:06:57 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10656</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-61] Expose returned CAS value in CASResponse when available from binary protocol</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-61</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Customer request to add the capability to retrieve new cas value after a cas() operation to avoid a subsequent gets()</description>
                <environment></environment>
            <key id="17563">JCBC-61</key>
            <summary>Expose returned CAS value in CASResponse when available from binary protocol</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="4" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="daschl">Michael Nitschinger</assignee>
                                <reporter username="perry">Perry Krug</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Jun 2012 12:03:11 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:30 -0500</updated>
                                    <version>1.1dp</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>2</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45022" author="daschl" created="Thu, 29 Nov 2012 13:43:54 -0600"  >This may already be implemented, need to check.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>49</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                <customfield id="customfield_10080" key="com.pyxis.greenhopper.jira:gh-sprint">
                <customfieldname>Sprint</customfieldname>
                <customfieldvalues>
                        <customfieldvalue>13</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                    </customfields>
    </item>

<item>
            <title>[JCBC-113] code injection during development/debug causing IllegalStateException</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-113</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Caused by: java.lang.IllegalStateException: Shutting down&lt;br/&gt;
at net.spy.memcached.MemcachedConnection.checkState(MemcachedConnection.java:824) ~[spymemcached-2.8.4.jar:2.8.4]&lt;br/&gt;
at net.spy.memcached.MemcachedConnection.enqueueOperation(MemcachedConnection.java:640) ~[spymemcached-2.8.4.jar:2.8.4]&lt;br/&gt;
at net.spy.memcached.MemcachedClient.asyncGet(MemcachedClient.java:841) ~[spymemcached-2.8.4.jar:2.8.4]&lt;br/&gt;
at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1003) ~[spymemcached-2.8.4.jar:2.8.4]&lt;br/&gt;
at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1024) ~[spymemcached-2.8.4.jar:2.8.4]&lt;br/&gt;
&lt;br/&gt;
It happens everytime I change the code in debug mode (JVM code injection)&lt;br/&gt;
&lt;br/&gt;
From thread: &lt;a href=&quot;http://www.couchbase.com/forums/thread/java-client-issue-after-code-injection&quot;&gt;http://www.couchbase.com/forums/thread/java-client-issue-after-code-injection&lt;/a&gt;</description>
                <environment></environment>
            <key id="19756">JCBC-113</key>
            <summary>code injection during development/debug causing IllegalStateException</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Sep 2012 18:25:28 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:29 -0500</updated>
                                    <version>1.1dp</version>
                <version>1.1dp2</version>
                <version>1.1.0</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>1</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="44184" author="daschl" created="Fri, 16 Nov 2012 04:54:29 -0600"  >Asked &amp;quot;cb&amp;quot; on the forums for more information to be able to reproduce the issue.</comment>
                    <comment id="46542" author="cb" created="Sun, 23 Dec 2012 22:26:26 -0600"  >I tested on v1.1 and there are still issues:&lt;br/&gt;
&lt;br/&gt;
Caused by: java.lang.IllegalStateException: Shutting down&lt;br/&gt;
	at net.spy.memcached.MemcachedConnection.checkState(MemcachedConnection.java:825) ~[spymemcached-2.8.9.jar:2.8.9]&lt;br/&gt;
	at net.spy.memcached.MemcachedConnection.enqueueOperation(MemcachedConnection.java:641) ~[spymemcached-2.8.9.jar:2.8.9]&lt;br/&gt;
	at net.spy.memcached.MemcachedClient.asyncGetAndTouch(MemcachedClient.java:1284) ~[spymemcached-2.8.9.jar:2.8.9]&lt;br/&gt;
	at net.spy.memcached.MemcachedClient.getAndTouch(MemcachedClient.java:955) ~[spymemcached-2.8.9.jar:2.8.9]&lt;br/&gt;
	at net.spy.memcached.MemcachedClient.getAndTouch(MemcachedClient.java:978) ~[spymemcached-2.8.9.jar:2.8.9]&lt;br/&gt;
	at models.AdminUserSession.findByKey(AdminUserSession.java:35) ~[classes/:na]</comment>
                    <comment id="46547" author="daschl" created="Mon, 24 Dec 2012 01:11:45 -0600"  >Hi cb,&lt;br/&gt;
&lt;br/&gt;
thanks for responding. Would it be possible to help me out reproducing it? What kind of setup are you using? (OS, IDE, App Server) and so on? I never encountered this in my environments here... thanks very much!</comment>
                    <comment id="46548" author="cb" created="Mon, 24 Dec 2012 01:30:02 -0600"  >Play Framewok 1.0.4&lt;br/&gt;
Couchbase 2 GA&lt;br/&gt;
Java Client 1.1&lt;br/&gt;
&lt;br/&gt;
You can use the example app that you created in your Blog Post. (BTW - Still looking forward for the rest of the parts of this super good post!!)&lt;br/&gt;
Change something in the code - while running in sbt like this:&lt;br/&gt;
&lt;br/&gt;
~run   (note the &amp;quot;~&amp;quot;) which tells sbt to inject any change into the running process.&lt;br/&gt;
&lt;br/&gt;
Let me know if you can reproduce the bug.&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="46549" author="daschl" created="Mon, 24 Dec 2012 01:33:21 -0600"  >You mean 2.0.4? &lt;br/&gt;
&lt;br/&gt;
Are you running on 1.6 or 1.7 java? Or which scala version? On which operating system are you running it?&lt;br/&gt;
&lt;br/&gt;
Never came across this (neither while working on the blog posts nor working on it from other apps).&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="46555" author="cb" created="Mon, 24 Dec 2012 02:10:25 -0600"  >sorry 2.0.4&lt;br/&gt;
&lt;br/&gt;
Jave Version:&lt;br/&gt;
&lt;br/&gt;
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)&lt;br/&gt;
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)&lt;br/&gt;
&lt;br/&gt;
OSX 10.8.2</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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-117] mention that OperationFuture.get(tmo) changes state when timeout has been reached</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-117</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>get(tmo) should not change the underlying state of the command to being timed out. It should simply respond with a TimeoutException but allow the command to continue.&lt;br/&gt;
&lt;br/&gt;
Specifically, when the arg-tmo (timeout passed as an argument) expires, the underlying command is marked as timed out. For example, if one waits for 50ms on the command and a response has not been received within that time, the command is now dead (&amp;#39;TIMEDOUT&amp;#39;, or similar) and waiting again will not help.&lt;br/&gt;
&lt;br/&gt;
It is understandable that some code might rely on the old behavior, so at the very least, this should be documented in &amp;#39;BIG RED LETTERS&amp;#39; in the get(tmo) method.</description>
                <environment></environment>
            <key id="19871">JCBC-117</key>
            <summary>mention that OperationFuture.get(tmo) changes state when timeout has been reached</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="4" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="daschl">Michael Nitschinger</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Sep 2012 20:59:41 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:29 -0500</updated>
                                    <version>1.0.3</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="40559" author="ingenthr" created="Fri, 5 Oct 2012 17:12:56 -0500"  >Please explain further.</comment>
                    <comment id="41472" author="daschl" created="Tue, 16 Oct 2012 06:52:53 -0500"  >Hey Mark,&lt;br/&gt;
&lt;br/&gt;
Can you explain in more detail what you want to see changed? When the argument is timed-out what should happen then with it?&lt;br/&gt;
&lt;br/&gt;
Thanks,&lt;br/&gt;
Michael</comment>
                    <comment id="42384" author="ingenthr" created="Wed, 24 Oct 2012 08:55:28 -0500"  >As currently designed, the client uses get() to determine timeout.  This is not going to change at the moment.  There&amp;#39;s no other appropriate place internal to the client to check for this timeout of the operation at the moment.</comment>
                    <comment id="42391" author="mnunberg" created="Wed, 24 Oct 2012 10:46:27 -0500"  >Moving this as a documentation bug</comment>
                    <comment id="43448" author="ingenthr" created="Tue, 6 Nov 2012 18:41:42 -0600"  >Michael, I&amp;#39;d like you to give this one a shot as your first docs bug, I&amp;#39;ll help you with this as needed.</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="19782">JCBC-114</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>8622</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-115] thoroughly test on_error arguments</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-115</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Support for on_error was recently added, but it does does not currently have a test for on_error=stop.</description>
                <environment></environment>
            <key id="19810">JCBC-115</key>
            <summary>thoroughly test on_error arguments</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 Sep 2012 01:51:15 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:29 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="43659" author="daschl" created="Fri, 9 Nov 2012 11:13:25 -0600"  >Mark,&lt;br/&gt;
&lt;br/&gt;
Can you add this to your sdkd testsuite? Its hard to deal with this in unit tests (would require lots of mocking) and I assume you can shutdown nodes and verify the behavior is correct?&lt;br/&gt;
&lt;br/&gt;
Thanks,&lt;br/&gt;
Michael</comment>
                    <comment id="45021" author="daschl" created="Thu, 29 Nov 2012 13:41:16 -0600"  >We can do this in functional tests as well, there are easy ways to produce errors on the server.</comment>
                    <comment id="45028" author="mnunberg" created="Thu, 29 Nov 2012 14:33:51 -0600"  >Please share :)</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>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-114] Command Futures never receive results after rebalance-out (or other sorts of topology/network changes)</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-114</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description></description>
                <environment></environment>
            <key id="19782">JCBC-114</key>
            <summary>Command Futures never receive results after rebalance-out (or other sorts of topology/network changes)</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="4" iconUrl="http://www.couchbase.com/issues/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                    <security id="10011">Public</security>
                        <assignee username="daschl">Michael Nitschinger</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Mon, 17 Sep 2012 00:46:29 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:29 -0500</updated>
                                    <version>1.0.3</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="40221" author="mnunberg" created="Wed, 3 Oct 2012 13:13:10 -0500"  >This is a real blocker, and seems to be related to a few vbuckets. This issue is preventing me from properly measuring command durations </comment>
                    <comment id="40230" author="farshid" created="Wed, 3 Oct 2012 14:21:48 -0500"  >Matt/Rags,&lt;br/&gt;
&lt;br/&gt;
This issue is a blocker for executing more integration tests on java sdk. are there workarounds to avoid this use case or a fix on the way ?&lt;br/&gt;
Please assign this back to Mark if more information or logs needed for this issue</comment>
                    <comment id="40442" author="ingenthr" created="Thu, 4 Oct 2012 17:57:14 -0500"  >Please have a look at this.</comment>
                    <comment id="40500" author="mnunberg" created="Fri, 5 Oct 2012 09:56:11 -0500"  >Michael,&lt;br/&gt;
&lt;br/&gt;
I would not try this test manually.. the use case in more detail is as follows:&lt;br/&gt;
&lt;br/&gt;
- Single CouchbaseClient object&lt;br/&gt;
- 20 user threads. 10 setting and 10 getting the same sorts of kv&lt;br/&gt;
- Operations are done asynchronously. They are submitted into a queue which is then checked periodically for isDone/isCancelled.&lt;br/&gt;
- 4 node cluster. Nodes are removed, connections are broken&lt;br/&gt;
&lt;br/&gt;
The issue is those polling methods never returning true, unless they are retrieved synchronously (i.e. ft.get()).. which is actually an accidental detail</comment>
                    <comment id="42383" author="ingenthr" created="Wed, 24 Oct 2012 08:44:39 -0500"  >We looked at this pretty closely today.  The issue here is that the client as designed relies on the get() from the caller to trigger the timeout.  An operation will, somewhat correctly, never transition to isDone() or isCancelled() unless someone cares to use it. &lt;br/&gt;
&lt;br/&gt;
The scenario that was likely in play over the WAN here is that the request was in flight to the server while the config was in flight down to the client.  It arrives at the server, but is never responded to.  Since the get() is never called, it&amp;#39;ll never time out and transition to the canceled state.&lt;br/&gt;
&lt;br/&gt;
We recommend you change the test code to use the queue more like a queue and just get() each one.  Iterating through the queue is a bit funny in the first place, but if using the get() on the Future objects, you&amp;#39;ll still have asynchronous behavior and much of the time the get() will be returning since the data is already there.</comment>
                    <comment id="42413" author="ingenthr" created="Wed, 24 Oct 2012 13:35:13 -0500"  >This behavior should be better documented, both in the javadoc and in the API reference.</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                <outwardlinks description="depends on">
                            <issuelink>
            <issuekey id="19871">JCBC-117</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>8625</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-116] Implement the ObserveSet for better observing of replication/persistence</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-116</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description></description>
                <environment></environment>
            <key id="19811">JCBC-116</key>
            <summary>Implement the ObserveSet for better observing of replication/persistence</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 Sep 2012 02:37:30 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:29 -0500</updated>
                                                    <fixVersion>1.1.8</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>8623</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-151] Client does timeout on connect in specific java environments (was believed to be java7 related).</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-151</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>People report that the Client does not work with 1.7. Here is a sample stack trace:&lt;br/&gt;
&lt;br/&gt;
2012-11-20 00:29:11.228 INFO com.couchbase.client.CouchbaseConnection:  Added {QA sa=/127.0.0.1:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
2012-11-20 00:29:11.240 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@3f757322&apos;&gt;sun.nio.ch.SelectionKeyImpl@3f757322&lt;/a&gt;&lt;br/&gt;
2012-11-20 00:29:11.502 INFO com.couchbase.client.ViewConnection:  Added localhost/127.0.0.1:8092 to connect queue&lt;br/&gt;
2012-11-20 00:29:11.505 INFO com.couchbase.client.CouchbaseClient:  viewmode property isn&amp;#39;t defined. Setting viewmode to production mode&lt;br/&gt;
2012-11-20 00:29:11.647 INFO net.spy.memcached.auth.AuthThread:  Authenticated to localhost/127.0.0.1:11210&lt;br/&gt;
2012-11-20 00:29:12.051 INFO com.couchbase.client.http.AsyncConnectionManager:  Opening new Couchbase HTTP connection&lt;br/&gt;
2012-11-20 00:29:12.060 INFO com.couchbase.client.http.AsyncConnectionManager$ConnRequestCallback:  localhost/127.0.0.1:8092 - Session request successful&lt;br/&gt;
2012-11-20 00:29:17.111 ERROR com.couchbase.client.ViewNode$EventLogger:  Connection timed out: [localhost/127.0.0.1:8092(closed)]&lt;br/&gt;
java.lang.RuntimeException: Timed out waiting for operation&lt;br/&gt;
at com.couchbase.client.internal.HttpFuture.get(HttpFuture.java:68)&lt;br/&gt;
at com.couchbase.client.CouchbaseClient.getView(CouchbaseClient.java:428)&lt;br/&gt;
at Example1.main(Example1.java:43)&lt;br/&gt;
Caused by: java.util.concurrent.TimeoutException: Timed out waiting for operation&lt;br/&gt;
at com.couchbase.client.internal.HttpFuture.get(HttpFuture.java:80)&lt;br/&gt;
at com.couchbase.client.internal.HttpFuture.get(HttpFuture.java:65)&lt;br/&gt;
... 2 more&lt;br/&gt;
2012-11-20 00:30:12.168 INFO com.couchbase.client.CouchbaseConnection:  Shut down Couchbase client&lt;br/&gt;
2012-11-20 00:30:12.177 INFO com.couchbase.client.ViewNode:  Couchbase I/O reactor terminated&lt;br/&gt;
Disconnected from the target VM, address: &amp;#39;127.0.0.1:65280&amp;#39;, transport: &amp;#39;socket&amp;#39;&lt;br/&gt;
&lt;br/&gt;
Process finished with exit code 0&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Also See &lt;a href=&quot;http://www.couchbase.com/forums/thread/java-asyncconnectionmanager-timed-out-waiting-operation-please-help-console-log-included&quot;&gt;http://www.couchbase.com/forums/thread/java-asyncconnectionmanager-timed-out-waiting-operation-please-help-console-log-included&lt;/a&gt;&lt;br/&gt;
And &lt;a href=&quot;http://stackoverflow.com/questions/13466010/using-java-api-in-scala-to-query-views-in-couchbase-throws-timeout-exception?utm_source=twitterfeed&amp;utm_medium=twitter&quot;&gt;http://stackoverflow.com/questions/13466010/using-java-api-in-scala-to-query-views-in-couchbase-throws-timeout-exception?utm_source=twitterfeed&amp;amp;utm_medium=twitter&lt;/a&gt;</description>
                <environment></environment>
            <key id="20877">JCBC-151</key>
            <summary>Client does timeout on connect in specific java environments (was believed to be java7 related).</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="daschl">Michael Nitschinger</reporter>
                        <labels>
                    </labels>
                <created>Wed, 21 Nov 2012 04:01:02 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:28 -0500</updated>
                                    <version>1.1-dp4</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>2</votes>
                        <watches>6</watches>
                                                    <comments>
                    <comment id="44834" author="sqs" created="Tue, 27 Nov 2012 03:40:26 -0600"  >This doesn&amp;#39;t appear to be strictly related to Java7. I was able to get similar code to work on Java7. I even simulated loading a Play2 environment with other JARs that could potentially cause conflicts. It&amp;#39;s possible that my simulation of the Play2 environment was insufficient and that Play2 does other stuff...&lt;br/&gt;
&lt;br/&gt;
Code at &lt;a href=&quot;https://github.com/sqs/couchbase-scala-example&quot;&gt;https://github.com/sqs/couchbase-scala-example&lt;/a&gt;. Run with:&lt;br/&gt;
&lt;br/&gt;
CBURL=&lt;a href=&quot;http://localhost:8091/pools&quot;&gt;http://localhost:8091/pools&lt;/a&gt; CBPASSWORD=mypassword sbt -Dconfig.file=conf/application.conf &amp;#39;~run&amp;#39;&lt;br/&gt;
&lt;br/&gt;
Here is the output on my system that shows it&amp;#39;s on Java7 (openjdk) and that shows the expected output from the views:&lt;br/&gt;
&lt;br/&gt;
on java version 1.7.0_09&lt;br/&gt;
[info] play - Application started (Prod)&lt;br/&gt;
2012-11-27 01:34:27.115 INFO com.couchbase.client.CouchbaseConnection:  Added {QA sa=/127.0.0.1:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
2012-11-27 01:34:27.120 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@6267e5a2&apos;&gt;sun.nio.ch.SelectionKeyImpl@6267e5a2&lt;/a&gt;&lt;br/&gt;
2012-11-27 01:34:27.147 INFO com.couchbase.client.ViewConnection:  Added localhost/127.0.0.1:8092 to connect queue&lt;br/&gt;
2012-11-27 01:34:27.149 INFO com.couchbase.client.CouchbaseClient:  viewmode property isn&amp;#39;t defined. Setting viewmode to production mode&lt;br/&gt;
2012-11-27 01:34:27.176 INFO net.spy.memcached.auth.AuthThread:  Authenticated to localhost/127.0.0.1:11210&lt;br/&gt;
2012-11-27 01:34:27.282 INFO com.couchbase.client.http.AsyncConnectionManager:  Opening new Couchbase HTTP connection&lt;br/&gt;
2012-11-27 01:34:27.288 INFO com.couchbase.client.http.AsyncConnectionManager$ConnRequestCallback:  localhost/127.0.0.1:8092 - Session request successful&lt;br/&gt;
Res = List(&lt;a href=&apos;mailto:com.couchbase.client.protocol.views.ViewRowNoDocs@4667820f&apos;&gt;com.couchbase.client.protocol.views.ViewRowNoDocs@4667820f&lt;/a&gt;, &lt;a href=&apos;mailto:com.couchbase.client.protocol.views.ViewRowNoDocs@358bcae5&apos;&gt;com.couchbase.client.protocol.views.ViewRowNoDocs@358bcae5&lt;/a&gt;, &lt;a href=&apos;mailto:com.couchbase.client.protocol.views.ViewRowNoDocs@6cb59bd9&apos;&gt;com.couchbase.client.protocol.views.ViewRowNoDocs@6cb59bd9&lt;/a&gt;, &lt;a href=&apos;mailto:com.couchbase.client.protocol.views.ViewRowNoDocs@70afb51&apos;&gt;com.couchbase.client.protocol.views.ViewRowNoDocs@70afb51&lt;/a&gt;, &lt;a href=&apos;mailto:com.couchbase.client.protocol.views.ViewRowNoDocs@61f98673&apos;&gt;com.couchbase.client.protocol.views.ViewRowNoDocs@61f98673&lt;/a&gt;)&lt;br/&gt;
2012-11-27 01:34:27.396 INFO com.couchbase.client.CouchbaseConnection:  Shut down Couchbase client&lt;br/&gt;
2012-11-27 01:34:27.403 INFO com.couchbase.client.ViewNode:  Couchbase I/O reactor terminated&lt;br/&gt;
</comment>
                    <comment id="44844" author="daschl" created="Tue, 27 Nov 2012 09:27:32 -0600"  >Are you running on jdk7 on mac? Also, when you use play 2.1 it should work. Play2-related issues more were because of netty version incompatibilities.</comment>
                    <comment id="44865" author="sqs" created="Tue, 27 Nov 2012 14:24:50 -0600"  >This is jdk7 on Arch Linux and Play 2.1-RC1.&lt;br/&gt;
&lt;br/&gt;
I tried using a different netty, but no luck. What worked for me was moving calls to &amp;quot;new CouchbaseClient&amp;quot; out of static &amp;quot;object&amp;quot; initializers, since they appeared to be getting called in the Netty I/O thread (I got this exception in new CouchbaseClient: java.lang.IllegalStateException: await*() in I/O thread causes a dead lock or sudden performance drop. Use addListener() instead or call await*() from a different thread).</comment>
                    <comment id="44914" author="daschl" created="Wed, 28 Nov 2012 02:45:32 -0600"  >Hi Quinn, this issue is a different one! The issue described here is that people seem to find connection timeouts with java 7.</comment>
                    <comment id="44974" author="sqs" created="Wed, 28 Nov 2012 18:30:53 -0600"  >They may be related--or may just have similar symptoms. I was not getting timeout exceptions, but I was seeing view requests hang indefinitely until I made the fix described above.</comment>
                    <comment id="52650" author="dragos" created="Wed, 13 Mar 2013 06:49:42 -0500"  >Hi Michael, can you help with this error ? I am trying to find a workaround or something to work. This is the only thing which is keeping us from using Couchbase. I also posted here : &lt;a href=&quot;http://www.couchbase.com/forums/thread/couchbase-connectivity-problem-aws-vpc&quot;&gt;http://www.couchbase.com/forums/thread/couchbase-connectivity-problem-aws-vpc&lt;/a&gt; . As you can see in the times the timeout is received really fast.&lt;br/&gt;
&lt;br/&gt;
2013-03-13 11:40:47.702 INFO com.couchbase.client.CouchbaseConnection:  Added {QA sa=/10.0.X.XXX:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
2013-03-13 11:40:52.712 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@5cbfe9d&apos;&gt;sun.nio.ch.SelectionKeyImpl@5cbfe9d&lt;/a&gt;&lt;br/&gt;
2013-03-13 11:40:52.840 INFO net.spy.memcached.auth.AuthThread:  Authenticated to 10.0.X.XXX/10.0.X.XXX:11210&lt;br/&gt;
2013-03-13 11:40:57.860 INFO com.couchbase.client.ViewConnection:  Added 10.0.X.XXX to connect queue&lt;br/&gt;
2013-03-13 11:40:57.863 INFO com.couchbase.client.CouchbaseClient:  viewmode property isn&amp;#39;t defined. Setting viewmode to production mode&lt;br/&gt;
2013-03-13 11:40:58.070 INFO com.couchbase.client.http.AsyncConnectionManager:  Opening new Couchbase HTTP connection&lt;br/&gt;
2013-03-13 11:40:58.077 INFO com.couchbase.client.http.AsyncConnectionManager$ConnRequestCallback:  /10.0.X.XXX:8092 - Session request successful&lt;br/&gt;
2013-03-13 11:41:03.113 ERROR com.couchbase.client.ViewNode$EventLogger:  Connection timed out: [10.0.X.XXX/10.0.X.XXX:8092]&lt;br/&gt;
Exception in thread &amp;quot;main&amp;quot; java.lang.RuntimeException: Timed out waiting for operation&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.couchbase.client.internal.HttpFuture.get(HttpFuture.java:67)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.couchbase.client.CouchbaseClient.getView(CouchbaseClient.java:475)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at couchbase.training.view.poc.CouchbasePOC.main(CouchbasePOC.java:63)&lt;br/&gt;
Caused by: java.util.concurrent.TimeoutException: Timed out waiting for operation&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.couchbase.client.internal.HttpFuture.waitForAndCheckOperation(HttpFuture.java:85)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.couchbase.client.internal.HttpFuture.get(HttpFuture.java:74)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.couchbase.client.internal.HttpFuture.get(HttpFuture.java:64)&lt;br/&gt;
</comment>
                    <comment id="52651" author="daschl" created="Wed, 13 Mar 2013 07:35:43 -0500"  >Hi dragos,&lt;br/&gt;
&lt;br/&gt;
can you please post the full code where you connect to couchbase? (including factories and such)&lt;br/&gt;
&lt;br/&gt;
Thanks!</comment>
                    <comment id="52652" author="dragos" created="Wed, 13 Mar 2013 07:38:51 -0500"  >Hi Mike, this is the POC client for Couchbase:&lt;br/&gt;
package couchbase.training.view.poc;&lt;br/&gt;
&lt;br/&gt;
import java.io.FileInputStream;&lt;br/&gt;
import java.io.FileNotFoundException;&lt;br/&gt;
import java.io.IOException;&lt;br/&gt;
import java.net.URI;&lt;br/&gt;
import java.util.LinkedList;&lt;br/&gt;
import java.util.List;&lt;br/&gt;
import java.util.concurrent.TimeUnit;&lt;br/&gt;
&lt;br/&gt;
import org.apache.commons.io.IOUtils;&lt;br/&gt;
import org.json.JSONException;&lt;br/&gt;
import org.json.XML;&lt;br/&gt;
&lt;br/&gt;
import com.couchbase.client.CouchbaseClient;&lt;br/&gt;
import com.couchbase.client.CouchbaseConnectionFactory;&lt;br/&gt;
import com.couchbase.client.CouchbaseConnectionFactoryBuilder;&lt;br/&gt;
import com.couchbase.client.protocol.views.ComplexKey;&lt;br/&gt;
import com.couchbase.client.protocol.views.Query;&lt;br/&gt;
import com.couchbase.client.protocol.views.Stale;&lt;br/&gt;
import com.couchbase.client.protocol.views.View;&lt;br/&gt;
import com.couchbase.client.protocol.views.ViewResponse;&lt;br/&gt;
import com.couchbase.client.protocol.views.ViewRow;&lt;br/&gt;
&lt;br/&gt;
public class CouchbasePOC&lt;br/&gt;
{&lt;br/&gt;
	public static void main(String[] args) throws FileNotFoundException, JSONException, IOException&lt;br/&gt;
	{&lt;br/&gt;
		System.out.println(&amp;quot;Hello from CouchBase&amp;quot;);&lt;br/&gt;
		&lt;br/&gt;
		// Set the URIs and get a client&lt;br/&gt;
	    final List&amp;lt;URI&amp;gt; uris = new LinkedList&amp;lt;URI&amp;gt;();&lt;br/&gt;
	    &lt;br/&gt;
	    // Connect to localhost or to the appropriate URI(s)&lt;br/&gt;
	    uris.add(URI.create(&amp;quot;&lt;a href=&quot;http://10.0.7.164:8091/pools&quot;&gt;http://10.0.7.164:8091/pools&lt;/a&gt;&amp;quot;));	    &lt;br/&gt;
	    	    	    &lt;br/&gt;
	    final String mappedName=&amp;quot;problems&amp;quot;;&lt;br/&gt;
	    long start = System.currentTimeMillis();&lt;br/&gt;
&lt;br/&gt;
	    CouchbaseConnectionFactoryBuilder m_couchbaseConnectionFactoryBuilder = new CouchbaseConnectionFactoryBuilder();&lt;br/&gt;
		m_couchbaseConnectionFactoryBuilder.setMaxReconnectDelay(10000);&lt;br/&gt;
		m_couchbaseConnectionFactoryBuilder.setOpQueueMaxBlockTime(100);&lt;br/&gt;
		m_couchbaseConnectionFactoryBuilder.setOpTimeout(20000);&lt;br/&gt;
		m_couchbaseConnectionFactoryBuilder.setShouldOptimize(true);&lt;br/&gt;
		m_couchbaseConnectionFactoryBuilder.setViewTimeout(300000);&lt;br/&gt;
	    &lt;br/&gt;
		CouchbaseConnectionFactory connFactory = m_couchbaseConnectionFactoryBuilder.buildCouchbaseConnection(uris, mappedName, &amp;quot;&amp;quot;);&lt;br/&gt;
		&lt;br/&gt;
	    CouchbaseClient client = null;	    &lt;br/&gt;
		try&lt;br/&gt;
		{&lt;br/&gt;
			client = new CouchbaseClient(connFactory);			&lt;br/&gt;
		}&lt;br/&gt;
		catch (IOException e)&lt;br/&gt;
		{&lt;br/&gt;
			System.err.println(&amp;quot;IOException connecting to Couchbase: &amp;quot; + e.getMessage());&lt;br/&gt;
			System.exit(1);&lt;br/&gt;
		} &lt;br/&gt;
		&lt;br/&gt;
		final View view = client.getView(mappedName, mappedName);		&lt;br/&gt;
		final Query query = new Query();	&lt;br/&gt;
&lt;br/&gt;
		final ComplexKey key = ComplexKey.of(&amp;quot;problem&amp;quot;,null,null,null,null);&lt;br/&gt;
		query.setKey(key);		&lt;br/&gt;
		query.setStale( Stale.UPDATE_AFTER );&lt;br/&gt;
		int counter=0;&lt;br/&gt;
		try&lt;br/&gt;
		{&lt;br/&gt;
			final ViewResponse result = client.query(view, query);			&lt;br/&gt;
			for(ViewRow row : result) &lt;br/&gt;
			{&lt;br/&gt;
				counter++;&lt;br/&gt;
				System.out.println(row.getId());&lt;br/&gt;
			}&lt;br/&gt;
		}&lt;br/&gt;
		catch(java.lang.VerifyError e)&lt;br/&gt;
		{&lt;br/&gt;
			System.out.println(&amp;quot;Error: &amp;quot; + e.getMessage());&lt;br/&gt;
		} 			&lt;br/&gt;
		 &lt;br/&gt;
		System.out.println(&amp;quot;time: &amp;quot; + (System.currentTimeMillis()-start) );&lt;br/&gt;
		System.out.println(&amp;quot;documents: &amp;quot; + counter );&lt;br/&gt;
		&lt;br/&gt;
		client.shutdown(3, TimeUnit.SECONDS);&lt;br/&gt;
		System.exit(0);&lt;br/&gt;
	}&lt;br/&gt;
}&lt;br/&gt;
</comment>
                    <comment id="52653" author="dragos" created="Wed, 13 Mar 2013 07:40:24 -0500"  >I hope you would not mind that i called you Mike and not Michael. </comment>
                    <comment id="52654" author="daschl" created="Wed, 13 Mar 2013 07:46:17 -0500"  >Hehe no worries.&lt;br/&gt;
&lt;br/&gt;
Can you do me a favor and remove the factory for a second and just use CouchbaseClient() without anything else? Let me know if the problem still persists or not! Thanks</comment>
                    <comment id="52656" author="dragos" created="Wed, 13 Mar 2013 07:53:50 -0500"  >Hi Michael, &lt;br/&gt;
First i want to thank you for the quick feed-back. Your owesome !!!&lt;br/&gt;
&lt;br/&gt;
Before using the factory i used the CouchbaseClient(uris, bucketName, &amp;quot;&amp;quot;)  which is also timing out. I added the factory to be able increase the timeout times for the connection but still the same problem.</comment>
                    <comment id="52658" author="daschl" created="Wed, 13 Mar 2013 08:01:12 -0500"  >Hmm okay, so its not the factory (we had some issues with default values in the past, thats why I&amp;#39;m asking).&lt;br/&gt;
&lt;br/&gt;
Can you pin me down your operating system and exact java version you&amp;#39;re using?Thanks for your help!</comment>
                    <comment id="52659" author="daschl" created="Wed, 13 Mar 2013 08:06:02 -0500"  >Also, since you&amp;#39;re so responsive (I hope we can pin this down finally!).. Can you run the same code with DEBUG log enabled (see &lt;a href=&quot;https://code.google.com/p/spymemcached/wiki/Logging)&quot;&gt;https://code.google.com/p/spymemcached/wiki/Logging)&lt;/a&gt;.. just use Logger.getLogger(&amp;quot;com.couchbase.client&amp;quot;).setLevel(Level.FINEST); instead of Logger.getLogger(&amp;quot;net.spy.memcached&amp;quot;).setLevel(Level.FINEST);&lt;br/&gt;
&lt;br/&gt;
Thanks!</comment>
                    <comment id="52661" author="dragos" created="Wed, 13 Mar 2013 08:11:13 -0500"  >This is my test environment for the client which will be similar for production.&lt;br/&gt;
OS Ubuntu Server 11.10 x64&lt;br/&gt;
java -version result:&lt;br/&gt;
java version &amp;quot;1.6.0_26&amp;quot;&lt;br/&gt;
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)&lt;br/&gt;
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)&lt;br/&gt;
&lt;br/&gt;
My network infrastructure is like this:&lt;br/&gt;
In an AWS virtual private center (VPC) i have a subnet and in this subnet there are 2 machines. The client machine and the Couchbase server. The machines have identical OS and java version as mentioned above. I have open the ports and also checked the network ACL. The traffic is free to go,no restriction. If i am using a rest query with curl for the view i receive the result, the problem is only in the java SDK.&lt;br/&gt;
If needed more information please ask. I will gladly offer it.&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="52662" author="daschl" created="Wed, 13 Mar 2013 08:15:18 -0500"  >Hi Dragos,&lt;br/&gt;
&lt;br/&gt;
yes, if you can please rerun the script with DEBUG logging enabled (see last comment).. Thanks very much in advance!</comment>
                    <comment id="52663" author="dragos" created="Wed, 13 Mar 2013 08:38:03 -0500"  >I&amp;#39;ve setted the logger to finest and this is the error log obtained. Also i tested again the connection with curl and no problemes.&lt;br/&gt;
&lt;br/&gt;
Mar 13, 2013 1:30:14 PM com.couchbase.client.CouchbaseProperties setPropertyFile&lt;br/&gt;
INFO: Could not load properties file &amp;quot;cbclient.properties&amp;quot; because: File not found with system classloader.&lt;br/&gt;
2013-03-13 13:30:14.679 INFO com.couchbase.client.CouchbaseConnection:  Added {QA sa=/10.0.7.164:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
2013-03-13 13:30:19.689 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@4e99353f&apos;&gt;sun.nio.ch.SelectionKeyImpl@4e99353f&lt;/a&gt;&lt;br/&gt;
2013-03-13 13:30:19.810 INFO net.spy.memcached.auth.AuthThread:  Authenticated to 10.0.7.164/10.0.7.164:11210&lt;br/&gt;
2013-03-13 13:30:24.828 INFO com.couchbase.client.ViewConnection:  Added 10.0.7.164 to connect queue&lt;br/&gt;
2013-03-13 13:30:24.830 INFO com.couchbase.client.CouchbaseClient:  viewmode property isn&amp;#39;t defined. Setting viewmode to production mode&lt;br/&gt;
2013-03-13 13:30:25.025 INFO com.couchbase.client.http.AsyncConnectionManager:  Opening new Couchbase HTTP connection&lt;br/&gt;
2013-03-13 13:30:25.033 INFO com.couchbase.client.http.AsyncConnectionManager$ConnRequestCallback:  /10.0.7.164:8092 - Session request successful&lt;br/&gt;
2013-03-13 13:30:30.083 ERROR com.couchbase.client.ViewNode$EventLogger:  Connection timed out: [10.0.7.164/10.0.7.164:8092]&lt;br/&gt;
Exception in thread &amp;quot;main&amp;quot; java.lang.RuntimeException: Timed out waiting for operation&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.couchbase.client.internal.HttpFuture.get(HttpFuture.java:67)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.couchbase.client.CouchbaseClient.getView(CouchbaseClient.java:475)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at couchbase.training.view.poc.CouchbasePOC.main(CouchbasePOC.java:68)&lt;br/&gt;
Caused by: java.util.concurrent.TimeoutException: Timed out waiting for operation&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.couchbase.client.internal.HttpFuture.waitForAndCheckOperation(HttpFuture.java:85)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.couchbase.client.internal.HttpFuture.get(HttpFuture.java:74)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at com.couchbase.client.internal.HttpFuture.get(HttpFuture.java:64)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;... 2 more&lt;br/&gt;
&lt;br/&gt;
curl result&lt;br/&gt;
&lt;br/&gt;
curl &lt;a href=&quot;http://10.0.7.164:8092/problems/_design/dev_problems/_view/problems?stale=false&quot;&gt;http://10.0.7.164:8092/problems/_design/dev_problems/_view/problems?stale=false&lt;/a&gt;\&amp;amp;connection_timeout=60000\&amp;amp;limit=10\&amp;amp;skip=0&lt;br/&gt;
{&amp;quot;total_rows&amp;quot;:0,&amp;quot;rows&amp;quot;:[&lt;br/&gt;
]&lt;br/&gt;
}&lt;br/&gt;
[4]+  Done&lt;br/&gt;
</comment>
                    <comment id="52664" author="dragos" created="Wed, 13 Mar 2013 08:39:38 -0500"  >I am available for next steps in debuging. With what can i help next ? </comment>
                    <comment id="52666" author="daschl" created="Wed, 13 Mar 2013 08:49:10 -0500"  >Hi, hmm no there should be more output (DEBUG), not just info... you need to copy this whole snippet before your code actually executes:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Tell spy to use the SunLogger&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Properties systemProperties = System.getProperties();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;systemProperties.put(&amp;quot;net.spy.log.LoggerImpl&amp;quot;, &amp;quot;net.spy.memcached.compat.log.SunLogger&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.setProperties(systemProperties);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Logger.getLogger(&amp;quot;com.couchbase.client&amp;quot;).setLevel(Level.FINEST);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//get the top Logger&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Logger topLogger = java.util.logging.Logger.getLogger(&amp;quot;&amp;quot;);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Handler for console (reuse it if it already exists)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Handler consoleHandler = null;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//see if there is already a console handler&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (Handler handler : topLogger.getHandlers()) {&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 (handler instanceof ConsoleHandler) {&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;//found the console handler&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;consoleHandler = handler;&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;break;&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;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (consoleHandler == 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;//there was no console handler found, create a new one&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;consoleHandler = new ConsoleHandler();&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;topLogger.addHandler(consoleHandler);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//set the console handler to fine:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;consoleHandler.setLevel(java.util.logging.Level.FINEST);&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
I guess you&amp;#39;re running it from your IDE?</comment>
                    <comment id="52667" author="dragos" created="Wed, 13 Mar 2013 09:00:01 -0500"  >I am building the client on local IDE then uploading it to EC2 test machine. The snipped of code word and now i have a full log.&lt;br/&gt;
&lt;br/&gt;
Mar 13, 2013 1:53:10 PM com.couchbase.client.CouchbaseProperties setPropertyFile&lt;br/&gt;
INFO: Could not load properties file &amp;quot;cbclient.properties&amp;quot; because: File not found with system classloader.&lt;br/&gt;
Mar 13, 2013 1:53:11 PM com.couchbase.client.vbucket.ConfigurationProviderHTTP readToString&lt;br/&gt;
FINE: Attempting to read configuration from URI: &lt;a href=&quot;http://10.0.7.164:8091/pools&quot;&gt;http://10.0.7.164:8091/pools&lt;/a&gt;&lt;br/&gt;
Mar 13, 2013 1:53:11 PM com.couchbase.client.vbucket.ConfigurationProviderHTTP readToString&lt;br/&gt;
FINE: Attempting to read configuration from URI: &lt;a href=&quot;http://10.0.7.164:8091/pools/default?uuid=44b1e62dd7e65cd38ae7faaabe5ebb64&quot;&gt;http://10.0.7.164:8091/pools/default?uuid=44b1e62dd7e65cd38ae7faaabe5ebb64&lt;/a&gt;&lt;br/&gt;
Mar 13, 2013 1:53:11 PM com.couchbase.client.vbucket.ConfigurationProviderHTTP readToString&lt;br/&gt;
FINE: Attempting to read configuration from URI: &lt;a href=&quot;http://10.0.7.164:8091/pools/default/buckets?v=120523822&amp;uuid=44b1e62dd7e65cd38ae7faaabe5ebb64&quot;&gt;http://10.0.7.164:8091/pools/default/buckets?v=120523822&amp;amp;uuid=44b1e62dd7e65cd38ae7faaabe5ebb64&lt;/a&gt;&lt;br/&gt;
Mar 13, 2013 1:53:11 PM net.spy.memcached.MemcachedConnection createConnections&lt;br/&gt;
INFO: Added {QA sa=/10.0.7.164:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue&lt;br/&gt;
Mar 13, 2013 1:53:11 PM com.couchbase.client.vbucket.VBucketNodeLocator fillNodesEntries&lt;br/&gt;
FINE: Updating nodesMap in VBucketNodeLocator.&lt;br/&gt;
Mar 13, 2013 1:53:16 PM com.couchbase.client.vbucket.VBucketNodeLocator fillNodesEntries&lt;br/&gt;
FINE: Adding node with address 10.0.7.164:11210.&lt;br/&gt;
Mar 13, 2013 1:53:16 PM com.couchbase.client.vbucket.VBucketNodeLocator fillNodesEntries&lt;br/&gt;
FINE: Node added is {QA sa=10.0.7.164/10.0.7.164:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=8}.&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Done dealing with queue.&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Selecting with delay of 0ms&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Selected 1, selected 1 keys&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Handling IO for:  &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@2c76e369&apos;&gt;sun.nio.ch.SelectionKeyImpl@2c76e369&lt;/a&gt; (r=false, w=false, c=true, op={QA sa=10.0.7.164/10.0.7.164:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=8})&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
INFO: Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@2c76e369&apos;&gt;sun.nio.ch.SelectionKeyImpl@2c76e369&lt;/a&gt;&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection insertOperation&lt;br/&gt;
FINE: Added Cmd: 10 Opaque: 1 to {QA sa=10.0.7.164/10.0.7.164:11210, #Rops=0, #Wops=0, #iq=1, topRop=null, topWop=null, toWrite=0, interested=8}&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleReads&lt;br/&gt;
FINE: Read 24 bytes&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleReads&lt;br/&gt;
FINE: Completed read op: Cmd: 10 Opaque: 1 and giving the next 0 bytes&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleInputQueue&lt;br/&gt;
FINE: Handling queue&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Done dealing with queue.&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Selecting with delay of 0ms&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: No selectors ready, interrupted: false&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Done dealing with queue.&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Selecting with delay of 0ms&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: No selectors ready, interrupted: false&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleInputQueue&lt;br/&gt;
FINE: Handling queue&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Done dealing with queue.&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Selecting with delay of 0ms&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Selected 1, selected 1 keys&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection insertOperation&lt;br/&gt;
FINE: Added SASL auth operation to {QA sa=10.0.7.164/10.0.7.164:11210, #Rops=0, #Wops=1, #iq=0, topRop=null, topWop=SASL auth operation, toWrite=0, interested=4}&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Handling IO for:  &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@2c76e369&apos;&gt;sun.nio.ch.SelectionKeyImpl@2c76e369&lt;/a&gt; (r=false, w=true, c=false, op={QA sa=10.0.7.164/10.0.7.164:11210, #Rops=0, #Wops=1, #iq=0, topRop=null, topWop=SASL auth operation, toWrite=0, interested=4})&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Done dealing with queue.&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Selecting with delay of 0ms&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Selected 1, selected 1 keys&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Handling IO for:  &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@2c76e369&apos;&gt;sun.nio.ch.SelectionKeyImpl@2c76e369&lt;/a&gt; (r=true, w=false, c=false, op={QA sa=10.0.7.164/10.0.7.164:11210, #Rops=1, #Wops=0, #iq=0, topRop=SASL auth operation, topWop=null, toWrite=0, interested=1})&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleReads&lt;br/&gt;
FINE: Read 37 bytes&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.auth.AuthThread$1 receivedStatus&lt;br/&gt;
INFO: Authenticated to 10.0.7.164/10.0.7.164:11210&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleReads&lt;br/&gt;
FINE: Completed read op: SASL auth operation and giving the next 0 bytes&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Done dealing with queue.&lt;br/&gt;
Mar 13, 2013 1:53:16 PM net.spy.memcached.MemcachedConnection handleIO&lt;br/&gt;
FINE: Selecting with delay of 0ms&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.ViewConnection createConnections&lt;br/&gt;
INFO: Added 10.0.7.164 to connect queue&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.CouchbaseClient &amp;lt;init&amp;gt;&lt;br/&gt;
INFO: viewmode property isn&amp;#39;t defined. Setting viewmode to production mode&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.ConfigurationProviderHTTP subscribe&lt;br/&gt;
FINE: Subscribing an object for reconfiguration updates com.couchbase.client.CouchbaseClient&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler handleUpstream&lt;br/&gt;
FINEST: Channel state changed: [id: 0x2e273686] OPEN&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler handleUpstream&lt;br/&gt;
FINER: Channel state change is not a disconnect. Event value is true and Channel State is OPEN.&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler handleUpstream&lt;br/&gt;
FINEST: Channel state changed: [id: 0x2e273686, /10.0.7.213:55729 =&amp;gt; /10.0.7.164:8091] BOUND: /10.0.7.213:55729&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler handleUpstream&lt;br/&gt;
FINER: Channel state change is not a disconnect. Event value is /10.0.7.213:55729 and Channel State is BOUND.&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler handleUpstream&lt;br/&gt;
FINEST: Channel state changed: [id: 0x2e273686, /10.0.7.213:55729 =&amp;gt; /10.0.7.164:8091] CONNECTED: /10.0.7.164:8091&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler handleUpstream&lt;br/&gt;
FINER: Channel state change is not a disconnect. Event value is /10.0.7.164:8091 and Channel State is CONNECTED.&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: STATUS: 200 OK&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: VERSION: HTTP/1.1&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: HEADER: Cache-Control = no-cache&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: HEADER: Content-Type = application/json; charset=utf-8&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: HEADER: Date = Wed, 13 Mar 2013 13:55:42 GMT&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: HEADER: Pragma = no-cache&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: HEADER: Server = Couchbase Server 2.0.0-1976-rel-enterprise&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: HEADER: Transfer-Encoding = chunked&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER:&lt;br/&gt;
&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: CHUNKED CONTENT {&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: {&amp;quot;name&amp;quot;:&amp;quot;problems&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/problems?bucket_uuid=7675b7791efe17220792c2b41ff6c824&amp;quot;,&amp;quot;streamingUri&amp;quot;:&amp;quot;/pools/default/bucketsStreaming/problems?bucket_uuid=7675b7791efe17220792c2b41ff6c824&amp;quot;,&amp;quot;localRandomKeyUri&amp;quot;:&amp;quot;/pools/default/buckets/problems/localRandomKey&amp;quot;,&amp;quot;controllers&amp;quot;:{&amp;quot;compactAll&amp;quot;:&amp;quot;/pools/default/buckets/problems/controller/compactBucket&amp;quot;,&amp;quot;compactDB&amp;quot;:&amp;quot;/pools/default/buckets/problems/controller/compactDatabases&amp;quot;},&amp;quot;nodes&amp;quot;:[{&amp;quot;couchApiBase&amp;quot;:&amp;quot;&lt;a href=&quot;http://10.0.7.164:8092/problems&quot;&gt;http://10.0.7.164:8092/problems&lt;/a&gt;&amp;quot;,&amp;quot;replication&amp;quot;:0.0,&amp;quot;clusterMembership&amp;quot;:&amp;quot;active&amp;quot;,&amp;quot;status&amp;quot;:&amp;quot;healthy&amp;quot;,&amp;quot;thisNode&amp;quot;:true,&amp;quot;hostname&amp;quot;:&amp;quot;10.0.7.164:8091&amp;quot;,&amp;quot;clusterCompatibility&amp;quot;:131072,&amp;quot;version&amp;quot;:&amp;quot;2.0.0-1976-rel-enterprise&amp;quot;,&amp;quot;os&amp;quot;:&amp;quot;x86_64-unknown-linux-gnu&amp;quot;,&amp;quot;ports&amp;quot;:{&amp;quot;proxy&amp;quot;:11211,&amp;quot;direct&amp;quot;:11210}}],&amp;quot;stats&amp;quot;:{&amp;quot;uri&amp;quot;:&amp;quot;/pools/default/buckets/problems/stats&amp;quot;,&amp;quot;directoryURI&amp;quot;:&amp;quot;/pools/default/buckets/problems/statsDirectory&amp;quot;,&amp;quot;nodeStatsListURI&amp;quot;:&amp;quot;/pools/default/buckets/problems/nodes&amp;quot;},&amp;quot;ddocs&amp;quot;:{&amp;quot;uri&amp;quot;:&amp;quot;/pools/default/buckets/problems/ddocs&amp;quot;},&amp;quot;nodeLocator&amp;quot;:&amp;quot;vbucket&amp;quot;,&amp;quot;autoCompactionSettings&amp;quot;:false,&amp;quot;fastWarmupSettings&amp;quot;:false,&amp;quot;uuid&amp;quot;:&amp;quot;7675b7791efe17220792c2b41ff6c824&amp;quot;,&amp;quot;vBucketServerMap&amp;quot;:{&amp;quot;hashAlgorithm&amp;quot;:&amp;quot;CRC&amp;quot;,&amp;quot;numReplicas&amp;quot;:1,&amp;quot;serverList&amp;quot;:[&amp;quot;10.0.7.164:11210&amp;quot;],&amp;quot;vBucketMap&amp;quot;:[[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: Chunk length is: 3066&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: 0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: Chunk length is: 2048&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: ],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: Chunk length is: 3072&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: 1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1]]},&amp;quot;bucketCapabilitiesVer&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;bucketCapabilities&amp;quot;:[&amp;quot;touch&amp;quot;,&amp;quot;couchapi&amp;quot;]}&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketUpdateResponseHandler finerLog&lt;br/&gt;
FINER: Chunk length is: 361&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.BucketMonitor logFiner&lt;br/&gt;
FINER: Getting server list returns this last chunked response:&lt;br/&gt;
{&amp;quot;name&amp;quot;:&amp;quot;problems&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/problems?bucket_uuid=7675b7791efe17220792c2b41ff6c824&amp;quot;,&amp;quot;streamingUri&amp;quot;:&amp;quot;/pools/default/bucketsStreaming/problems?bucket_uuid=7675b7791efe17220792c2b41ff6c824&amp;quot;,&amp;quot;localRandomKeyUri&amp;quot;:&amp;quot;/pools/default/buckets/problems/localRandomKey&amp;quot;,&amp;quot;controllers&amp;quot;:{&amp;quot;compactAll&amp;quot;:&amp;quot;/pools/default/buckets/problems/controller/compactBucket&amp;quot;,&amp;quot;compactDB&amp;quot;:&amp;quot;/pools/default/buckets/problems/controller/compactDatabases&amp;quot;},&amp;quot;nodes&amp;quot;:[{&amp;quot;couchApiBase&amp;quot;:&amp;quot;&lt;a href=&quot;http://10.0.7.164:8092/problems&quot;&gt;http://10.0.7.164:8092/problems&lt;/a&gt;&amp;quot;,&amp;quot;replication&amp;quot;:0.0,&amp;quot;clusterMembership&amp;quot;:&amp;quot;active&amp;quot;,&amp;quot;status&amp;quot;:&amp;quot;healthy&amp;quot;,&amp;quot;thisNode&amp;quot;:true,&amp;quot;hostname&amp;quot;:&amp;quot;10.0.7.164:8091&amp;quot;,&amp;quot;clusterCompatibility&amp;quot;:131072,&amp;quot;version&amp;quot;:&amp;quot;2.0.0-1976-rel-enterprise&amp;quot;,&amp;quot;os&amp;quot;:&amp;quot;x86_64-unknown-linux-gnu&amp;quot;,&amp;quot;ports&amp;quot;:{&amp;quot;proxy&amp;quot;:11211,&amp;quot;direct&amp;quot;:11210}}],&amp;quot;stats&amp;quot;:{&amp;quot;uri&amp;quot;:&amp;quot;/pools/default/buckets/problems/stats&amp;quot;,&amp;quot;directoryURI&amp;quot;:&amp;quot;/pools/default/buckets/problems/statsDirectory&amp;quot;,&amp;quot;nodeStatsListURI&amp;quot;:&amp;quot;/pools/default/buckets/problems/nodes&amp;quot;},&amp;quot;ddocs&amp;quot;:{&amp;quot;uri&amp;quot;:&amp;quot;/pools/default/buckets/problems/ddocs&amp;quot;},&amp;quot;nodeLocator&amp;quot;:&amp;quot;vbucket&amp;quot;,&amp;quot;autoCompactionSettings&amp;quot;:false,&amp;quot;fastWarmupSettings&amp;quot;:false,&amp;quot;uuid&amp;quot;:&amp;quot;7675b7791efe17220792c2b41ff6c824&amp;quot;,&amp;quot;vBucketServerMap&amp;quot;:{&amp;quot;hashAlgorithm&amp;quot;:&amp;quot;CRC&amp;quot;,&amp;quot;numReplicas&amp;quot;:1,&amp;quot;serverList&amp;quot;:[&amp;quot;10.0.7.164:11210&amp;quot;],&amp;quot;vBucketMap&amp;quot;:[[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1],[0,-1]]},&amp;quot;bucketCapabilitiesVer&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;bucketCapabilities&amp;quot;:[&amp;quot;touch&amp;quot;,&amp;quot;couchapi&amp;quot;]}&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.ReconfigurableObserver update&lt;br/&gt;
FINEST: Received an update, notifying reconfigurables about a &lt;a href=&apos;mailto:com.couchbase.client.vbucket.config.Bucketcom.couchbase.client.vbucket.config.Bucket@4cf3fdc4&apos;&gt;com.couchbase.client.vbucket.config.Bucketcom.couchbase.client.vbucket.config.Bucket@4cf3fdc4&lt;/a&gt;&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.ReconfigurableObserver update&lt;br/&gt;
FINEST: It says it is problems and it&amp;#39;s talking to /pools/default/bucketsStreaming/problems?bucket_uuid=7675b7791efe17220792c2b41ff6c824&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.CouchbaseConnection reconfigure&lt;br/&gt;
FINE: Node 10.0.7.164/10.0.7.164:11210 will stay in cluster config after reconfiguration.&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.VBucketNodeLocator updateLocator&lt;br/&gt;
FINE: Received updated configuration with insignificant changes.&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.ReconfigurableObserver update&lt;br/&gt;
FINEST: Received an update, notifying reconfigurables about a &lt;a href=&apos;mailto:com.couchbase.client.vbucket.config.Bucketcom.couchbase.client.vbucket.config.Bucket@fadb83cf&apos;&gt;com.couchbase.client.vbucket.config.Bucketcom.couchbase.client.vbucket.config.Bucket@fadb83cf&lt;/a&gt;&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.ReconfigurableObserver update&lt;br/&gt;
FINEST: It says it is problems and it&amp;#39;s talking to /pools/default/bucketsStreaming/problems?bucket_uuid=7675b7791efe17220792c2b41ff6c824&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.CouchbaseConnection reconfigure&lt;br/&gt;
FINE: Node 10.0.7.164/10.0.7.164:11210 will stay in cluster config after reconfiguration.&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.vbucket.VBucketNodeLocator updateLocator&lt;br/&gt;
FINE: Received updated configuration with insignificant changes.&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.http.AsyncConnectionManager processConnectionRequests&lt;br/&gt;
INFO: Opening new Couchbase HTTP connection&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.http.AsyncConnectionManager$ConnRequestCallback completed&lt;br/&gt;
INFO: /10.0.7.164:8092 - Session request successful&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.ViewNode$EventLogger connectionOpen&lt;br/&gt;
FINE: Connection open: [/10.0.7.164:8092]&lt;br/&gt;
Mar 13, 2013 1:53:26 PM com.couchbase.client.ViewNode$EventLogger connectionTimeout&lt;br/&gt;
SEVERE: Connection timed out: [10.0.7.164/10.0.7.164:8092]&lt;br/&gt;
Mar 13, 2013 1:53:26 PM com.couchbase.client.ViewNode$EventLogger connectionClosed&lt;br/&gt;
FINE: Connection closed: [10.0.7.164/10.0.7.164:8092(closed)]&lt;br/&gt;
</comment>
                    <comment id="52669" author="daschl" created="Wed, 13 Mar 2013 09:05:01 -0500"  >Hi, thanks for the log..&lt;br/&gt;
&lt;br/&gt;
interestingly, there is nothing unusual in this.. I&amp;#39;ll investigate further and come back to you if I need more info..&lt;br/&gt;
&lt;br/&gt;
thanks so far!</comment>
                    <comment id="52670" author="dragos" created="Wed, 13 Mar 2013 09:08:40 -0500"  >Thank you for spending time on this. Looking forward for a fix :) .</comment>
                    <comment id="52671" author="daschl" created="Wed, 13 Mar 2013 09:10:16 -0500"  >interestingly, the connection is open and then times out...&lt;br/&gt;
&lt;br/&gt;
INFO: /10.0.7.164:8092 - Session request successful&lt;br/&gt;
Mar 13, 2013 1:53:21 PM com.couchbase.client.ViewNode$EventLogger connectionOpen&lt;br/&gt;
FINE: Connection open: [/10.0.7.164:8092]&lt;br/&gt;
Mar 13, 2013 1:53:26 PM com.couchbase.client.ViewNode$EventLogger connectionTimeout&lt;br/&gt;
SEVERE: Connection timed out: [10.0.7.164/10.0.7.164:8092]&lt;br/&gt;
Mar 13, 2013 1:53:26 PM com.couchbase.client.ViewNode$EventLogger connectionClosed&lt;br/&gt;
FINE: Connection closed: [10.0.7.164/10.0.7.164:8092(closed)]&lt;br/&gt;
&lt;br/&gt;
this sounds highly suspicious to me, maybe this is a bug in apache httpcore-nio...</comment>
                    <comment id="52672" author="dragos" created="Wed, 13 Mar 2013 09:17:06 -0500"  >The time out is displayed after 5 seconds. As you suggested i removed the factory and the detailed logged above i obtained with using CouchbaseClient(uris, mappedName, &amp;quot;&amp;quot;). Do you have some way of testing the httpCore-nio ? Should i try to look for latest version of httpCore-nio.. ?</comment>
                    <comment id="52673" author="daschl" created="Wed, 13 Mar 2013 09:58:59 -0500"  >Hi,&lt;br/&gt;
&lt;br/&gt;
yes you could try that.. I ran the test suite with 4.2.3 which is the latest one and there were no errors, so our code should work with it. You need to exchange the httpcore and httpcore-nio with the latest 4.2.3 jars&lt;br/&gt;
&lt;br/&gt;
I don&amp;#39;t think this is 100% the issue, but it helps us get rid of one more factor!&lt;br/&gt;
&lt;br/&gt;
Thanks!&lt;br/&gt;
Michael</comment>
                    <comment id="52676" author="daschl" created="Wed, 13 Mar 2013 10:21:30 -0500"  >Okay, the 5 second period can come from this: &lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;HttpParams params = new SyncBasicHttpParams();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 5000)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 5000)&lt;br/&gt;
....&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
SO_TIMEOUT is: Defines the socket timeout (SO_TIMEOUT) in milliseconds, which is the timeout for waiting for data or, put differently, a maximum period inactivity between two consecutive data packets).&lt;br/&gt;
&lt;br/&gt;
and CONNECTION_TIMEOUT is: Determines the timeout in milliseconds until a connection is established.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Dragos, can it be the case that it takes more than 5 seconds to return a result when using curl or so? That would explain the &amp;quot;fail fast&amp;quot; timeout here.. not saying that these times are okay this way, just to find the root cause..&lt;br/&gt;
&lt;br/&gt;
Thanks!</comment>
                    <comment id="52679" author="dragos" created="Wed, 13 Mar 2013 11:01:10 -0500"  >Hi Michael,&lt;br/&gt;
I&amp;#39;ve made a test with httpcore-nio-4.2.jar and with httpcore-4.2.1.jar and your intuition is good. The httpcore is not the problem because the timeout is still there. With curl the results is back fast, in less then half a second. So the problem must be somewhere in the java SDK in the way the view is retrieved. </comment>
                    <comment id="52682" author="dragos" created="Wed, 13 Mar 2013 11:23:26 -0500"  >I&amp;#39;ve moved the Couchbase server to the same machine as the client to have all in same environment for testing. Now all is working fine but it is not possible for our product to stay on the same machine as Couchbase server for obvious reasons. In production we will have more then one app machine which we will try to access the Couchbase cluster. </comment>
                    <comment id="52688" author="daschl" created="Wed, 13 Mar 2013 11:56:22 -0500"  >Hi Dragos,&lt;br/&gt;
&lt;br/&gt;
okay so its definitely something with those timeouts.. The thing is we can increase them for sure, but the question is if it would work for your application given the long network latency - and if your application stays performant that way.&lt;br/&gt;
&lt;br/&gt;
When you&amp;#39;re running curl on a request, how long does it take?</comment>
                    <comment id="52779" author="dragos" created="Thu, 14 Mar 2013 04:05:56 -0500"  >The curl request is very fast (a few milliseconds, and less then 0.5 seconds i am sure) and the network latency it is not a problem. Some how the couchbase client is taking to much time connecting. When it need to connect to a network machine in the same lan it takes more then 10 seconds. I experimented this in EC2 environment and on my local machine with a VM. If couchbase is local with the test app, the couchbase client is connecting fast.&lt;br/&gt;
Do you have any points on how a connection should be setup for couchbase client ? I am trying to use the factory builder and the connection factory from java sdk but still with no success.</comment>
                    <comment id="52801" author="TimSmith" created="Thu, 14 Mar 2013 11:00:05 -0500"  >Dragos,&lt;br/&gt;
&lt;br/&gt;
I can think of two separate things to try. One is to increase the SO_TIMEOUT to 8000, CONNECTION_TIMEOUT to 12000. Identify what&amp;#39;s being hit.&lt;br/&gt;
&lt;br/&gt;
Probably more effective would be to use Wireshark to capture all traffic on the client machine, and see what is really happening. Start the capture (with tshark command-line tool, for example), then run the test client, let it time out, then run the curl command, let it succeed, then stop the capture. Gzip the capture data and attach it to this issue.&lt;br/&gt;
&lt;br/&gt;
Tim</comment>
                    <comment id="52804" author="dragos" created="Thu, 14 Mar 2013 11:52:44 -0500"  >Hi Tim, &lt;br/&gt;
I&amp;#39;ve started some load tests to be able to evaluate Couchbase, so this means i moved Couchbase server on the same machine as the load test client. I tried to use a pool of couchbase clients always connected to the server, and after a while the test failed because couldn&amp;#39;t create more connections. From my initial research i seen that couchbase client is managing his own connection can you tell me how this is done or what are the policies of shutting down connections ? Can you point me to some best practices for couchbase client connectivity ?</comment>
                    <comment id="52823" author="TimSmith" created="Thu, 14 Mar 2013 13:19:03 -0500"  >I will handle that question about connection pooling, etc., separately, since it is unrelated to this bug about timeouts.&lt;br/&gt;
&lt;br/&gt;
On this specific bug report, the current state as I understand it is that:  curl returns very quickly with the correct results. The Java client times out after 5 seconds without returning the results.&lt;br/&gt;
&lt;br/&gt;
My suggestion is to set up a very simple Java client that performs a single view query, and to get a packet capture of both curl and the Java client, to identify what the two are doing differently and why the curl succeeds but the Java client fails.</comment>
                    <comment id="53564" author="jzinedine" created="Wed, 27 Mar 2013 01:01:03 -0500"  >Hi Michael,&lt;br/&gt;
&lt;br/&gt;
Any update on this issue?&lt;br/&gt;
I faced the same issue and here is my environment:&lt;br/&gt;
JRuby 1.7.3&lt;br/&gt;
Oracle JDK 1.7(with 1.6 the same thing happened)&lt;br/&gt;
Couchbase 2.0.1&lt;br/&gt;
Java SDK 1.1.3(with 1.1.4 the same thing happened)&lt;br/&gt;
And latest netty and http-core and other jar files.&lt;br/&gt;
&lt;br/&gt;
Appreciate your help.&lt;br/&gt;
&lt;br/&gt;
Thanks,&lt;br/&gt;
Jani</comment>
                    <comment id="53855" author="dragos" created="Mon, 1 Apr 2013 01:04:37 -0500"  >Hi All,&lt;br/&gt;
Finally after a long time i found the workaround needed for the java client to not timeout. As has been suggested by the Couchbase team to use a host name for the Couchabase server i applied the same fix but to the client machine. Meaning on the client machine were the java Couchbase client was timing out ( in Amazon VPC ) we added a hostname for the Couchbase server. Our test URI from &lt;a href=&quot;http://10.0.7.164:8091/pools&quot;&gt;http://10.0.7.164:8091/pools&lt;/a&gt; has become &lt;a href=&quot;http://couchbase:8091/pools&quot;&gt;http://couchbase:8091/pools&lt;/a&gt;. This workaround is also fixing a 10 seconds connectivity for the client.&lt;br/&gt;
&lt;br/&gt;
On Ubuntu the hostname file is at: /etc/hosts&lt;br/&gt;
On Windows 7 the hostname file is at: C:\Windows\system32\drivers\etc\hosts &lt;br/&gt;
&lt;br/&gt;
Example of host name entry in client machine:&lt;br/&gt;
10.0.7.146     couchbase&lt;br/&gt;
</comment>
                    <comment id="53980" author="daschl" created="Tue, 2 Apr 2013 00:38:48 -0500"  >Thanks very much dragos for tracking this down!&lt;br/&gt;
&lt;br/&gt;
Does this mean that in your environment after the change, you&amp;#39;re not seeing any performance impact anymore? Everything works as expected and performant?&lt;br/&gt;
&lt;br/&gt;
Thanks!&lt;br/&gt;
</comment>
                    <comment id="53983" author="dragos" created="Tue, 2 Apr 2013 00:59:14 -0500"  >Hi Michael,&lt;br/&gt;
In this moment the client does not time out and the time taken by java couchbase client to connect takes around 1.5 seconds from 10 seconds which we can consider a normal behavior. As for performance with this workaround we can continue the POC and evaluate the performance. As a first impression i can say that we see a good speed but i will keep my reservation until final POC is tested and we can achieve a full load test.&lt;br/&gt;
&lt;br/&gt;
What i want to emphasize that this is a welcomed workaround but it is not a solution on a longer term for our cloud production site. In a scenario where we need to create new machines and maybe new couchbase clusters it involves manual or specific automatic changes to the hosts file and of course extra managing of this. Bottom line is that we are waiting the fix on the couchbase java sdk 1.1.5 which will make this workaround obsolete.&lt;br/&gt;
&lt;br/&gt;
Also i feel the need to mention that this workaround was found in collaboration with the Couchbase team which provided the basic information for the workaround to be found, so thank you guys.</comment>
                    <comment id="53985" author="daschl" created="Tue, 2 Apr 2013 01:21:57 -0500"  >Hi Dragos,&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;m not sure if there is a thing that we can fix inside the client when this is a DNS/hostname resolution issue with the OS and amazon?&lt;br/&gt;
&lt;br/&gt;
We would definitely need to investigate further, but all that the client does is try to use the hostname/IP provided during bootstrap. If nothing comes back or the host can&amp;#39;t be found, we can&amp;#39;t do much about it. Anyway, I think we need to do some more investigation here to really see whats the problem.</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>8619</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-138] Java Client does not recover when only bootstrap node provided and failovered</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-138</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Within the current implementation, when the bootstrap node is failovered/removed (and only that one is provided in the list) it gets correctly removed from the SDK, but either a new try to get a different streaming connection fails or something else is wrong.&lt;br/&gt;
&lt;br/&gt;
Even when the node is added back into the cluster no new view connection is created (most arguably because no map updates are received anymore).&lt;br/&gt;
&lt;br/&gt;
This issue may also be the cause for other bugs related to failover scenarios reported.</description>
                <environment></environment>
            <key id="20541">JCBC-138</key>
            <summary>Java Client does not recover when only bootstrap node provided and failovered</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="daschl">Michael Nitschinger</reporter>
                        <labels>
                    </labels>
                <created>Mon, 5 Nov 2012 04:51:04 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:28 -0500</updated>
                                    <version>1.1-dp3</version>
                <version>1.1-dp4</version>
                                <fixVersion>1.1.8</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>8620</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-169] add overloaded methods for various types to the Query class</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-169</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Currently, all types other than strings must go through the ComplexKey class.  This may not be the best approach since it leads to a bit of oddness with needing to tell the ComplexKey class to handle a single element differently.&lt;br/&gt;
&lt;br/&gt;
One alternative is to improve the Query class to handle other types, then deprecate the special handling in the ComplexKey class and change the behavior for a single element.  This would be a small API change, but maybe small enough that with sufficient warning, we can do it in a minor release.</description>
                <environment></environment>
            <key id="21176">JCBC-169</key>
            <summary>add overloaded methods for various types to the Query class</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 6 Dec 2012 00:56:59 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:28 -0500</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.1.8</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>8617</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-166] sync up the getting started guide on the web page to the docs</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-166</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>&lt;a href=&quot;http://www.couchbase.com/develop/java/current&quot;&gt;http://www.couchbase.com/develop/java/current&lt;/a&gt; should be a perfect subset of the getting started in the docs repo</description>
                <environment></environment>
            <key id="21166">JCBC-166</key>
            <summary>sync up the getting started guide on the web page to the docs</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 Dec 2012 12:32:39 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:28 -0500</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.1.8</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>8618</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-189] Views having odd timeout issues on some clusters</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-189</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>We&amp;#39;re seeing really strange timeout issues which seem to affect only this specific cluster and only in terms of views. We&amp;#39;ve re-installed this cluster time and time again, and we&amp;#39;ve had similar configurations run successfully as well.&lt;br/&gt;
&lt;br/&gt;
More details in comment..</description>
                <environment></environment>
            <key id="21413">JCBC-189</key>
            <summary>Views having odd timeout issues on some clusters</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="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="daschl">Michael Nitschinger</assignee>
                                <reporter username="mnunberg">Mark Nunberg</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 Dec 2012 21:44:37 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:27 -0500</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="46263" author="mnunberg" created="Tue, 18 Dec 2012 21:55:02 -0600"  >Just try to do this with a simple java script (i.e. connect and query the view)</comment>
                    <comment id="46401" author="deeptida" created="Thu, 20 Dec 2012 04:20:13 -0600"  >This issue persists when the view retrieval is ran from standalone java program as well.&lt;br/&gt;
I tried this on both the VMs - 10.3.3.203, 10.3.3.209.</comment>
                    <comment id="46403" author="deeptida" created="Thu, 20 Dec 2012 05:35:07 -0600"  >Its working fine for server deployed on localhost.</comment>
                    <comment id="46915" author="ingenthr" created="Wed, 2 Jan 2013 16:51:07 -0600"  >Michael: found out today that this is a large issue for SDKQE.  Can you have a quick look at this in the next day?  You may find the underlying issue.</comment>
                    <comment id="46971" author="daschl" created="Thu, 3 Jan 2013 09:57:11 -0600"  >Please pass me the script as commented and then (or if you can&amp;#39;t) please assign it back to me! Thanks</comment>
                    <comment id="48045" author="daschl" created="Fri, 18 Jan 2013 02:39:59 -0600"  >According to the posted logs, it looks like debugging was not turned on. Can you please run this again with debugging turned on? To get the full logs to STDOUT, use this before initializing the CouchbaseClient in The App:&lt;br/&gt;
&lt;br/&gt;
&amp;#xA0; &amp;#xA0; &amp;#xA0; // Tell spy to use the SunLogger&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;Properties systemProperties = System.getProperties();&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;systemProperties.put(&amp;quot;net.spy.log.LoggerImpl&amp;quot;, &amp;quot;net.spy.memcached.compat.log.SunLogger&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;System.setProperties(systemProperties);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;Logger.getLogger(&amp;quot;com.couchbase.client&amp;quot;).setLevel(Level.FINEST);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;//get the top Logger&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;Logger topLogger = java.util.logging.Logger.getLogger(&amp;quot;&amp;quot;);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;// Handler for console (reuse it if it already exists)&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;Handler consoleHandler = null;&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;//see if there is already a console handler&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;for (Handler handler : topLogger.getHandlers()) {&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;if (handler instanceof ConsoleHandler) {&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;//found the console handler&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;consoleHandler = handler;&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;break;&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;}&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;if (consoleHandler == null) {&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;//there was no console handler found, create a new one&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;consoleHandler = new ConsoleHandler();&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;topLogger.addHandler(consoleHandler);&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;//set the console handler to fine:&lt;br/&gt;
&amp;nbsp;&amp;#xA0; &amp;#xA0; &amp;#xA0; &amp;#xA0;consoleHandler.setLevel(java.util.logging.Level.FINEST);&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Would be great if we can get all the output so we can investigate where the timeouts come from. I&amp;#39;m sure with a debug log it will be much easier. Thanks!</comment>
                    <comment id="48453" author="mnunberg" created="Wed, 23 Jan 2013 20:28:29 -0600"  >So this bug isn&amp;#39;t such an &amp;quot;unknown&amp;quot; anymore, and has exposed itself in 1.1.0 as well as 1.1.1 and isn&amp;#39;t limited to particular clusters - (it just seems that some clusters are more likely than others to trigger this bug).&lt;br/&gt;
&lt;br/&gt;
However this still needs a lot of care and analysis</comment>
                    <comment id="49377" author="daschl" created="Fri, 1 Feb 2013 06:26:32 -0600"  >This is &amp;quot;kinda&amp;quot; blocker.</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                <outwardlinks description="depends on">
                            <issuelink>
            <issuekey id="22230">MB-7661</issuekey>
        </issuelink>
                    </outwardlinks>
                                                <inwardlinks description="blocks">
                            <issuelink>
            <issuekey id="21220">JCBC-176</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                    <attachment id="16112" name="failover-debug.args" size="435" author="deeptida" created="Fri, 4 Jan 2013 02:44:13 -0600" />
                    <attachment id="16032" name="fo-dbg.log.txt" size="20447" author="mnunberg" created="Tue, 18 Dec 2012 21:55:56 -0600" />
                    <attachment id="16111" name="vm-4nodes-2.ini" size="179" author="deeptida" created="Fri, 4 Jan 2013 02:44:13 -0600" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8610</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-171] document how to set config options in xml config files, and all config options available</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-171</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>I can&amp;#39;t find any info on our web site, docs, tutorials, etc. for how how to set config options for Java client usage in an xml config file. Need examples of that, and exhaustive reference of all the options that can go in a config, along the lines of what we have for the CouchbaseConnectionFactoryBuilder class at:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-ccfb.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-ccfb.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Also, it&amp;#39;s very confusing to have 1.1 docs with useful info that applies to 1.0 docs, too, but have the 1.0 docs not updated. For example, there&amp;#39;s no mention in the 1.0 docs of any of the stuff that is mentioned on the 1.1 sdk-ccfb page, even though lots of that would be relevant to 1.0 too.&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment></environment>
            <key id="21195">JCBC-171</key>
            <summary>document how to set config options in xml config files, and all config options available</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Thu, 6 Dec 2012 19:46:52 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:27 -0500</updated>
                                    <version>1.0.3</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                          <timeoriginalestimate seconds="288000">80h</timeoriginalestimate>
                    <timeestimate seconds="288000">80h</timeestimate>
                                          <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8616</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-184] API reference should show return types</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-184</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>The return type is critical for understanding how to use a function. In particular with the Java client library, it&amp;#39;s critical to know if a function returns a Future (i.e., it&amp;#39;s an async function) or not. Otherwise it&amp;#39;s impossible to use it correctly.&lt;br/&gt;
&lt;br/&gt;
Currently one must click through, scroll around, and pick out the return value somewhere in a list of parameters on the details page. It would be worth the extra screen real estate on the api reference page to show the return value as well.&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-summary.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-summary.html&lt;/a&gt;</environment>
            <key id="21332">JCBC-184</key>
            <summary>API reference should show return types</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Fri, 14 Dec 2012 12:57:41 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:27 -0500</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                          <timeoriginalestimate seconds="28800">8h</timeoriginalestimate>
                    <timeestimate seconds="28800">8h</timeestimate>
                                          <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8612</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-183] Many methods in api reference don&apos;t link to corresponding documentation page</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-183</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Many of the links in the api-reference-summary.html don&amp;#39;t go anywhere. They should all link to the detail page for the particular method.&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-summary.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-summary.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
It *may* be just the ones with durability requirements (persistto, replicateto) in the signature.</description>
                <environment>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-summary.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-summary.html&lt;/a&gt;</environment>
            <key id="21331">JCBC-183</key>
            <summary>Many methods in api reference don&apos;t link to corresponding documentation page</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Fri, 14 Dec 2012 12:55:04 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:27 -0500</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                          <timeoriginalestimate seconds="1800">0.5h</timeoriginalestimate>
                    <timeestimate seconds="1800">0.5h</timeestimate>
                                          <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8613</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-173] flush will not work owing to MB-7381</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-173</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>During development of 1.1, RESTful flush was written, but it turns out that there is an issue with the server implementation of flush, and it requires Administrator level credentials.  This makes it impractical for clients that don&amp;#39;t have those credentials, like a default CouchbaseClient.&lt;br/&gt;
&lt;br/&gt;
This means the flush implementation is done, but won&amp;#39;t work for now.</description>
                <environment></environment>
            <key id="21212">JCBC-173</key>
            <summary>flush will not work owing to MB-7381</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 7 Dec 2012 21:12:33 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:27 -0500</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="45666" author="ingenthr" created="Fri, 7 Dec 2012 21:15:00 -0600"  >Using the ClusterManager interface, one can work around this issue for now if using the Administrator creds is acceptable.</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Dependency</name>
                                <outwardlinks description="depends on">
                            <issuelink>
            <issuekey id="21211">MB-7381</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="22591">JCBC-242</issuekey>
        </issuelink>
                    </inwardlinks>
                            </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>8615</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-203] append/prepend are ASYNC, and can specify 0 for casunique</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-203</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>This is a two-for-one bug report for the docs. First, the return value of append/prepend is Future&amp;lt;Boolean&amp;gt;, not &amp;quot;Object ( Binary object )&amp;quot;. These are async ops, and need to be documented as such.&lt;br/&gt;
&lt;br/&gt;
Next, the append and prepend methods say that the casunique argument must be specified, but don&amp;#39;t mention that it is OK to pass 0 here if you just want to append to whatever is there.&lt;br/&gt;
&lt;br/&gt;
In fact, using 0 for casunique is going to be the normal use case for these functions, since memcached (and Couchbase) defines them to be atomic. It&amp;#39;s too bad that spymemcached made this interface clunky, but we can at least document this normal use case.</description>
                <environment>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-append.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-append.html&lt;/a&gt;</environment>
            <key id="21566">JCBC-203</key>
            <summary>append/prepend are ASYNC, and can specify 0 for casunique</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Jan 2013 15:55:52 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:26 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="49157" author="daschl" created="Thu, 31 Jan 2013 08:51:17 -0600"  >Moving to 1.1.2, depending on the size of the change maybe will be 1.1.3 or in between.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>46</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                <customfield id="customfield_10080" key="com.pyxis.greenhopper.jira:gh-sprint">
                <customfieldname>Sprint</customfieldname>
                <customfieldvalues>
                        <customfieldvalue>13</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                    </customfields>
    </item>

<item>
            <title>[JCBC-201] All async ops should link to the Asynchronous Operations page</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-201</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>There are a lot of async operations. They return *Future&amp;lt;*&amp;gt;. They should all have a link back to the overview of how Asynchronous Operations work, at &lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-summary-asynchronous.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-summary-asynchronous.html&lt;/a&gt;</description>
                <environment>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-add.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-add.html&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-get-async.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-get-async.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Etc., there are a bunch of these.&lt;br/&gt;
</environment>
            <key id="21560">JCBC-201</key>
            <summary>All async ops should link to the Asynchronous Operations page</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Jan 2013 14:16:52 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:26 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="49161" author="daschl" created="Thu, 31 Jan 2013 08:51:18 -0600"  >Moving to 1.1.2, depending on the size of the change maybe will be 1.1.3 or in between.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8607</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-199] constructor documented as client method returning &quot;(none)&quot;</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-199</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>The constructor is documented to return &amp;quot;(none)&amp;quot;, which isn&amp;#39;t really correct.&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-connection.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-connection.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Also, the docs make it look like it&amp;#39;s a method call on an existing client object (&amp;quot;client.new&amp;quot;), which isn&amp;#39;t accurate:&lt;br/&gt;
&lt;br/&gt;
&amp;quot;client.new CouchbaseClient([ url ] [, urls ] [, username ] [, password ])&amp;quot;&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-connection.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-connection.html&lt;/a&gt;</environment>
            <key id="21557">JCBC-199</key>
            <summary>constructor documented as client method returning &quot;(none)&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="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="daschl">Michael Nitschinger</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Jan 2013 14:03:04 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:26 -0500</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="49162" author="daschl" created="Thu, 31 Jan 2013 08:51:18 -0600"  >Moving to 1.1.2, depending on the size of the change maybe will be 1.1.3 or in between.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8608</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-204] document increment/decrement behavior with non-numeric value</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-204</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Increment and decrement should document what happens if the key exists on the server, but the value is invalid. It should describe what a valid value is (and link to the Developer&amp;#39;s Guide page that describes the server-side behavior in greater detail).&lt;br/&gt;
&lt;br/&gt;
Valid value is a string. String is decimal representation of an unsigned 64-bit integer.</description>
                <environment>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-incr.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-incr.html&lt;/a&gt;</environment>
            <key id="21570">JCBC-204</key>
            <summary>document increment/decrement behavior with non-numeric value</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Jan 2013 16:31:08 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:26 -0500</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="49159" author="daschl" created="Thu, 31 Jan 2013 08:51:18 -0600"  >Moving to 1.1.2, depending on the size of the change maybe will be 1.1.3 or in between.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>41</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                <customfield id="customfield_10080" key="com.pyxis.greenhopper.jira:gh-sprint">
                <customfieldname>Sprint</customfieldname>
                <customfieldvalues>
                        <customfieldvalue>13</customfieldvalue>

                </customfieldvalues>
            </customfield>
                                                                    </customfields>
    </item>

<item>
            <title>[JCBC-205] docs for touch() should mention getAndTouch()</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-205</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>It would be nice for the touch() docs to mention getAndTouch() as a common optimization:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-gat.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-gat.html&lt;/a&gt;</description>
                <environment>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-touch.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-touch.html&lt;/a&gt;</environment>
            <key id="21571">JCBC-205</key>
            <summary>docs for touch() should mention getAndTouch()</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Jan 2013 16:36:18 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:26 -0500</updated>
                                                    <fixVersion>1.1.8</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>8779</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-231] Handle View Errors (Vbucket &amp; Merge) appropriately</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-231</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>During rebalance out it can happen that the view node is still able to service http connections, but fails with the following errors:&lt;br/&gt;
&lt;br/&gt;
- error Reason: A view spec can not consist of merges exclusively. &lt;br/&gt;
or&lt;br/&gt;
-  no_active_vbuckets Reason: Cannot execute view query since the node has no active vbuckets &lt;br/&gt;
&lt;br/&gt;
If this is happening, the client needs to deal with it. Appropriate solution needs still to be dicussed, but one approach could be to retry on a different node. Note that this needs to work for both async and sync calls.</description>
                <environment></environment>
            <key id="22436">JCBC-231</key>
            <summary>Handle View Errors (Vbucket &amp; Merge) appropriately</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="daschl">Michael Nitschinger</reporter>
                        <labels>
                    </labels>
                <created>Sat, 2 Feb 2013 01:56:37 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:25 -0500</updated>
                                    <version>1.1.0</version>
                <version>1.1.1</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="49572" author="daschl" created="Sat, 2 Feb 2013 01:57:12 -0600"  >The corresponding server ticket can be found here: &lt;a href=&quot;http://www.couchbase.com/issues/browse/MB-7661&quot;&gt;http://www.couchbase.com/issues/browse/MB-7661&lt;/a&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="24362">JCBC-307</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>8394</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-233] Write the Java on Windows with Eclipse installation instructions for essentials guide</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-233</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Write the Java on Windows using Eclipse section of the Essentials Guide&lt;br/&gt;
&lt;br/&gt;
Needs to cover: &lt;br/&gt;
&lt;br/&gt;
Basic Installation/Setup of Eclipse&lt;br/&gt;
Adding the Couchbase Java components to Eclipse&lt;br/&gt;
Writing your first (small) app using Couchbase within Eclipse&lt;br/&gt;
&lt;br/&gt;
Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images. &lt;br/&gt;
</description>
                <environment></environment>
            <key id="22456">JCBC-233</key>
            <summary>Write the Java on Windows with Eclipse installation instructions for essentials guide</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="mccouch">MC Brown</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Feb 2013 11:09:32 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:25 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <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>8433</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-206] Need clear info and examples on proper error handling</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-206</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>It&amp;#39;s very difficult for people to understand the error handling behavior of the client library, and how to properly handle errors. The async methods make it even more difficult. Information is spread across multiple sections, hidden in individual method descriptions, or else not mentioned at all. The docs should provide a clear description of how to use the API correctly, including example code that does correct error handling that can be cut-and-pasted.&lt;br/&gt;
&lt;br/&gt;
There is a brief mention of error handling here, but it&amp;#39;s hidden and very cursory, with no example code:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/create-update-docs.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/create-update-docs.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
This doc mentions that .get() returns null on failure, but gives no hints on how to determine why, or what the right way to recover is:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/read-docs.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/read-docs.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
This gives a very cursory mention of failure, but no way to get further details:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/delete-docs.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/delete-docs.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
No mention of JSON encoding errors or what to expect:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/json-handling-docs.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/json-handling-docs.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Mentions that OperationFuture may return false even if operation succeeds due to durability requirement failure, but no clear example of how to tell the difference, what status codes to expect in each case, etc.:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/advanced-persistence.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/advanced-persistence.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Mentions that synchronous call may return an exception, but no info on what the exception would be, or in what circumstances it may return null with no exception:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-summary-synchronous.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-summary-synchronous.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
No mention of .isSuccess() method, or any info on how errors are reported via *Future objects. Also no mention of when the async method may fail immediately vs. when the failure will be reported only after checking .isSuccess() or another method on the future. No mention of what errors are reported as exceptions vs. what errors are reported only via the future object&amp;#39;s methods.:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-summary-asynchronous.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-summary-asynchronous.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
No mention of when the constructor might fail or what exceptions might be thrown:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-connection.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-connection.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
No mention of how to tell if the FALSE result is due to timeout, impossible persistence requirements, or other problem:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-observe.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-observe.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Not clear enough that .add(), .set(), .replace() are an async methods, too easy for new user to misunderstand how to use them:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-add.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-add.html&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-set.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-set-set.html&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-replace.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-replace.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
No mention that .get() may throw an exception, or how errors other than NotFound may be reported:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-get.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-get.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Yay, here is an example that has a bit of error handling! Unfortunately, it is a &amp;quot;catch(Exception)&amp;quot; (i.e., very generic, and not intended to catch Couchbase-specific errors or timeouts), and no indication of how to handle actual Couchbase errors. Also gives false impression that get() will throw an exception on all failure, when in fact you need to check for failure with .isSuccess() or something.:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-get-async.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-get-async.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Also on that page (async get), mentions that a TimeoutException may be thrown. But that won&amp;#39;t happen on asyncGet() call, instead it will be when checking .get() on the Future result. I think. It is welcome to list exceptions that can be thrown, but I think this one is incorrect.&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-get-async.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-get-async.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
.getBulk() and .asyncGetBulk() are complicated enough that they deserve their own example of proper error handling, and what happens when one server node is down and other nodes are up, so partial results are available, etc.:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-bulk.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-bulk.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Nice that these pages mention what exceptions can be thrown, so I can infer how to tell a timeout from a not found, etc. But why only here? Shouldn&amp;#39;t these exceptions be more generally described elsewhere as applying to all operations (RuntimeException, InterruptedException, OperationTimeoutException)?:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-get-and-lock.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-get-and-lock.html&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-unlock.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-retrieve-unlock.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Append and Prepend should normally use 0 for the casunique, and then I would not expect an EXISTS error. The example code is clunky, less efficient (suggests doing a .gets() call just to get the cas id), and likely to fail much more often. The example code does not do proper retry handling on an EXISTS error. It does not show how to distinguish an EXISTS, NOTFOUND, or server down error.:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-append.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-append.html&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-prepend.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/couchbase-sdk-java-update-prepend.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
View queries might time out, on all or some servers. Should document how the client should handle errors from view queries. Also, if client requests a view that doesn&amp;#39;t exist, how is that handled:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-view.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-view.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
There is no mention of error handling in the &amp;quot;Using the APIs&amp;quot; nor &amp;quot;Java Troubleshooting&amp;quot; sections, either:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-started.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-started.html&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-troubleshooting.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-troubleshooting.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
There is a brief mention of RuntimeException being &amp;quot;returned&amp;quot; (should say &amp;quot;thrown&amp;quot;) in the section on handling timeouts, but this is too buried and too specific to be of real use. And there is no example code:&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-troubleshooting.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/api-reference-troubleshooting.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Also, the tutorial doesn&amp;#39;t do error handling at all, for example:&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/managing-beers.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/managing-beers.html&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Look for &amp;quot;client.set&amp;quot; and &amp;quot;client.query&amp;quot; on that page and you&amp;#39;ll see it ignores error handling entirely. I think this is a mistake in tutorial code, it should be complete and correct, or at least it should provide a warning saying that there is no error handling, with a link to the docs that describe how to do proper error handling.&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>&lt;a href=&quot;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/getting-started.html&quot;&gt;http://www.couchbase.com/docs/couchbase-sdk-java-1.1/getting-started.html&lt;/a&gt;&lt;br/&gt;
</environment>
            <key id="21573">JCBC-206</key>
            <summary>Need clear info and examples on proper error handling</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="TimSmith">Tim Smith</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Jan 2013 16:47:42 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:25 -0500</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>1</watches>
                                                    <comments>
                    <comment id="49160" author="daschl" created="Thu, 31 Jan 2013 08:51:18 -0600"  >Moving to 1.1.2, depending on the size of the change maybe will be 1.1.3 or in between.</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                <outwardlinks description="duplicates">
                                    </outwardlinks>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="22509">JCBC-236</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>8606</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-228] a no-args constructor and an init method are needed</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-228</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Currently, the CouchbaseClient does a number of things that are not so pretty, like spinning up a thread from it&amp;#39;s ctor.  It would be better to add an additional, optional no-args constructor which expects an init method to be called with the other params needed, start thread, etc.</description>
                <environment></environment>
            <key id="22101">JCBC-228</key>
            <summary>a no-args constructor and an init method are 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="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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Thu, 31 Jan 2013 02:51:03 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:25 -0500</updated>
                                    <version>1.1.0</version>
                <version>1.1.1</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="49154" author="daschl" created="Thu, 31 Jan 2013 08:44:21 -0600"  >Assigning towards 1.1.2 but we can defer it to 1.1.3 as well.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8602</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-217] Create Source-Code Styleguide</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-217</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>A style guide for all java applications should be developed and paired with checkstyle rules. If possible, also provide a howto on IDE integration and git hooks.</description>
                <environment></environment>
            <key id="21919">JCBC-217</key>
            <summary>Create Source-Code Styleguide</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="daschl">Michael Nitschinger</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 Jan 2013 04:15:27 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:25 -0500</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="49158" author="daschl" created="Thu, 31 Jan 2013 08:51:18 -0600"  >Moving to 1.1.2, depending on the size of the change maybe will be 1.1.3 or in between.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8604</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-248] ensure there is a floor to tuneables such that they can&apos;t be set so a client misbehaves</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-248</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>There have been a few situations where people have either inavertently or not knowing what they&amp;#39;re doing set various internal timings to incorrect values.  We should create a floor or a ceiling for these and change them with a warning if the user attempts to misuse it.&lt;br/&gt;
&lt;br/&gt;
From a recent code example:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static String serverList = &amp;quot;&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static long opTimeout = -1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static long opQueueMaxBlockTime = -1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static long obsPollInterval = -1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static int obsPollMax = -1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static long msReconnectThresholdTime = -1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static long maxReconnectDelay = -1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static boolean shouldOptimize = false;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static int timeoutExceptionThreshold = -1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static boolean useNagleAlgorithm = false;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static FailureMode failureMode = FailureMode.Cancel;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static int ttl = 86400;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static int threads = 1;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static long msBeforeGet = 5000l;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static long repeat = -1;&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment></environment>
            <key id="22732">JCBC-248</key>
            <summary>ensure there is a floor to tuneables such that they can&apos;t be set so a client misbehaves</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Feb 2013 17:47:20 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:24 -0500</updated>
                                    <version>1.0.3</version>
                <version>1.1.0</version>
                <version>1.1.1</version>
                <version>1.1.2</version>
                                <fixVersion>1.1.8</fixVersion>
                                                <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, 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>8881</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-250] ClassCast Exception when using durability against memcached bucket</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-250</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Apparently trying to use these operations:&lt;br/&gt;
CouchbaseClient.add(String key, int exp, String value, PersistTo req, ReplicateTo rep)&lt;br/&gt;
&lt;br/&gt;
Against a memcached bucket causes an exception even if &amp;quot;req&amp;quot; and &amp;quot;rep&amp;quot; are set to 0. From the user&amp;#39;s perspective, they expect this to work.  Is it a major undertaking to make the classes compatible from the client side, independent of the bucket types and then let the operation succeed/fail when it can or can&amp;#39;t?&lt;br/&gt;
&lt;br/&gt;
java.lang.ClassCastException: com.couchbase.client.CouchbaseMemcachedConnection cannot be cast to com.couchbase.client.CouchbaseConnection&lt;br/&gt;
&amp;nbsp;&amp;nbsp;at com.couchbase.client.CouchbaseClient.observePoll(CouchbaseClient.java:1708)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;at com.couchbase.client.CouchbaseClient.add(CouchbaseClient.java:1293)</description>
                <environment></environment>
            <key id="22799">JCBC-250</key>
            <summary>ClassCast Exception when using durability against 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="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="daschl">Michael Nitschinger</assignee>
                                <reporter username="perry">Perry Krug</reporter>
                        <labels>
                    </labels>
                <created>Wed, 20 Feb 2013 03:07:21 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:24 -0500</updated>
                                    <version>1.1.2</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>3</watches>
                                                    <comments>
                    <comment id="58176" author="deeptida" created="Tue, 14 May 2013 03:09:04 -0500"  >This problem has been fixed in the version 1.1.6. It was there till 1.1.5 but now has been fixed.&lt;br/&gt;
&lt;br/&gt;
Please find the same log of run in 1.1.5 and 1.1.6 to strengthen the findings.&lt;br/&gt;
&lt;br/&gt;
Its good to close.&lt;br/&gt;
&lt;br/&gt;
Thanks !</comment>
                    <comment id="59309" author="daschl" created="Mon, 27 May 2013 03:07:16 -0500"  >This is not fixed. Will make sure to fix it for 1.1.7</comment>
                    <comment id="59310" author="daschl" created="Mon, 27 May 2013 03:07:52 -0500"  >Deepti, for simple cases like this, SDKQE is overkill.&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CouchbaseClient client = new CouchbaseClient(Arrays.asList(new URI(&amp;quot;&lt;a href=&quot;http://127.0.0.1:8091/pools&quot;&gt;http://127.0.0.1:8091/pools&lt;/a&gt;&amp;quot;)), &amp;quot;memcache&amp;quot;, &amp;quot;&amp;quot;);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.set(&amp;quot;foo&amp;quot;, &amp;quot;bar&amp;quot;, PersistTo.MASTER);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.shutdown();&lt;br/&gt;
&lt;br/&gt;
this shows the problem against a memcache bucket.</comment>
                    <comment id="59311" author="daschl" created="Mon, 27 May 2013 03:22:58 -0500"  >&lt;a href=&quot;http://review.couchbase.com/#/c/26541/&quot;&gt;http://review.couchbase.com/#/c/26541/&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="17320" name="1.1.5-sdk.log" size="14690" author="deeptida" created="Tue, 14 May 2013 03:12:16 -0500" />
                    <attachment id="17321" name="1.1.6-sdk.log" size="17371" author="deeptida" created="Tue, 14 May 2013 03:12:16 -0500" />
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                            <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>9042</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-235] Write the Java on Linux using Eclipse section of the Essentials Guide</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-235</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Write the Java on Linux using Eclipse section of the Essentials Guide&lt;br/&gt;
&lt;br/&gt;
Needs to cover: &lt;br/&gt;
&lt;br/&gt;
Basic Installation/Setup of Eclipse&lt;br/&gt;
Adding the Couchbase Java components to Eclipse&lt;br/&gt;
Writing your first (small) app using Couchbase within Eclipse&lt;br/&gt;
&lt;br/&gt;
Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images. </description>
                <environment></environment>
            <key id="22458">JCBC-235</key>
            <summary>Write the Java on Linux using Eclipse section of the Essentials Guide</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="mccouch">MC Brown</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Feb 2013 11:11:06 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:24 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                        <issuelinks>
                        <issuelinktype id="10001">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="22607">JCBC-243</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>8434</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-234] Write the Java on Mac OS X using Eclipse section of the Essentials Guide</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-234</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Write the Java on Mac OS X using Eclipse section of the Essentials Guide&lt;br/&gt;
&lt;br/&gt;
Needs to cover: &lt;br/&gt;
&lt;br/&gt;
Basic Installation/Setup of Eclipse&lt;br/&gt;
Adding the Couchbase Java components to Eclipse&lt;br/&gt;
Writing your first (small) app using Couchbase within Eclipse&lt;br/&gt;
&lt;br/&gt;
Submissions should be to MC, either through the couchbase/docs repo, or direct to MC in whatever format suits. Must include both the text and images. &lt;br/&gt;
</description>
                <environment></environment>
            <key id="22457">JCBC-234</key>
            <summary>Write the Java on Mac OS X using Eclipse section of the Essentials Guide</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="mccouch">MC Brown</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Feb 2013 11:10:16 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:24 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <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>8435</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-237] Docs: Document how to use observe properly outside of the &quot;wrapped&quot; methods</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-237</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>There will be some cases where a user wants to use the observe functionality outside of the set()/add()/replace() methods what we have allowed for them to specify the &amp;quot;durabililty requirements&amp;quot;.  &lt;br/&gt;
&lt;br/&gt;
Specifcally this may come up when using incr/decr/prepend/append and wanting to &amp;quot;observe&amp;quot; on that...or just using observe manually to control the behavior, retry, timeouts, etc.&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment></environment>
            <key id="22530">JCBC-237</key>
            <summary>Docs: Document how to use observe properly outside of the &quot;wrapped&quot; methods</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="perry">Perry Krug</reporter>
                        <labels>
                    </labels>
                <created>Tue, 5 Feb 2013 10:59:46 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:24 -0500</updated>
                                    <version>1.1.1</version>
                                <fixVersion>1.1.8</fixVersion>
                                <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>8554</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-258] documentation needs to be much clearer about Query.setKey() requiring JSON encoded strings or use of ComplexKey</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-258</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Neither the javadoc nor the existing documentation really cover the potential issues with setKey using a number or something that will autobox into a string value.  This should be much clearer.</description>
                <environment></environment>
            <key id="23058">JCBC-258</key>
            <summary>documentation needs to be much clearer about Query.setKey() requiring JSON encoded strings or use of ComplexKey</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Mar 2013 13:45:05 -0600</created>
                <updated>Wed, 12 Jun 2013 06:43:24 -0500</updated>
                                    <version>1.1.3</version>
                                <fixVersion>1.1.8</fixVersion>
                                <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>Wed, 6 Mar 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, 6 Mar 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>9301</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-291] Authentication failed on 5-th client</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-291</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Let&amp;#39;s assume I have:&lt;br/&gt;
- a cluster made of 4 couchbase nodes (couchbase1-couchbase4);&lt;br/&gt;
- 10 instances of client application (client1-client10).&lt;br/&gt;
&lt;br/&gt;
In my client Java application I connect to the cluster using login, password and the following server list string:&lt;br/&gt;
&lt;br/&gt;
{code}&lt;br/&gt;
&amp;quot;&lt;a href=&quot;http://couchbase1:8091/pools,http://couchbase2:8091/pools,http://couchbase3:8091/pools,http://couchbase4:8091/pools&quot;&gt;http://couchbase1:8091/pools,http://couchbase2:8091/pools,http://couchbase3:8091/pools,http://couchbase4:8091/pools&lt;/a&gt;&amp;quot;&lt;br/&gt;
{code}&lt;br/&gt;
&lt;br/&gt;
When I start four instances of client application on client1-client4 -- everything is going OK. But when I am trying to start 5-th instance of client application on client5 -- I get the following error:&lt;br/&gt;
&lt;br/&gt;
{code}&lt;br/&gt;
Mar 29 12:56:28 client1: 2013-03-29 12:56:28.564 INFO com.couchbase.client.CouchbaseConnection:  Reconnecting {QA sa=couchbase1/192.168.0.129:11210, #Rops=0, #Wops=1, #iq=0, topRop=null, topWop=SASL steps operation, toWrite=0, interested=0}&lt;br/&gt;
Mar 29 12:56:28 client1: 2013-03-29 12:56:28.565 INFO com.couchbase.client.CouchbaseConnection:  Connection state changed for &lt;a href=&apos;mailto:sun.nio.ch.SelectionKeyImpl@28a3001c&apos;&gt;sun.nio.ch.SelectionKeyImpl@28a3001c&lt;/a&gt;&lt;br/&gt;
Mar 29 12:56:28 client1: 2013-03-29 12:56:28.565 WARN net.spy.memcached.auth.AuthThreadMonitor:  Incomplete authentication interrupted for node {QA sa=couchbase1/192.168.0.129:11210, #Rops=0, #Wops=1, #iq=0, topRop=null, topWop=SASL steps operation, toWrite=0, interested=8}&lt;br/&gt;
Mar 29 12:56:28 client1: 2013-03-29 12:56:28.565 WARN net.spy.memcached.auth.AuthThread:  Authentication failed to couchbase1/192.168.0.129:11210&lt;br/&gt;
Mar 29 12:56:28 client1: 2013-03-29 12:56:28.566 INFO com.couchbase.client.CouchbaseConnection:  Reconnecting due to exception on {QA sa=couchbase1/192.168.0.129:11210, #Rops=1, #Wops=0, #iq=0, topRop=SASL auth operation, topWop=null, toWrite=0, interested=1}&lt;br/&gt;
Mar 29 12:56:28 client1:    at net.spy.memcached.MemcachedConnection.handleReads(MemcachedConnection.java:453)&lt;br/&gt;
Mar 29 12:56:28 client1:    at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:381)&lt;br/&gt;
Mar 29 12:56:28 client1:    at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:243)&lt;br/&gt;
Mar 29 12:56:28 client1:    at com.couchbase.client.CouchbaseConnection.run(CouchbaseConnection.java:229)&lt;br/&gt;
Mar 29 12:56:28 client1: 2013-03-29 12:56:28.566 WARN com.couchbase.client.CouchbaseConnection:  Closing, and reopening {QA sa=couchbase1/192.168.0.129:11210, #Rops=1, #Wops=0, #iq=0, topRop=SASL auth operation, topWop=null, toWrite=0, interested=1}, attempt 0.&lt;br/&gt;
Mar 29 12:56:28 client1: 2013-03-29 12:56:28.566 WARN net.spy.memcached.protocol.binary.BinaryMemcachedNodeImpl:  Discarding partially completed op: SASL auth operation&lt;br/&gt;
Mar 29 12:56:28 client1: 2013-03-29 12:56:28.666 WARN net.spy.memcached.auth.AuthThread:  Authentication failed to couchbase1/192.168.0.129:11210&lt;br/&gt;
{code}&lt;br/&gt;
&lt;br/&gt;
So, if I shutdown one of client1-client4 -- this moment client5 connects to the cluster without problems.&lt;br/&gt;
&lt;br/&gt;
PS: No matter if I make cluster from 2 nodes. The behaveour is the same -- 5-th node get the same error.</description>
                <environment>Debian GNU/Linux 6.0 (amd64), Couchbase community edition.</environment>
            <key id="23730">JCBC-291</key>
            <summary>Authentication failed on 5-th client</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="andrew.kulikov">Andrew Kulikov</reporter>
                        <labels>
                    </labels>
                <created>Wed, 17 Apr 2013 04:33:20 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:23 -0500</updated>
                                                    <fixVersion>1.1.8</fixVersion>
                                <component>docs</component>
                                <votes>0</votes>
                        <watches>3</watches>
                                                    <comments>
                    <comment id="58771" author="andrew.kulikov" created="Mon, 20 May 2013 07:28:46 -0500"  >We have solved our problem! The reason was in limit for number of opened files. Have you ever tested couchbase with pam_limits enabled? If so, default configuration (nofile=1024) is suitable only for 3 clients simultaneously connected. 4-th client fails. We have greatly increased nofile parameter for couchbase user in limits.conf -- and the problem was solved.&lt;br/&gt;
&lt;br/&gt;
I think you should add this issue in your documentation. Also, you should write an error in logfile -- if this limit (for open files or any other) is reached.</comment>
                    <comment id="58825" author="daschl" created="Mon, 20 May 2013 14:29:01 -0500"  >Thanks for reporting your findings! I&amp;#39;ll change it to a docs enhancement!</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10731</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-287] Failover + Readd of Streaming Node against 1.8.1 fails</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-287</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description></description>
                <environment>Any Couchbase SDK against a 1.8 cluster</environment>
            <key id="23761">JCBC-287</key>
            <summary>Failover + Readd of Streaming Node against 1.8.1 fails</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="daschl">Michael Nitschinger</reporter>
                        <labels>
                    </labels>
                <created>Thu, 18 Apr 2013 04:00:48 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:23 -0500</updated>
                                    <version>1.1.5</version>
                                <fixVersion>1.1.8</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>2</watches>
                                                    <comments>
                    <comment id="55590" author="daschl" created="Fri, 19 Apr 2013 01:06:52 -0500"  >Let me describe the observed behaviour in greater detail to clarify what is the issue.&lt;br/&gt;
I just verified against 2.0 that it&amp;#39;s the same behaviour, but I don&amp;#39;t know why wie didn&amp;#39;t observe it there this way.&lt;br/&gt;
&lt;br/&gt;
When someone clicks failover in the UI on the streaming node, our streaming connection gets closed. Now the client code is implemented that way that it gets back to the node list passed in and iterates over it. In the case observed it is the first node in the list which we failed over, but since it has not been removed yet the client is able to connect (and even retrieve the bucket information!). &lt;br/&gt;
&lt;br/&gt;
Now comes the part that I don&amp;#39;t understand fully. With the changeset not applied, it connects to the streaming connection from the failovered node but somehow it doesnt get the information fast enough when the same node (!) gets added back. Maybe because when the node gets rebalanced out the streaming connection gets closed again and we lag little bit behind to connect to the second node in the list.&lt;br/&gt;
&lt;br/&gt;
That said, WITH the changeset applied we will not connect to the failovered node immediately because we recognize its in the cluster, but not part of the node list (which kinda sucks from a logical perspective in my opinion, because why do we close the streaming connection on failover AND allow to reestablish it afterwards?). So what will happen is that the SDK immediately connects to the second one and will observe the upcoming operations (rebalance out, rebalance in) correctly.&lt;br/&gt;
&lt;br/&gt;
Does this make more sense now?</comment>
                    <comment id="55591" author="ingenthr" created="Fri, 19 Apr 2013 01:16:31 -0500"  >Not 100%, no.  Do we have a log that shows responses from nodes by chance?</comment>
                    <comment id="55592" author="daschl" created="Fri, 19 Apr 2013 01:24:54 -0500"  >You mean the JSON responses from the nodes? Or the netty logs on the SDK side.</comment>
                    <comment id="55609" author="daschl" created="Fri, 19 Apr 2013 08:50:07 -0500"  >So if you set &amp;quot;failover&amp;quot; on one of the nodes, all HTTP Rest resources are still 100% accessible, even if the streaming connection was closed from the server before. We can even establish it again.&lt;br/&gt;
&lt;br/&gt;
The main diff is that the node shows up in pools, but not in the bucket node list. It also shows a &amp;quot;failovered&amp;quot; state, so we could also try to identify it at that point.&lt;br/&gt;
&lt;br/&gt;
{&lt;br/&gt;
systemStats: {&lt;br/&gt;
cpu_utilization_rate: 1,&lt;br/&gt;
swap_total: 1069543424,&lt;br/&gt;
swap_used: 0&lt;br/&gt;
},&lt;br/&gt;
interestingStats: { },&lt;br/&gt;
uptime: &amp;quot;226&amp;quot;,&lt;br/&gt;
memoryTotal: 1572306944,&lt;br/&gt;
memoryFree: 761069568,&lt;br/&gt;
mcdMemoryReserved: 1199,&lt;br/&gt;
mcdMemoryAllocated: 1199,&lt;br/&gt;
couchApiBase: &amp;quot;&lt;a href=&quot;http://192.168.56.101:8092/&quot;&gt;http://192.168.56.101:8092/&lt;/a&gt;&amp;quot;,&lt;br/&gt;
clusterMembership: &amp;quot;inactiveFailed&amp;quot;,&lt;br/&gt;
status: &amp;quot;healthy&amp;quot;,&lt;br/&gt;
thisNode: true,&lt;br/&gt;
hostname: &amp;quot;192.168.56.101:8091&amp;quot;,&lt;br/&gt;
clusterCompatibility: 131072,&lt;br/&gt;
version: &amp;quot;2.0.1-170-rel-enterprise&amp;quot;,&lt;br/&gt;
os: &amp;quot;x86_64-unknown-linux-gnu&amp;quot;,&lt;br/&gt;
ports: {&lt;br/&gt;
proxy: 11211,&lt;br/&gt;
direct: 11210&lt;br/&gt;
}&lt;br/&gt;
},&lt;br/&gt;
&lt;br/&gt;
(this is pools) .. its not in the node list from the bucket info (see the clusterMembership part).&lt;br/&gt;
&lt;br/&gt;
I can get you SDK debug logs as well, but they are already in the CBSE from mark.</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>10759</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-269] subsequent resubscribers should not run if a resubscriber is successful</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-269</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>When investigating a case recently, I noticed many resubscribers running once a second.  Looking at the code, it appears the kind of threadpool being used would just queue more and more up, but only run one at a time.&lt;br/&gt;
&lt;br/&gt;
The subsequent resubscribers should exit immediately if resubscribe is no longer needed.  Or the threadpool could be changed so we can&amp;#39;t queue another while one is running.</description>
                <environment></environment>
            <key id="23200">JCBC-269</key>
            <summary>subsequent resubscribers should not run if a resubscriber is successful</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="ingenthr">Matt Ingenthron</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Mar 2013 10:43:15 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:23 -0500</updated>
                                    <version>1.1.2</version>
                                <fixVersion>1.1.8</fixVersion>
                                <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>Wed, 13 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, 13 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>9470</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-296] Document changing compression threshold</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-296</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>&lt;br/&gt;
Please see the feature request below.&lt;br/&gt;
&lt;br/&gt;
&lt;a href=&quot;http://www.couchbase.com/forums/thread/java-client-compression-threshold&quot;&gt;http://www.couchbase.com/forums/thread/java-client-compression-threshold&lt;/a&gt;</description>
                <environment></environment>
            <key id="24077">JCBC-296</key>
            <summary>Document changing compression threshold</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="daschl">Michael Nitschinger</assignee>
                                <reporter username="mikew">Mike Wiederhold</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 May 2013 12:53:39 -0500</created>
                <updated>Wed, 12 Jun 2013 06:43:23 -0500</updated>
                                    <version>1.1.5</version>
                                <fixVersion>1.1.8</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>11061</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-280] Provision for auth failure in case of calling createBucket in the same txn twice and adding updateBucket functionality</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-280</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>There are three ways using which we are creating connection in the java client to the server.&lt;br/&gt;
&lt;br/&gt;
1) ClusterManager&lt;br/&gt;
2) BucketTool&lt;br/&gt;
&lt;br/&gt;
Both of these classes internally call the ClusterManager.createBucket for creation of the bucket.&lt;br/&gt;
&lt;br/&gt;
Now if I am using all the three instances of the above classes in a single function, the bucket information is overridden without any checks. Ideally using any of the connection classes if I have created a SASL bucket with some information like bucket name = &amp;#39;SaslBucket&amp;#39;, bucket password = &amp;#39;password&amp;#39;, I should not be allowed to change the password using instance of another class. There should be auth failure error being returned the second time client tries to connect to the same bucket. Server supports this because there is an Edit Bucket functionality at the server for the same. &lt;br/&gt;
&lt;br/&gt;
There should be a means of distinction in the request that we want to create the bucket or update.&lt;br/&gt;
In case of bucket creation duplicity should be checked where as in case of update this should be allowed as is.&lt;br/&gt;
&lt;br/&gt;
Also, the expectation is that, the user might update the bucket information if he requires to change the password or other details, by explicitly calling updateBucket method which is currently not available. </description>
                <environment></environment>
            <key id="23533">JCBC-280</key>
            <summary>Provision for auth failure in case of calling createBucket in the same txn twice and adding updateBucket functionality</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="deeptida">Deepti Dawar</assignee>
                                <reporter username="deeptida">Deepti Dawar</reporter>
                        <labels>
                    </labels>
                <created>Thu, 4 Apr 2013 08:03:02 -0500</created>
                <updated>Wed, 12 Jun 2013 03:03:50 -0500</updated>
                    <resolved>Mon, 3 Jun 2013 02:05:23 -0500</resolved>
                                                                            <votes>0</votes>
                        <watches>3</watches>
                                                    <comments>
                    <comment id="54273" author="deeptida" created="Fri, 5 Apr 2013 01:51:57 -0500"  >Alright.&lt;br/&gt;
&lt;br/&gt;
Consider the following piece of code :&lt;br/&gt;
&lt;br/&gt;
public void testCreateSaslBktBadPswd() throws Exception {&lt;br/&gt;
	  manager.createNamedBucket(BucketType.COUCHBASE, &amp;quot;bucket1&amp;quot;, 100, 0,&lt;br/&gt;
		        &amp;quot;password&amp;quot;, false);&lt;br/&gt;
	  List&amp;lt;URI&amp;gt; uris = new LinkedList&amp;lt;URI&amp;gt;();&lt;br/&gt;
	    uris.add(URI.create(&amp;quot;http://&amp;quot;&lt;br/&gt;
	      + TestConfig.IPV4_ADDR + &amp;quot;:8091/pools&amp;quot;));&lt;br/&gt;
	  new CouchbaseConnectionFactory(uris, &amp;quot;bucket1&amp;quot;, &amp;quot;password12&amp;quot;);&lt;br/&gt;
	  new CouchbaseClient(uris, &amp;quot;bucket1&amp;quot;, &amp;quot;password123&amp;quot;);&lt;br/&gt;
	  BucketTool bt = new BucketTool();&lt;br/&gt;
	  bt.createSaslBucket(&amp;quot;bucket1&amp;quot;, BucketType.COUCHBASE, 1, 2, true);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
Here, using cluster manager instance, we create a SASL bucket i.e. bucket1 with password as password.&lt;br/&gt;
Next you would see the usage of CouchbaseConnectionFactory instance which is trying to manipulate the same bucket, bucket1. It overrides the password to password12. Here it internally calls createBucket again without checking whether such a bucket already exists or not.&lt;br/&gt;
Another attempt is made to connect using the CouchbaseClient instance. The bucket password is again changed.&lt;br/&gt;
Similarly, the bucket tool instance also does the same.&lt;br/&gt;
&lt;br/&gt;
Instead, there should be auth failure error being returned the second time client tries to connect to the same bucket.&lt;br/&gt;
Also, the expectation is that, the user might update the bucket information if he requires to change the password or other details, by explicitly calling updateBucket method which is currently not available.</comment>
                    <comment id="56022" author="daschl" created="Wed, 24 Apr 2013 07:42:59 -0500"  >Is this still an issue?&lt;br/&gt;
</comment>
                    <comment id="56176" author="deeptida" created="Thu, 25 Apr 2013 02:17:20 -0500"  >You mean there has been a fix entered for this ?</comment>
                    <comment id="56180" author="daschl" created="Thu, 25 Apr 2013 02:23:55 -0500"  >No, because I think the ticket is somewhat misleading. The Factory and the Client have nothing to do with Bucket creation.&lt;br/&gt;
&lt;br/&gt;
The Manager should be used for clients and the bucket tool is an internal tool used in our testing environment. I still don&amp;#39;t get whats the problem here? Just pick one of these depending on the thing you want to do.</comment>
                    <comment id="56182" author="deeptida" created="Thu, 25 Apr 2013 02:34:03 -0500"  >The problem here is that, lets say there are two users - User 1 and User 2.&lt;br/&gt;
User 1 created the instance using CouchbaseConnectionFactory and provided a password to the default bucket as &amp;#39;password&amp;#39;&lt;br/&gt;
User 2 created the instance using CouchbaseClient and provided a password as &amp;#39;password2&amp;#39;&lt;br/&gt;
&lt;br/&gt;
As both internally go and create the bucket, don&amp;#39;t you think the two users are overriding each other&amp;#39;s bucket information ?&lt;br/&gt;
Shouldn&amp;#39;t the second user be returned an auth failure for the same ?</comment>
                    <comment id="56184" author="daschl" created="Thu, 25 Apr 2013 02:39:33 -0500"  >Hi Deepti,&lt;br/&gt;
&lt;br/&gt;
I&amp;#39;m not sure I can follow you. Neither CouchbaseConnectionFactory nor the CouchbaseClient class creates a bucket by any means. The user has to explicitly use the Manager to create a bucket! And the BucketTool uses the Manager underneath as well, it just provides some convenience methods.&lt;br/&gt;
</comment>
                    <comment id="56189" author="deeptida" created="Thu, 25 Apr 2013 03:59:05 -0500"  >Ok.&lt;br/&gt;
&lt;br/&gt;
I see that the conflict is between -&lt;br/&gt;
&lt;br/&gt;
manager.createNamedBucket&lt;br/&gt;
bucketTool.createSaslBucket&lt;br/&gt;
&lt;br/&gt;
both of which call the same createBucket method.</comment>
                    <comment id="56190" author="daschl" created="Thu, 25 Apr 2013 04:02:27 -0500"  >Ok so now that we pinned that down.&lt;br/&gt;
&lt;br/&gt;
Can you please&lt;br/&gt;
&lt;br/&gt;
1) clarify whats the issue between those methods and what needs to be fixed&lt;br/&gt;
2) update the title and description of the ticket to reflect those changes?&lt;br/&gt;
&lt;br/&gt;
Thanks!</comment>
                    <comment id="59341" author="deeptida" created="Tue, 28 May 2013 08:11:50 -0500"  >&lt;a href=&quot;http://review.couchbase.org/#/c/26557/&quot;&gt;http://review.couchbase.org/#/c/26557/&lt;/a&gt;</comment>
                    <comment id="60800" author="ingenthr" created="Tue, 11 Jun 2013 18:03:37 -0500"  >Deepti: any updates on the underlying issue?  Thanks.</comment>
                    <comment id="60845" author="deeptida" created="Wed, 12 Jun 2013 02:32:37 -0500"  >Hi Matt,&lt;br/&gt;
&lt;br/&gt;
I have already checked in the code and it is up for review in gerrit.&lt;br/&gt;
&lt;br/&gt;
Here is the link - &lt;a href=&quot;http://review.couchbase.org/#/c/26557/&quot;&gt;http://review.couchbase.org/#/c/26557/&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
Regards,&lt;br/&gt;
Deepti</comment>
                    <comment id="60847" author="ingenthr" created="Wed, 12 Jun 2013 02:43:00 -0500"  >Yes, but there&amp;#39;s already a review on the patch set indicating there&amp;#39;s a problem.  Please update the patchset, clarify why what is being observed is expected or get with the reviewer to understand the problem if it&amp;#39;s not clear.&lt;br/&gt;
&lt;br/&gt;
Thanks!</comment>
                    <comment id="60852" author="deeptida" created="Wed, 12 Jun 2013 03:03:50 -0500"  >Ah Yes ! Will update in 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>10397</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                    <customfield id="customfield_10181" key="com.atlassian.jira.ext.charting:timeinstatus">
                <customfieldname>Time In Status</customfieldname>
                <customfieldvalues>
                    
                </customfieldvalues>
            </customfield>
                                                </customfields>
    </item>
</channel>
</rss>