Re: Unable to complete request: one or more nodes were unavailable.
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
Re: Unable to complete request: one or more nodes were unavailable.
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.comwrote: 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
Re: Unable to complete request: one or more nodes were unavailable.
That is entirely the problem. By having one node, but RF=3, you have created this exact problem. Each node can own, at most, one copy of each row of data, so the cluster is treating this (correctly) as a degraded runtime environment where no operation requiring CL 1 will always fail. LWT requires quorum #of nodes to be available. -Tupshin On Apr 16, 2014 5:45 AM, 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.comwrote: 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
Re: Unable to complete request: one or more nodes were unavailable.
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.comwrote: 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.comwrote: 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
Re: Unable to complete request: one or more nodes were unavailable.
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 consistencyhttp://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_tunable_consistency_c.html#concept_ds_f4h_hwx_zjfor 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.comwrote: 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.comwrote: 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.comwrote: 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
Re: Unable to complete request: one or more nodes were unavailable.
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 consistencyhttp://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_tunable_consistency_c.html#concept_ds_f4h_hwx_zjfor 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.comwrote: 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.comwrote: 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.comwrote: 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
Re: Unable to complete request: one or more nodes were unavailable.
Thanks Mark and Tuphsin. So on single node, if i set consistency level to SERIAL and create a keyspace with RF=1? Would that work? -Vivek On Wed, Apr 16, 2014 at 6:32 PM, Mark Reddy mark.re...@boxever.com wrote: 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.comwrote: 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 consistencyhttp://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_tunable_consistency_c.html#concept_ds_f4h_hwx_zjfor 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.comwrote: 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.comwrote: 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.comwrote: 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
Re: Unable to complete request: one or more nodes were unavailable.
It will work for correctness, but give you a very inaccurate view of performance,. -Tupshin On Apr 16, 2014 6:05 AM, Vivek Mishra mishra.v...@gmail.com wrote: Thanks Mark and Tuphsin. So on single node, if i set consistency level to SERIAL and create a keyspace with RF=1? Would that work? -Vivek On Wed, Apr 16, 2014 at 6:32 PM, Mark Reddy mark.re...@boxever.comwrote: 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.comwrote: 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 consistencyhttp://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_tunable_consistency_c.html#concept_ds_f4h_hwx_zjfor 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.comwrote: 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.comwrote: 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.comwrote: 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
Re: Unable to complete request: one or more nodes were unavailable.
Thanks, i think got the point.CAS doesn't make much sense on single node. -Vivek On Wed, Apr 16, 2014 at 6:37 PM, Tupshin Harper tups...@tupshin.com wrote: It will work for correctness, but give you a very inaccurate view of performance,. -Tupshin On Apr 16, 2014 6:05 AM, Vivek Mishra mishra.v...@gmail.com wrote: Thanks Mark and Tuphsin. So on single node, if i set consistency level to SERIAL and create a keyspace with RF=1? Would that work? -Vivek On Wed, Apr 16, 2014 at 6:32 PM, Mark Reddy mark.re...@boxever.comwrote: 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.comwrote: 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 consistencyhttp://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_tunable_consistency_c.html#concept_ds_f4h_hwx_zjfor 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.comwrote: 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.comwrote: 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
Unable to complete request: one or more nodes were unavailable.
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
Re: Unable to complete request: one or more nodes were unavailable.
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
Re: Unable to complete request: one or more nodes were unavailable.
hmm.. I get a similar output as yours yesterday when trying to truncate a table in a 3 nodes cluster where one of the node went offline. but the alternative that I have is that, instead of truncate, i just drop the table and recreate it. using cassandra version 2.0.6 by the way. On Wed, Apr 16, 2014 at 3:52 AM, 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