Configuring:
Legacy Active Anti-Entropy

The configuration for the legacy AAE is kept in the riak.conf configuration file.

Validate Settings

Once your configuration is set, you can verify its correctness by running the riak command-line tool:

riak chkconfig

riak.conf Settings

Configurable parameters for Riak’s legacy active anti-entropy subsystem.

Config Description Default
anti_entropy How Riak will repair out-of-sync keys. If set to active, out-of-sync keys will be repaired in the background; if set to passive, out-of-sync keys are only repaired on read; and if set to active-debug, verbose debugging information will be output. active
search.anti_entropy.throttle Whether the distributed throttle for Active Anti-Entropy is enabled. on
search.anti_entropy.throttle.$tier.solrq_queue_length Sets the throttling tiers for Active Anti-Entropy. Each tier is a minimum vnode mailbox size and a time-delay that the throttle should observe at that size and above. For example, anti_entropy.throttle.tier1.mailbox_size = 0, anti_entropy.throttle.tier1.delay = 0ms, anti_entropy.throttle.tier2.mailbox_size = 40, anti_entropy.throttle.tier2.delay = 5ms, etc. If configured, there must be a tier which includes a mailbox size of 0. Both .mailbox_size and .delay must be set for each tier.
search.anti_entropy.throttle.$tier.delay See the description for anti_entropy.throttle.$tier.mailbox_size above.
anti_entropy.bloomfilter Bloom filters are highly effective in shortcutting data queries that are destined to not find the requested key, though they tend to entail a small performance cost. on
anti_entropy.max_open_files 20
anti_entropy.write_buffer_size The LevelDB options used by Active Anti-Entropy to generate the LevelDB-backed on-disk hashtrees. 4MB
anti_entropy.data_dir The directory where AAE hash trees are stored. ./data/anti_entropy
anti_entropy.trigger_interval The tick determines how often the Active Anti-Entropy manager looks for work to do (building/expiring trees, triggering exchanges, etc). Lowering this value will speed up the rate at which all replicas are synced across the cluster. Increasing the value is not recommended. 15s
anti_entropy.concurrency_limit Limit how many Active Anti-Entropy exchanges or builds can happen concurrently. 2
anti_entropy.tree.expiry Determines how often hash trees are expired after being built. Periodically expiring a hash tree ensures that the on-disk hash tree data stays consistent with the actual K/V backend data. It also helps Riak identify silent disk failures and bit rot. However, expiration is not needed for normal active anti-entropy operations and should be infrequent for performance reasons. The time is specified in milliseconds. 1w
anti_entropy.tree.build_limit.per_timespan 1h
anti_entropy.tree.build_limit.number Restrict how fast AAE can build hash trees. Building the tree for a given partition requires a full scan over that partition's data. Once built, trees stay built until they are expired. .number is the number of builds; .per_timespan is the amount of time in which that number of builds occurs. 1
anti_entropy.use_background_manager Whether AAE is to use a background process to limit AAE tree rebuilds. If set to on, this will help to prevent system response degradation under times of heavy load from multiple background tasks that contend for the same system resources; setting this parameter to off can cut down on system resource usage. off