[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.... |