basho/riak_kv — pull request #456 by jtuple (2012-12-19 21:41:35+00:00)
Title: Add AAE status subsystem + finalize AAE for Riak 1.3 release

This pull-request adds code to track the status of AAE as well as provides a console command for use with `riak-admin` to print out the status.

This pull-request also fixes a bug with AAE, where tree build times were not persisted to disk, and therefore restarting a node would delay tree expiration. Build times are now persisted.

Finally, this pull request removes some extremely spammy log messages that were already flagged with TODOs in the source. Commenting out these messages seems like the best approach for user-experience for Riak 1.3. We can re-consider for Riak 1.4.

The approach used by the status subsystem (recomputing everything on each request for status) is rather inefficient and can easily be optimized to both cache certain values as well as update other aggregate information in real-time as status events occur. However, this is largely premature optimization for a part of code that is not critical. The current solution is straightforward and easily handles things like changing bucket N-values, changing ring ownership, etc without any special code needed (such as to flush cached values in a cached approach). Simply put, let's ship a working solution now, consider optimizing for Riak 1.4.