basho/riak_kv — pull request #473 by jtuple (2013-01-29 02:10:31+00:00)
Title: Fix AAE to not attempt to repair non-divergent keys over and over

When AAE exchange determines keys are divergent, AAE triggers read
repair to repair divergent keys. This repairs the divergent replicas
as well as updates the respective AAE trees. However, if an AAE tree
is divergent from the underlying KV data, it it is possible that AAE
will try to repair keys that do not have divergent KV replicas. In
that case, read repair is never triggered, and therefore the AAE trees
are never updated. In this case, AAE attempts to repair the same
non-divergent keys over and over.

This commit changes AAE such that any key repair also triggers an
update of the respective AAE trees, regardless of if read repair was
triggered or not. As such, repair for non-divergent keys will be
triggered at most once.