Note: Technical preview
The active anti-entropy fullsync strategy, as it pertains to replication, is currently in technical preview mode. This means that it hasn’t been tested at large scale and that there may be issues that Riak must address prior to a general release. Please don’t use this feature on a production system without professional services or customer service engineering support.
Riak Enterprise Multi-Datacenter (MDC) Replication version 3 (Riak Enterprise version 1.4.0+) can now take advantage of Riak’s active anti-entropy (AAE) subsystem, which was first introduced as a technology preview in Riak 1.3.0.
AAE plus Replication uses existing Riak AAE hash trees stored in
LevelDB, so if AAE is already active, there is no additional startup
delay for enabling the
aae fullsync strategy. AAE can also be enabled
for the first time on a cluster, although some custom settings can
enhance performance in this case to help AAE trees be built more
quickly. See Configuration/AAE Tree Build Optimization.
- Riak Enterprise version 1.4.0 or later installed on source and sink clusters
- Riak Enterprise MDC Replication Version 3 enabled on source and sink clusters
- Both source and sink clusters must be of the same ring size
- AAE must be enabled on both source and sink clusters
riak_replsection of the
advanced.configconfiguration file must be set to
aaeon both source and sink clusters
- AAE trees must have been built on both source and sink clusters. In
the event that an AAE tree is not built on both the source and sink,
fullsync will default to the
keylistingfullsync strategy for that partition.
If you are using Riak Enterprise version 2.0, configuration is managed
advanced.config files on
each node. The semantics of the
advanced.config file are similar to
the formerly used
app.config file. For more information and for a list
of configurable parameters, see our documentation on Advanced Configuration.
Enable Active Anti-Entropy
To enable active anti-entropy (AAE) in Riak Enterprise, you must enable it in Riak in both source and sink clusters. If it is not
keylist strategy will be used.
To enable AAE in Riak KV:
anti_entropy = active
By default, it could take a couple of days for the cluster to build all of the necessary hash trees because the default build rate of trees is to build 1 partition per hour, per node. With a ring size of 256 and 5 nodes, that is 2 days.
Changing the rate of tree building can speed up this process, with the caveat that rebuilding a tree takes processing time from the cluster, and this should not be done without assessing the possible impact on get/put latencies for normal cluster operations. For a production cluster, we recommend leaving the default in place.
For a test cluster, the build rate can be changed in
riak.conf. If a
partition has not had its AAE tree built yet, it will default to using
keylist replication strategy. Instructions on these settings can
be found in the section directly below.
AAE Tree Build Optimization
You can speed up the build rate for AAE-related hash trees by adjusting
anti_entropy.tree.build_limit.number = 10
anti_entropy.tree.build_limit.per_timespan = 1h
anti_entropy.concurrency_limit = 10
Enable AAE Fullsync Replication Strategy
Finally, the replication fullsync strategy must be set to use
both source and sink clusters. If not, the
strategy will be used.
To enable AAE w/ Version 3 MDC Replication: