<!-- 
RSS generated by JIRA (5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9) at Thu May 23 03:51:35 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/si/jira.issueviews:issue-xml/JCBC-114/JCBC-114.xml?field=key&field=summary
-->
<rss version="0.92" >
<channel>
    <title>Couchbase</title>
    <link>http://www.couchbase.com/issues</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>5.2.4</version>
        <build-number>845</build-number>
        <build-date>26-12-2012</build-date>
    </build-info>

<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>Mon, 20 May 2013 14:30:48 -0500</updated>
                                    <version>1.0.3</version>
                                <fixVersion>1.1.7</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>8598</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>
</channel>
</rss>