The Paxos protocol used for CAS operations will always use at least a consistency level effectively equivalent to QUORUM (called SERIAL) when writing, even if you explicitly specify a lower level, e.g. ANY or ONE. Setting consistency level to ALL will make the write execute on all replicas if the condition is met, but the comparison itself is executed against a QUORUM number of nodes. As a result, a write operation with ALL consistency level that fails to meet the specified check may not throw an Exception, even if some replica nodes are not accessible.
On Wed, Apr 16, 2014 at 2:00 PM, Tupshin Harper <tups...@tupshin.com> wrote: > No, but you do need a quorum of nodes. > > > http://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_config_consistency_c.html > > SERIAL > A write must be written conditionally to the commit log and memory table > on a quorum of replica nodes. > > Used to achievelinearizable > consistency<http://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_tunable_consistency_c.html#concept_ds_f4h_hwx_zj>for > lightweight transactions by preventing unconditional updates. > On Apr 16, 2014 5:56 AM, "Vivek Mishra" <mishra.v...@gmail.com> wrote: > >> Thanks Mark. does this mean with RF=3, all 3 nodes must be up and running >> for CAS updates? >> >> -Vivek >> >> >> On Wed, Apr 16, 2014 at 6:22 PM, Mark Reddy <mark.re...@boxever.com>wrote: >> >>> create keyspace twitter with replication = {'class':'SimpleStrategy', >>>> 'replication_factor' : 3} >>> >>> >>> Your replication factor is your issue here, you have a single node and a >>> RF=3. For a single node setup your RF should be 1. You can find more info >>> about replication here: >>> http://www.datastax.com/documentation/cassandra/2.0/cassandra/architecture/architectureDataDistributeReplication_c.html >>> >>> >>> On Wed, Apr 16, 2014 at 1:44 PM, Vivek Mishra <mishra.v...@gmail.com>wrote: >>> >>>> Hi, >>>> Mine is a simple case. Running on single node only. Keyspace is: >>>> >>>> create keyspace twitter with replication = {'class':'SimpleStrategy', >>>> 'replication_factor' : 3} >>>> >>>> -Vivek >>>> >>>> >>>> On Wed, Apr 16, 2014 at 1:27 AM, Tupshin Harper <tups...@tupshin.com>wrote: >>>> >>>>> Please provide your keyspace definition, and the output of "nodetool >>>>> ring" >>>>> >>>>> -Tupshin >>>>> On Apr 15, 2014 3:52 PM, "Vivek Mishra" <mishra.v...@gmail.com> wrote: >>>>> >>>>>> Hi, >>>>>> I am trying Cassandra light weight transaction support with Cassandra >>>>>> 2.0.4 >>>>>> >>>>>> cqlsh:twitter> create table user(user_id text primary key, namef >>>>>> text); >>>>>> cqlsh:twitter> insert into user(user_id,namef) values('v','ff') if >>>>>> not exists; >>>>>> >>>>>> *Unable to complete request: one or more nodes were unavailable.* >>>>>> >>>>>> Any suggestions? >>>>>> >>>>>> -Vivek >>>>>> >>>>> >>>> >>> >>