basho/riak_kv — pull request #799 by jtuple (2014-01-09 23:58:35+00:00)
Title: Change AAE to pass internal_db option to LevelDB

This pull-request changes AAE to use the `internal_db` option for it's LevelDB instances that enables different write throttling treatment. This feature was backported from develop/2.0 and relies upon basho/leveldb#116 and basho/eleveldb#91

On Riak 1.4, a fresh Riak node/cluster takes several hours to build initial AAE trees. Testing the impact of this write throttle during builds is important, but so is testing the impact after builds have finished and AAE is running in normal realtime/exchange phase.

To more quickly test the post-build phase on an empty node, do the following:

1. Start up Riak as normal.
2. Attach to Riak using `riak attach`.
3. From the console, run the following to allow AAE to build trees quickly:
```erlang
application:set_env(riak_kv, anti_entropy_build_limit, {100, 1000}).
application:set_env(riak_kv, anti_entropy_concurrency, 100).
application:set_env(riak_kv, anti_entropy_tick, 1000).
```

4. Wait until all AAE trees are built. This should only take a few seconds. Use `riak-admin aae_status` to verify.
5. Restart the node to restore default AAE settings.
6. Perform normal benchmarking/testing as usual.