jwest at basho.com
Tue Jun 17 13:48:37 EDT 2014
On Tue, Jun 17, 2014 at 9:46 AM, István <leccine at gmail.com> wrote:
> Is there any reason to let AAE running if we don't mutate the data in
Yes. If your data is infrequently accessed after being written then no
read-repair will take place. While values may not conflict, values may be
missing (e.g. a write only successfully reached 2 of 3 nodes) or corrupt
(bit rot on disk).
> Is there any way knowing what is causing the difference according to
> AAE between two nodes?
This information is not currently exposed, unfortunately. Given the minimal
number of repaired keys its likely a write failed to one node or raced with
an AAE exchange between two pairs of nodes.
> I was thinking about how this could potentially
> happen and I am wondering if the Java client pb interface supports R
> and W values, so I could make sure that a write goes in with W=(the
> number of nodes we have).
While this is possible, although you'd want to set W=N, where N=number of
replicas (n_val), it will affect the performance of your writes -- although
that may not matter given the boost from turning AAE off. In the end, it is
the operators decision whether or not the storage and performance overhead
of AAE is worth the added safety*. If you are frequently accessing 100% of
your data set then there is less need to increase the W per request or use
AAE. However, many data sets have a large amount of data that is
infrequently accessed and the added safety is worth the cost.
Hope that helps. Cheers,
* In the upcoming Riak 2.0 release, in order to write data to buckets w/
the consistent property set to true enabling AAE will be required
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the riak-users