On Wed, Dec 15, 2010 at 6:33 AM, Daniel Woo <[email protected]> wrote:

> hi guys, want to ask you guys a question, when we write a datarum to a
> cluster with N=3, does Riak write the 3 nodes synchronized and verify the
> result >= W? or just write to a single node then gossip the change to the
> other two nodes asynchronuously? I guess it's synchronized because i don't
> understand how we can verify write is successful (>=W) if it's async, right?
>

R and W are guaranteed reads and writes with a response from the node in the
cluster. There's some info in the wiki, but it took me a second to find it:
http://wiki.basho.com/display/RIAK/Tunable+CAP+Controls+in+Riak#TunableCAPControlsinRiak-WValueandWriteFaultTolerance

If your W is less than N, you've still told Riak that you want N copies of
the data, but you only care that W nodes responded that the write was
successful. Hopefully that data will get to the other nodes in time, but if
it doesn't then there are mechanisms in place to make sure that it does.
Check out the Replication <http://wiki.basho.com/display/RIAK/Replication> page
as well as the Hinted
Handoff<http://wiki.basho.com/display/RIAK/Riak+Glossary#RiakGlossary-HintedHandoff>
for
more info.

The client connects to Riak and issues a write request. Riak then issues
write requests to N nodes and waits for W of them to respond before it tells
the client that the write succeeded.

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

Reply via email to