<!-- 
RSS generated by JIRA (5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9) at Tue Jun 18 00:10:01 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/NCBC-81/NCBC-81.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>[NCBC-81] ExecuteGet() for DictionaryType on multiple keys does not throw a exception if it is not able to connect to a node</title>
                <link>http://www.couchbase.com/issues/browse/NCBC-81</link>
                <project id="10046" key="NCBC">Couchbase .NET client library</project>
                        <description>For development purposes i&amp;#39;m using a local Couchbase server installation with a single node. So i guess that turning off the CouchbaseServer service means the whole cluster in my case. &lt;br/&gt;
Here&amp;#39;s a simple demo code:&lt;br/&gt;
&lt;br/&gt;
System.Configuration.Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); &lt;br/&gt;
ICouchbaseClientConfiguration section = cfg.GetSection(&amp;quot;Couchbase&amp;quot;) as ICouchbaseClientConfiguration;&lt;br/&gt;
&lt;br/&gt;
using (CouchbaseClient client = new CouchbaseClient(section)) &lt;br/&gt;
{ &lt;br/&gt;
IOperationResult res = client.ExecuteStore(Enyim.Caching.Memcached.StoreMode.Set, &amp;quot;Test1&amp;quot;, 1); &lt;br/&gt;
Console.WriteLine(&amp;quot;Set1 Success:{0} StatusCode:{1} Message:{2}&amp;quot;, res.Success, res.StatusCode, res.Message);&lt;br/&gt;
&lt;br/&gt;
res = client.ExecuteStore(Enyim.Caching.Memcached.StoreMode.Set, &amp;quot;Test2&amp;quot;, 2); &lt;br/&gt;
Console.WriteLine(&amp;quot;Set2 Success:{0} StatusCode:{1} Message:{2}&amp;quot;, res.Success, res.StatusCode, res.Message);&lt;br/&gt;
&lt;br/&gt;
IDictionary&amp;lt;string, IGetOperationResult&amp;gt; multigetRes = client.ExecuteGet(new string[] { &amp;quot;Test1&amp;quot;, &amp;quot;Test2&amp;quot; }); &lt;br/&gt;
Console.WriteLine(&amp;quot;Dictionary count: {0}&amp;quot;, multigetRes.Count);&lt;br/&gt;
&lt;br/&gt;
foreach (KeyValuePair&amp;lt;string, IGetOperationResult&amp;gt; kvp in multigetRes) &lt;br/&gt;
{ &lt;br/&gt;
Console.WriteLine(&amp;quot;Get {0} Success:{1}, StatusCode: {2} Message: {3}&amp;quot;, kvp.Key, kvp.Value.Success, kvp.Value.StatusCode, kvp.Value.Message); &lt;br/&gt;
} &lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
Output with CouchbaseServer service on: &lt;br/&gt;
Set1 Success:True StatusCode:0 Message: &lt;br/&gt;
Set2 Success:True StatusCode:0 Message: &lt;br/&gt;
Dictionary count: 2 &lt;br/&gt;
Get Test1 Success:True, StatusCode: Message: &lt;br/&gt;
Get Test2 Success:True, StatusCode: Message:&lt;br/&gt;
&lt;br/&gt;
Output with CouchbaseServer service off: &lt;br/&gt;
Set1 Success:False StatusCode: Message:Failed to locate node &lt;br/&gt;
Set2 Success:False StatusCode: Message:Failed to locate node &lt;br/&gt;
Dictionary count: 0&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
Singular gets result in the correct exception error message:&lt;br/&gt;
Modified demo: &lt;br/&gt;
System.Configuration.Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); &lt;br/&gt;
ICouchbaseClientConfiguration section = cfg.GetSection(&amp;quot;Couchbase&amp;quot;) as ICouchbaseClientConfiguration; &lt;br/&gt;
using (CouchbaseClient client = new CouchbaseClient(section)) &lt;br/&gt;
{ &lt;br/&gt;
IOperationResult res = client.ExecuteStore(Enyim.Caching.Memcached.StoreMode.Set, &amp;quot;Test1&amp;quot;, 1); &lt;br/&gt;
Console.WriteLine(&amp;quot;Set1 Success:{0} StatusCode:{1} Message:{2}&amp;quot;, res.Success, res.StatusCode, res.Message); &lt;br/&gt;
res = client.ExecuteStore(Enyim.Caching.Memcached.StoreMode.Set, &amp;quot;Test2&amp;quot;, 2); &lt;br/&gt;
Console.WriteLine(&amp;quot;Set2 Success:{0} StatusCode:{1} Message:{2}&amp;quot;, res.Success, res.StatusCode, res.Message); &lt;br/&gt;
IDictionary&amp;lt;string, IGetOperationResult&amp;gt; multigetRes = client.ExecuteGet(new string[] { &amp;quot;Test1&amp;quot;, &amp;quot;Test2&amp;quot; }); &lt;br/&gt;
Console.WriteLine(&amp;quot;Dictionary count: {0}&amp;quot;, multigetRes.Count); &lt;br/&gt;
foreach (KeyValuePair&amp;lt;string, IGetOperationResult&amp;gt; kvp in multigetRes) &lt;br/&gt;
{ &lt;br/&gt;
Console.WriteLine(&amp;quot;MultiGet {0} Success:{1}, StatusCode: {2} Message: {3}&amp;quot;, kvp.Key, kvp.Value.Success, kvp.Value.StatusCode, kvp.Value.Message); &lt;br/&gt;
} &lt;br/&gt;
res = client.ExecuteGet(&amp;quot;Test1&amp;quot;); &lt;br/&gt;
Console.WriteLine(&amp;quot;Get1 Success:{0} StatusCode:{1} Message:{2}&amp;quot;, res.Success, res.StatusCode, res.Message); &lt;br/&gt;
res = client.ExecuteGet(&amp;quot;Test2&amp;quot;); &lt;br/&gt;
Console.WriteLine(&amp;quot;Get2 Success:{0} StatusCode:{1} Message:{2}&amp;quot;, res.Success, res.StatusCode, res.Message); &lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
Output: &lt;br/&gt;
Set1 Success:False StatusCode: Message:Failed to locate node &lt;br/&gt;
Set2 Success:False StatusCode: Message:Failed to locate node &lt;br/&gt;
Dictionary count: 0 &lt;br/&gt;
Get1 Success:False StatusCode: Message:Unable to locate node &lt;br/&gt;
Get2 Success:False StatusCode: Message:Unable to locate node</description>
                <environment></environment>
            <key id="18088">NCBC-81</key>
            <summary>ExecuteGet() for DictionaryType on multiple keys does not throw a exception if it is not able to connect to a node</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>
                                <assignee username="ingenthr">Matt Ingenthron</assignee>
                                <reporter username="alex">Alex Ma</reporter>
                        <labels>
                    </labels>
                <created>Thu, 28 Jun 2012 15:41:56 -0500</created>
                <updated>Wed, 29 May 2013 16:20:30 -0500</updated>
                                    <version>1.1.6</version>
                                <fixVersion>1.3</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>10012</customfieldvalue>
                </customfieldvalues>
            </customfield>
                                                                                                            </customfields>
    </item>
</channel>
</rss>