Ensure that AAE replication is tested using all possible failure cases
when dealing with the riak_kv_index_hashtrees and failed connections.
First, use intercepts on riak_kv_vnode and riak_kv_index_hashtree to
ensure that we simulate errors on a per node basis, starting with the
source cluster and moving to the sink. Simulate ownership transfers,
locked and incomplete hashtrees. Verify partitions generate the correct
error count, after using a bounded set of retries, and finally remove
all intercepts and verify that the fullsync completes and all keys have
been migrated between the two clusters.
- Add tests to validate that timeouts are working correctly for
all variations of list buckets and list keys (stream and non,
timeouts too-short and long-enough).
- add intercept in the right place to simulate delays for large
numbers of keys/buckets returned.
Intercepts provide the ability to easily and efficiently intercept
function calls. Giving the ability to change the code being executed
as well as affect local and global state.