basho/riak_kv — pull request #763 by evanmcc (2013-12-14 06:01:23+00:00)
Title: Make vnode_status overload safe

- add overload for vnode_status commands
- add handling for overload messages

This stems from the stats lockup issue. While this will work on its own, it will occasionally break stats without the tagging stuff in https://github.com/basho/riak_core/pull/482, so these should likely be reviewed as a pair.

Testing notes:

I tested this two different ways:
- using `meck:expect(riak_kv_vnode, vnode_status, fun(_) -> recieve ok -> ok end end).` which simulates the vnode command getting dropped silently by overload
- setting `{vnode_overload_threshold, `},` in riak_core's app.config section or advanced.config

after 10 or so seconds you should see `riak-admin status | grep level` and `curl -s localhost:10018/stats | grep level` start returning `"stale: 0"` for the leveldb block read errors.