basho/riak_pipe — pull request #64 by beerriot (2013-01-13 20:47:36+00:00)
Title: assume handoff if vnode exits 'normal' during queue requeuest

The `pipe_verify_handoff_blocking` test in basho/riak_test#154 demonstrated
that the monitor used by `riak_pipe_vnode:queue_work_send` may fire while
handoff is taking place. This situation is further described in
#63.

This PR addresses the problem by first checking whether the Reason
for the vnode's exit was `normal`. If it was not normal, the
`vnode_down` error is returned as before. If it was normal, then it is
assumed that handoff happened, and the monitor is moved to the new
vnode, as indicated by `riak_core_ring:next_owner/2`.