What is the ConsistencyLevel value? Is it ConsistencyLevel.ANY?



* Write consistency levels make the following guarantees before reporting success to the client:

*   ANY          Ensure that the write has been written once somewhere, including possibly being hinted in a non-target node.

*   ONE          Ensure that the write has been written to at least 1 node's commit log and memory table

*   QUORUM       Ensure that the write has been written to <ReplicationFactor> / 2 + 1 nodes

*   LOCAL_QUORUM Ensure that the write has been written to <ReplicationFactor> / 2 + 1 nodes, within the local datacenter (requires NetworkTopologyStrategy)

*   EACH_QUORUM  Ensure that the write has been written to <ReplicationFactor> / 2 + 1 nodes in each datacenter (requires NetworkTopologyStrategy)

*   ALL          Ensure that the write is written to <code>&lt;ReplicationFactor&gt;</code> nodes before responding to the client.




发件人: Roshan Dawrani [mailto:roshandawrani@gmail.com]
发送时间: 2011125 10:57
收件人: user@cassandra.apache.org; hector-users@googlegroups.com
主题: Basic question on a write operation immediately followed by a read




I have a basic question - maybe silly too.


Say, I have a 1-node Cassandra setup (no replication, eventual consistency, etc) and I do an insert into a column family and then very close in time to the insert, I do a read on it for the same data.


Is there a possibility that my read operation may miss the data that just got inserted?


Since there are no DB transactions in Cassandra, are writes immediately seen to readers - even partially as they get written? 


Or can there be a delay sometimes due to flusing-to-SSTables, etc? 


Or, the writes are first in-memory and immediately visible to readers and flusing, etc is independent of all this and happens in background?


Blog: http://roshandawrani.wordpress.com/
Twitter: @roshandawrani
Skype: roshandawrani