<!--
RSS generated by JIRA (5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9) at Thu May 23 20:33:02 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+resolution+%3D+Unresolved+AND+fixVersion+%3D+%221.2%22+ORDER+BY+priority+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+resolution+%3D+Unresolved+AND+fixVersion+%3D+%221.2%22+ORDER+BY+priority+DESC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="4" total="4"/>
                <build-info>
            <version>5.2.4</version>
            <build-number>845</build-number>
            <build-date>26-12-2012</build-date>
        </build-info>
<item>
            <title>[JCBC-208] HTTP flush needs to be async</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-208</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Since flush can take a long time, it should be possible to handle this async.</description>
                <environment></environment>
            <key id="21685">JCBC-208</key>
            <summary>HTTP flush needs to be async</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>Wed, 9 Jan 2013 05:12:32 -0600</created>
                <updated>Wed, 9 Jan 2013 05:13:02 -0600</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.2</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                    <comments>
                    <comment id="47359" author="daschl" created="Wed, 9 Jan 2013 05:13:02 -0600"  >See also &lt;a href=&quot;http://www.couchbase.com/forums/thread/java-sdk-1-1-asynchronous-implementation-operation-requests&quot;&gt;http://www.couchbase.com/forums/thread/java-sdk-1-1-asynchronous-implementation-operation-requests&lt;/a&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                <customfield id="customfield_10010" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                <customfieldname>Flagged</customfieldname>
                <customfieldvalues>
                        <customfieldvalue key="10010"><![CDATA[Release Note]]></customfieldvalue>
    
                </customfieldvalues>
            </customfield>
                                                                                                                            <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>8770</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-28] refactor the entire cluster stream connection</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-28</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Because of the codebase&amp;#39;s legacy, the handling of the Bucket and Configuration is rather odd.  It used to exist outside the client to serve a different purpose.  At that time, not changing the client internals was desirable.&lt;br/&gt;
&lt;br/&gt;
Fast forwarding to now, the internals should be updated to have the NodeLocator or the connection abstract away much of the configuration details.</description>
                <environment></environment>
            <key id="16461">JCBC-28</key>
            <summary>refactor the entire cluster stream connection</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>Tue, 3 Apr 2012 19:36:03 -0500</created>
                <updated>Thu, 31 Jan 2013 09:57:54 -0600</updated>
                                                    <fixVersion>1.2</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11051</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-209] Clarify the sync/async nature of operations in the docs</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-209</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description></description>
                <environment></environment>
            <key id="21735">JCBC-209</key>
            <summary>Clarify the sync/async nature of operations in the docs</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="daschl">Michael Nitschinger</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Jan 2013 00:43:28 -0600</created>
                <updated>Fri, 11 Jan 2013 00:43:28 -0600</updated>
                                    <version>1.1.0</version>
                                <fixVersion>1.2</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>8769</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>

<item>
            <title>[JCBC-33] Reconfiguration strategy used in  TapConnectionProvider can lead to temporary deadlock of the ConfigurationProvider thread</title>
                <link>http://www.couchbase.com/issues/browse/JCBC-33</link>
                <project id="10080" key="JCBC">Couchbase Java Client</project>
                        <description>Let&amp;#39;s assume for now that a new node has been added to the cluster.&lt;br/&gt;
&lt;br/&gt;
1.  When a configuration change is detected, the reconfigure() method of TapConnectionProvider is called.&lt;br/&gt;
2.  TapConnectionProvider will call ((CouchbaseConnection)conn).reconfigure(bucket);&lt;br/&gt;
3.  Inside CouchbaseConnection reconfigure() the new server will be found and added to the list newServers&lt;br/&gt;
4.  Then createConnections(newServers) will be called in the parent class MemcachedConnection&lt;br/&gt;
5.  Depending on the log level you&amp;#39;ll see the message logged from getLogger().info(&amp;quot;Added %s to connect queue&amp;quot;, qa);&lt;br/&gt;
6.  Then the code will hang at the line:  &lt;a href=&quot;https://github.com/couchbase/spymemcached/blob/master/src/main/java/net/spy/memcached/MemcachedConnection.java#L155&quot;&gt;https://github.com/couchbase/spymemcached/blob/master/src/main/java/net/spy/memcached/MemcachedConnection.java#L155&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
qa.setSk(ch.register(selector, ops, qa));&lt;br/&gt;
&lt;br/&gt;
The code will hang until another packet is received on the channel.  This is the expected behavior in Java NIO.  The recommended practice is perform registrations from the same thread as selects.  In this case we&amp;#39;re registering from the thread that was monitoring for configuration changes, and selecting from the main run loop of the MemcachedConnection.&lt;br/&gt;
&lt;br/&gt;
See &lt;a href=&quot;http://stackoverflow.com/questions/1057224/thread-is-stuck-while-registering-channel-with-selector-in-java-nio-server&quot;&gt;http://stackoverflow.com/questions/1057224/thread-is-stuck-while-registering-channel-with-selector-in-java-nio-server&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;
It&amp;#39;s not a huge problem for us, because even in an idle situation we eventually receive a NOOP.  However, this combined with another bug I was hitting and made it really hard to troubleshoot.  I&amp;#39;d suggest we look at ways to avoid this problem.&lt;br/&gt;
&lt;br/&gt;
It&amp;#39;s also possible this is a bug in Spy and not the Java client, but I haven&amp;#39;t studied how createConnections() is used in other contexts within spy, so it might just be how we use it when reconfiguring from the java client.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment>tested on linux</environment>
            <key id="16600">JCBC-33</key>
            <summary>Reconfiguration strategy used in  TapConnectionProvider can lead to temporary deadlock of the ConfigurationProvider thread</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="mschoch">Marty Schoch</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Apr 2012 15:12:13 -0500</created>
                <updated>Tue, 13 Nov 2012 07:47:53 -0600</updated>
                                    <version>1.0.2</version>
                                <fixVersion>1.2</fixVersion>
                                <component>library</component>
                                <votes>0</votes>
                        <watches>0</watches>
                                                            <attachments>
                </attachments>
            <subtasks>
        </subtasks>
                <customfields>
                                                                                                                                                                                                                    <customfield id="customfield_10081" key="com.pyxis.greenhopper.jira:gh-global-rank">
                <customfieldname>Rank</customfieldname>
                <customfieldvalues>
                    <customfieldvalue>11050</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>
</channel>
</rss>