Ivaylo,

If you're using R=1 and W=quorum then this is entirely possible. Given
these settings an incoming write is only guaranteed to hit
floor(N/2+1) nodes. If N=3, that would be 2 nodes. However, with R=1,
you are only waiting for 1 reply before responding, which may not be
one of the 2 nodes in the quorum. Reads/writes eventually propagate to
all replicas though, and read-repair is initiated if necessary; hence
why the results are fine after a delay. Standard eventual consistency.

To prevent this behavior, you need to have R+W > N. R=1, W=all is one
N-independent option. Or, in the case of N=3, R=1, W=3; R=2, W=2; and
R=3, W=1 would all be valid options depending on your desired
read/write latency requirements.

Regards,
Joe

On Thu, Oct 20, 2011 at 2:26 PM, Ivaylo Panitchkov
<[email protected]> wrote:
> Hello,
>
> We are close to production and noticed that from time to time under heavy
> load newly created objects are not available immediately after their
> creation. I'm running Riak 1.0.0.rc2 under Ubuntu 11.04. allow_mult: false,
> last_write_wins: true, r: 'one', w: 'quorum'. Cluster of three machines with
> 1GB RAM each. The same situation on Joyent's smart machine. If there is a
> slight delay between the actual creation and the next read everything is ok.
>
> Ivaylo
>
>
> _______________________________________________
> riak-users mailing list
> [email protected]
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>



--
Joseph Blomstedt <[email protected]>
Software Engineer
Basho Technologies, Inc.
http://www.basho.com/



-- 
Joseph Blomstedt <[email protected]>
Software Engineer
Basho Technologies, Inc.
http://www.basho.com/

_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to