[NCBC-97] Stats call doesn't handle I/O error Created: 20/Aug/12  Updated: 05/Oct/12

Status: Open
Project: Couchbase .NET client library
Component/s: library
Affects Version/s: 1.1.6
Fix Version/s: 1.3

Type: Bug Priority: Major
Reporter: Tim Smith Assignee: John Zablocki
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment: Couchbase Client 1.1.6, server 1.8.0 build 55


 Description   
Repeat as follows:

- Call to MemcachedClient.Stats(type)
- This builds a StatsOperation for each node and asynchronously performs MemcachedNode.Execute(cmd)
- An I/O error occurs, so StatsOperation leaves its member "results" as null and Execute returns false to indicate an error
- MemcachedClient ignores the returned Boolean value from EndInvoke and puts a null dictionary into its own set of results
- ServerStats.GetRaw(key) dies trying to select into the missing dictionary

Plausible fix: check the status from EndInvoke and don't stick anything in the dictionary if there was an error.

 Comments   
Comment by Tim Smith [ 20/Aug/12 ]
Example of how it's called: mc.Stats().GetRaw("uptime"); result is NullReferenceException....
Generated at Sun May 19 14:09:28 CDT 2013 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.