Re: Consistency Level One Question

2014-02-21 Thread Duncan Sands
Hi Graham, On 21/02/14 07:54, graham sanderson wrote: Note also; that reading at ONE there will be no read repair, since the coordinator does not know that another replica has stale data (remember at ONE, basically only one node is asked for the answer). I don't think this is right. My

Re: Consistency Level One Question

2014-02-21 Thread graham sanderson
My bad; should have checked the code: /** * This function executes local and remote reads, and blocks for the results: * * 1. Get the replica locations, sorted by response time according to the snitch * 2. Send a data request to the closest replica, and digest requests

Re: Consistency Level One Question

2014-02-21 Thread Drew Kutcharian
Thanks, this clears things up. On Feb 21, 2014, at 6:47 AM, Edward Capriolo edlinuxg...@gmail.com wrote: When you write at one, as soon as one node acknowledges the write the ack is returned to the client. This means if you quickly read from aome other node 1)you may get the result

Consistency Level One Question

2014-02-20 Thread Drew Kutcharian
Hi Guys, I wanted to get some clarification on what happens when you write and read at consistency level 1. Say I have a keyspace with replication factor of 3 and a table which will contain write-once/read-only wide rows. If I write at consistency level 1 and the write happens on node A and I

Re: Consistency Level One Question

2014-02-20 Thread graham sanderson
Writing at a consistency level of ONE means that your write will be acknowledged as soon as one replica confirms that it has made the write to memtable and the commit log (might not be quite synced to disk, but that’s a separate issue). All the writes are submitted in parallel, so it is very

Re: Consistency Level One Question

2014-02-20 Thread graham sanderson
Note also; that reading at ONE there will be no read repair, since the coordinator does not know that another replica has stale data (remember at ONE, basically only one node is asked for the answer). In practice for our use cases, we always write at LOCAL_QUORUM (failing the whole update if