columns disappearing intermittently

2013-07-03 Thread Blake Eggleston
Hi All,

We're having a problem with our cassandra cluster and are at a loss as to the 
cause.

We have what appear to be columns that disappear for a little while, then 
reappear. The rest of the row is returned normally during this time. This is, 
of course, very disturbing, and is wreaking havoc with our application.

A bit more info about what's happening:

We are repeatedly executing the same query against our cluster. Every so often, 
one of the columns will disappear from the row and will remain gone for some 
time. Then after continually executing the same query, the column will come 
back. The queries are being executed against a 3 node cluster, with a 
replication factor of 3, and all reads and writes are done with a quorum 
consistency level.

We upgraded from cassandra 1.1.12 to 1.2.6 last week, but only started seeing 
issues this morning.

Has anyone had a problem like this before, or have any idea what might be 
causing it?

Re: Problem with libcassandra

2013-07-03 Thread Shubham Mittal
This is the gdb output

[Thread debugging using libthread_db enabled]
terminate called after throwing an instance of
'org::apache::cassandra::InvalidRequestException'
  what():  Default TException.

Program received signal SIGABRT, Aborted.
0x770a0b25 in raise () from /lib/libc.so.6




On Wed, Jul 3, 2013 at 8:38 AM, Jeremiah D Jordan jeremiah.jor...@gmail.com
 wrote:

 If you are using 1.2, I would checkout https://github.com/mstump/libcql

 -Jeremiah

 On Jul 2, 2013, at 5:18 AM, Shubham Mittal smsmitta...@gmail.com wrote:

 I am trying to run below code, but it gives this error. It compiles
 without any errors.  Kindly help me.
 (source of the code :
 http://posulliv.github.io/2011/02/27/libcassandra-sec-indexes/)

 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.
 Aborted


 #include string.h
 #include sstream
 #include iostream
 #include stdlib.h
 #include set
 #include string
 #include stdio.h
 #include vector

 #include libcassandra/cassandra_factory.h
 #include libcassandra/cassandra.h
 #include libcassandra/column_family_definition.h
 #include libcassandra/keyspace.h
 #include libcassandra/keyspace_definition.h

 using namespace std;
 using namespace libcassandra;

 static string host(127.0.0.1);
 static int port= 9160;

 int main()
 {

 CassandraFactory cf(host, port);
 tr1::shared_ptrCassandra c(cf.create());

 KeyspaceDefinition ks_def;
 ks_def.setName(demo);
 c-createKeyspace(ks_def);

 ColumnFamilyDefinition cf_def;
 cf_def.setName(users);
 cf_def.setKeyspaceName(ks_def.getName());

 ColumnDefinition name_col;
 name_col.setName(full_name);
 name_col.setValidationClass(UTF8Type);

 ColumnDefinition sec_col;
 sec_col.setName(birth_date);
 sec_col.setValidationClass(LongType);
 sec_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 ColumnDefinition third_col;
 third_col.setName(state);
 third_col.setValidationClass(UTF8Type);
 third_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 cf_def.addColumnMetadata(name_col);
 cf_def.addColumnMetadata(sec_col);
 cf_def.addColumnMetadata(third_col);

 c-setKeyspace(ks_def.getName());
 c-createColumnFamily(cf_def);

 return 0;
 }





Re: Problem with libcassandra

2013-07-03 Thread Shubham Mittal
no Jordan, the cassandra version I have is Cassandra 1.1.12


On Wed, Jul 3, 2013 at 5:21 PM, Shubham Mittal smsmitta...@gmail.comwrote:

 This is the gdb output

 [Thread debugging using libthread_db enabled]
 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.

 Program received signal SIGABRT, Aborted.
 0x770a0b25 in raise () from /lib/libc.so.6




 On Wed, Jul 3, 2013 at 8:38 AM, Jeremiah D Jordan 
 jeremiah.jor...@gmail.com wrote:

 If you are using 1.2, I would checkout https://github.com/mstump/libcql

 -Jeremiah

 On Jul 2, 2013, at 5:18 AM, Shubham Mittal smsmitta...@gmail.com wrote:

 I am trying to run below code, but it gives this error. It compiles
 without any errors.  Kindly help me.
 (source of the code :
 http://posulliv.github.io/2011/02/27/libcassandra-sec-indexes/)

 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.
 Aborted


 #include string.h
 #include sstream
 #include iostream
 #include stdlib.h
 #include set
 #include string
 #include stdio.h
 #include vector

 #include libcassandra/cassandra_factory.h
 #include libcassandra/cassandra.h
 #include libcassandra/column_family_definition.h
 #include libcassandra/keyspace.h
 #include libcassandra/keyspace_definition.h

 using namespace std;
 using namespace libcassandra;

 static string host(127.0.0.1);
 static int port= 9160;

 int main()
 {

 CassandraFactory cf(host, port);
 tr1::shared_ptrCassandra c(cf.create());

 KeyspaceDefinition ks_def;
 ks_def.setName(demo);
 c-createKeyspace(ks_def);

 ColumnFamilyDefinition cf_def;
 cf_def.setName(users);
 cf_def.setKeyspaceName(ks_def.getName());

 ColumnDefinition name_col;
 name_col.setName(full_name);
 name_col.setValidationClass(UTF8Type);

 ColumnDefinition sec_col;
 sec_col.setName(birth_date);
 sec_col.setValidationClass(LongType);
 sec_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 ColumnDefinition third_col;
 third_col.setName(state);
 third_col.setValidationClass(UTF8Type);
 third_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 cf_def.addColumnMetadata(name_col);
 cf_def.addColumnMetadata(sec_col);
 cf_def.addColumnMetadata(third_col);

 c-setKeyspace(ks_def.getName());
 c-createColumnFamily(cf_def);

 return 0;
 }






Re: columns disappearing intermittently

2013-07-03 Thread Eric Stevens
I wonder if one particular node is having trouble; when you notice the
missing column, what happens if you execute the read manually from cqlsh or
cassandra-cli independently directly on each node?


On Wed, Jul 3, 2013 at 2:00 AM, Blake Eggleston bl...@grapheffect.comwrote:

 Hi All,

 We're having a problem with our cassandra cluster and are at a loss as to
 the cause.

 We have what appear to be columns that disappear for a little while, then
 reappear. The rest of the row is returned normally during this time. This
 is, of course, very disturbing, and is wreaking havoc with our application.

 A bit more info about what's happening:

 We are repeatedly executing the same query against our cluster. Every so
 often, one of the columns will disappear from the row and will remain gone
 for some time. Then after continually executing the same query, the column
 will come back. The queries are being executed against a 3 node cluster,
 with a replication factor of 3, and all reads and writes are done with a
 quorum consistency level.

 We upgraded from cassandra 1.1.12 to 1.2.6 last week, but only started
 seeing issues this morning.

 Has anyone had a problem like this before, or have any idea what might be
 causing it?


Re: Problem with libcassandra

2013-07-03 Thread Shubham Mittal
Hey,

I found out that the problem is caused by this line :
c-createKeyspace(ks_def);

because the below code works fine.

#include string.h
#include sstream
#include iostream
#include stdlib.h
#include set
#include string
#include stdio.h
#include vector

#include libcassandra/cassandra_factory.h
#include libcassandra/cassandra.h
#include libcassandra/column_family_definition.h
#include libcassandra/keyspace.h
#include libcassandra/keyspace_definition.h

using namespace std;
using namespace libcassandra;

static string host(127.0.0.1);
static int port= 9160;

int main()
{

CassandraFactory cf(host, port);
tr1::shared_ptrCassandra c(cf.create());

KeyspaceDefinition ks_def;
ks_def.setName(demo);
return 0;
}


On Wed, Jul 3, 2013 at 5:22 PM, Shubham Mittal smsmitta...@gmail.comwrote:

 no Jordan, the cassandra version I have is Cassandra 1.1.12


 On Wed, Jul 3, 2013 at 5:21 PM, Shubham Mittal smsmitta...@gmail.comwrote:

 This is the gdb output

 [Thread debugging using libthread_db enabled]
 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.

 Program received signal SIGABRT, Aborted.
 0x770a0b25 in raise () from /lib/libc.so.6




 On Wed, Jul 3, 2013 at 8:38 AM, Jeremiah D Jordan 
 jeremiah.jor...@gmail.com wrote:

 If you are using 1.2, I would checkout https://github.com/mstump/libcql

 -Jeremiah

 On Jul 2, 2013, at 5:18 AM, Shubham Mittal smsmitta...@gmail.com
 wrote:

 I am trying to run below code, but it gives this error. It compiles
 without any errors.  Kindly help me.
 (source of the code :
 http://posulliv.github.io/2011/02/27/libcassandra-sec-indexes/)

 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.
 Aborted


 #include string.h
 #include sstream
 #include iostream
 #include stdlib.h
 #include set
 #include string
 #include stdio.h
 #include vector

 #include libcassandra/cassandra_factory.h
 #include libcassandra/cassandra.h
 #include libcassandra/column_family_definition.h
 #include libcassandra/keyspace.h
 #include libcassandra/keyspace_definition.h

 using namespace std;
 using namespace libcassandra;

 static string host(127.0.0.1);
 static int port= 9160;

 int main()
 {

 CassandraFactory cf(host, port);
 tr1::shared_ptrCassandra c(cf.create());

 KeyspaceDefinition ks_def;
 ks_def.setName(demo);
 c-createKeyspace(ks_def);

 ColumnFamilyDefinition cf_def;
 cf_def.setName(users);
 cf_def.setKeyspaceName(ks_def.getName());

 ColumnDefinition name_col;
 name_col.setName(full_name);
 name_col.setValidationClass(UTF8Type);

 ColumnDefinition sec_col;
 sec_col.setName(birth_date);
 sec_col.setValidationClass(LongType);
 sec_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 ColumnDefinition third_col;
 third_col.setName(state);
 third_col.setValidationClass(UTF8Type);
 third_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 cf_def.addColumnMetadata(name_col);
 cf_def.addColumnMetadata(sec_col);
 cf_def.addColumnMetadata(third_col);

 c-setKeyspace(ks_def.getName());
 c-createColumnFamily(cf_def);

 return 0;
 }







Re: Problem with libcassandra

2013-07-03 Thread Alexis Rodríguez
That repo for libcassandra works for cassandra 0.7.x due to changes in the
thrift interface we have faced some problems in the past.

May be you can take a look to my fork of libcassandra https://github.com/axs
-mvd/libcassandra that we are using with cassandra 1.1.11.

Besides that, I recommend that you use the cassandra-cli to create
keyspacesand column families because that operations fails if some of
your nodes is
down, so by using cassandra-cli you force, in a way, the supervision of a
human being :D.

good luck!


On Wed, Jul 3, 2013 at 9:12 AM, Shubham Mittal smsmitta...@gmail.comwrote:

 Hey,

 I found out that the problem is caused by this line :
 c-createKeyspace(ks_def);

 because the below code works fine.

 #include string.h
 #include sstream
 #include iostream
 #include stdlib.h
 #include set
 #include string
 #include stdio.h
 #include vector

 #include libcassandra/cassandra_factory.h
 #include libcassandra/cassandra.h
 #include libcassandra/column_family_definition.h
 #include libcassandra/keyspace.h
 #include libcassandra/keyspace_definition.h

 using namespace std;
 using namespace libcassandra;

 static string host(127.0.0.1);
 static int port= 9160;

 int main()
 {

 CassandraFactory cf(host, port);
 tr1::shared_ptrCassandra c(cf.create());

 KeyspaceDefinition ks_def;
 ks_def.setName(demo);
 return 0;
 }


 On Wed, Jul 3, 2013 at 5:22 PM, Shubham Mittal smsmitta...@gmail.comwrote:

 no Jordan, the cassandra version I have is Cassandra 1.1.12


 On Wed, Jul 3, 2013 at 5:21 PM, Shubham Mittal smsmitta...@gmail.comwrote:

 This is the gdb output

 [Thread debugging using libthread_db enabled]
 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.

 Program received signal SIGABRT, Aborted.
 0x770a0b25 in raise () from /lib/libc.so.6




 On Wed, Jul 3, 2013 at 8:38 AM, Jeremiah D Jordan 
 jeremiah.jor...@gmail.com wrote:

 If you are using 1.2, I would checkout https://github.com/mstump/libcql

 -Jeremiah

 On Jul 2, 2013, at 5:18 AM, Shubham Mittal smsmitta...@gmail.com
 wrote:

 I am trying to run below code, but it gives this error. It compiles
 without any errors.  Kindly help me.
 (source of the code :
 http://posulliv.github.io/2011/02/27/libcassandra-sec-indexes/)

 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.
 Aborted


 #include string.h
 #include sstream
 #include iostream
 #include stdlib.h
 #include set
 #include string
 #include stdio.h
 #include vector

 #include libcassandra/cassandra_factory.h
 #include libcassandra/cassandra.h
 #include libcassandra/column_family_definition.h
 #include libcassandra/keyspace.h
 #include libcassandra/keyspace_definition.h

 using namespace std;
 using namespace libcassandra;

 static string host(127.0.0.1);
 static int port= 9160;

 int main()
 {

 CassandraFactory cf(host, port);
 tr1::shared_ptrCassandra c(cf.create());

 KeyspaceDefinition ks_def;
 ks_def.setName(demo);
 c-createKeyspace(ks_def);

 ColumnFamilyDefinition cf_def;
 cf_def.setName(users);
 cf_def.setKeyspaceName(ks_def.getName());

 ColumnDefinition name_col;
 name_col.setName(full_name);
 name_col.setValidationClass(UTF8Type);

 ColumnDefinition sec_col;
 sec_col.setName(birth_date);
 sec_col.setValidationClass(LongType);
 sec_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 ColumnDefinition third_col;
 third_col.setName(state);
 third_col.setValidationClass(UTF8Type);
 third_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 cf_def.addColumnMetadata(name_col);
 cf_def.addColumnMetadata(sec_col);
 cf_def.addColumnMetadata(third_col);

 c-setKeyspace(ks_def.getName());
 c-createColumnFamily(cf_def);

 return 0;
 }








Opscenter access roles

2013-07-03 Thread cscetbon.ext
Hi,

When we connect to Opscenter using an account, we do not see any disconnect 
button to connect under another account.

Thanks
--
Cyril SCETBON


_

Ce message et ses pieces jointes peuvent contenir des informations 
confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce 
message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou 
falsifie. Merci.

This message and its attachments may contain confidential or privileged 
information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete 
this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been 
modified, changed or falsified.
Thank you.



column sort order and reversed sort performance question

2013-07-03 Thread Hiller, Dean
We loaded 5 million columns into a single row and when accessing the first 30k 
and last 30k columns we saw no performance difference.  We tried just loading 2 
rows from the beginning and end and saw no performance difference.  I am sure 
reverse sort is there for a reason though.  In what context do you actually see 
a performance difference with reverse sort???

5 million columns took us a while to load into a single row(in fact, a bit 
slower than loading 10 million columns into 100 rows took on 4 node cluster) 
and we could load more if needed, but we don't anticipate going beyond 10 
million columns in a row at this point.

Thanks,
Dean


Re: schema management

2013-07-03 Thread Franc Carter
On Wed, Jul 3, 2013 at 2:06 AM, Silas Smith silas.sm...@gmail.com wrote:

 Franc,
 We manage our schema through the Astyanax driver. It runs in a listener at
 application startup. We read a self-defined schema version, update the
 schema if needed based on the version number, and then write the new schema
 version number. There is a chance two or more app servers will try to
 update the schema at the same time but in our testing we haven't seen any
 problems result from this even when we forced many servers to all update
 the schema with many different updates at the same time. And besides we
 typically do a rolling restart anyway.

 Todd,
 Mutagen Cassandra looks pretty similar to what we're doing, but is perhaps
 a bit more elegant. Will take a look at that now :)

 Cheers



Thanks all,

I'll likely stick to cassandra-cli scripts for this project and then look
in to Cassandra-Mutagen

cheers




 On Mon, Jul 1, 2013 at 5:55 PM, Franc Carter franc.car...@sirca.org.auwrote:

 On Tue, Jul 2, 2013 at 10:33 AM, Todd Fast t...@digitalexistence.comwrote:

 Franc--

 I think you will find Mutagen Cassandra very interesting; it is similar
 to schema management tools like Flyway for SQL databases:


 Oops - forgot to mention in my original email that we will be looking
 into Mutagen Cassandra in the medium term. I'm after something with a low
 barrier to entry initially as we are quite time constrained.

 cheers



 Mutagen Cassandra is a framework (based on Mutagen) that provides schema
 versioning and mutation for Apache Cassandra.

 Mutagen is a lightweight framework for applying versioned changes
 (known as mutations) to a resource, in this case a Cassandra schema.
 Mutagen takes into account the resource's existing state and only applies
 changes that haven't yet been applied.

 Schema mutation with Mutagen helps you make manageable changes to the
 schema of live Cassandra instances as you update your software, and is
 especially useful when used across development, test, staging, and
 production environments to automatically keep schemas in sync.



 https://github.com/toddfast/mutagen-cassandra

 Todd


 On Mon, Jul 1, 2013 at 5:23 PM, sankalp kohli kohlisank...@gmail.comwrote:

 You can generate schema through the code. That is also one option.


 On Mon, Jul 1, 2013 at 4:10 PM, Franc Carter franc.car...@sirca.org.au
  wrote:


 Hi,

 I've been giving some thought to the way we deploy schemas and am
 looking for something better than out current approach, which is to use
 cassandra-cli scripts.

 What do people use for this ?

 cheers

 --

 *Franc Carter* | Systems architect | Sirca Ltd
  marc.zianideferra...@sirca.org.au

 franc.car...@sirca.org.au | www.sirca.org.au

 Tel: +61 2 8355 2514

 Level 4, 55 Harrington St, The Rocks NSW 2000

 PO Box H58, Australia Square, Sydney NSW 1215







 --

 *Franc Carter* | Systems architect | Sirca Ltd
  marc.zianideferra...@sirca.org.au

 franc.car...@sirca.org.au | www.sirca.org.au

 Tel: +61 2 8355 2514

 Level 4, 55 Harrington St, The Rocks NSW 2000

 PO Box H58, Australia Square, Sydney NSW 1215






-- 

*Franc Carter* | Systems architect | Sirca Ltd
 marc.zianideferra...@sirca.org.au

franc.car...@sirca.org.au | www.sirca.org.au

Tel: +61 2 8355 2514

Level 4, 55 Harrington St, The Rocks NSW 2000

PO Box H58, Australia Square, Sydney NSW 1215


Re: Problem with libcassandra

2013-07-03 Thread Shubham Mittal
hi Alexis,

Even if I create keyspaces, column families using cassandra-cli, the column
creation and insertion work will still need thrift calls.


On Wed, Jul 3, 2013 at 6:05 PM, Alexis Rodríguez arodrig...@inconcertcc.com
 wrote:

 That repo for libcassandra works for cassandra 0.7.x due to changes in
 the thrift interface we have faced some problems in the past.

 May be you can take a look to my fork of libcassandra https://github.com/
 axs-mvd/libcassandra that we are using with cassandra 1.1.11.

 Besides that, I recommend that you use the cassandra-cli to create
 keyspaces and column families because that operations fails if some of
 your nodes is down, so by using cassandra-cli you force, in a way, the
 supervision of a human being :D.

 good luck!


 On Wed, Jul 3, 2013 at 9:12 AM, Shubham Mittal smsmitta...@gmail.comwrote:

 Hey,

 I found out that the problem is caused by this line :
 c-createKeyspace(ks_def);

 because the below code works fine.

 #include string.h
 #include sstream
 #include iostream
 #include stdlib.h
 #include set
 #include string
 #include stdio.h
 #include vector

 #include libcassandra/cassandra_factory.h
 #include libcassandra/cassandra.h
 #include libcassandra/column_family_definition.h
 #include libcassandra/keyspace.h
 #include libcassandra/keyspace_definition.h

 using namespace std;
 using namespace libcassandra;

 static string host(127.0.0.1);
 static int port= 9160;

 int main()
 {

 CassandraFactory cf(host, port);
 tr1::shared_ptrCassandra c(cf.create());

 KeyspaceDefinition ks_def;
 ks_def.setName(demo);
 return 0;
 }


 On Wed, Jul 3, 2013 at 5:22 PM, Shubham Mittal smsmitta...@gmail.comwrote:

 no Jordan, the cassandra version I have is Cassandra 1.1.12


 On Wed, Jul 3, 2013 at 5:21 PM, Shubham Mittal smsmitta...@gmail.comwrote:

 This is the gdb output

 [Thread debugging using libthread_db enabled]
 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.

 Program received signal SIGABRT, Aborted.
 0x770a0b25 in raise () from /lib/libc.so.6




 On Wed, Jul 3, 2013 at 8:38 AM, Jeremiah D Jordan 
 jeremiah.jor...@gmail.com wrote:

 If you are using 1.2, I would checkout
 https://github.com/mstump/libcql

 -Jeremiah

 On Jul 2, 2013, at 5:18 AM, Shubham Mittal smsmitta...@gmail.com
 wrote:

 I am trying to run below code, but it gives this error. It compiles
 without any errors.  Kindly help me.
 (source of the code :
 http://posulliv.github.io/2011/02/27/libcassandra-sec-indexes/)

 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.
 Aborted


 #include string.h
 #include sstream
 #include iostream
 #include stdlib.h
 #include set
 #include string
 #include stdio.h
 #include vector

 #include libcassandra/cassandra_factory.h
 #include libcassandra/cassandra.h
 #include libcassandra/column_family_definition.h
 #include libcassandra/keyspace.h
 #include libcassandra/keyspace_definition.h

 using namespace std;
 using namespace libcassandra;

 static string host(127.0.0.1);
 static int port= 9160;

 int main()
 {

 CassandraFactory cf(host, port);
 tr1::shared_ptrCassandra c(cf.create());

 KeyspaceDefinition ks_def;
 ks_def.setName(demo);
 c-createKeyspace(ks_def);

 ColumnFamilyDefinition cf_def;
 cf_def.setName(users);
 cf_def.setKeyspaceName(ks_def.getName());

 ColumnDefinition name_col;
 name_col.setName(full_name);
 name_col.setValidationClass(UTF8Type);

 ColumnDefinition sec_col;
 sec_col.setName(birth_date);
 sec_col.setValidationClass(LongType);
 sec_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 ColumnDefinition third_col;
 third_col.setName(state);
 third_col.setValidationClass(UTF8Type);
 third_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 cf_def.addColumnMetadata(name_col);
 cf_def.addColumnMetadata(sec_col);
 cf_def.addColumnMetadata(third_col);

 c-setKeyspace(ks_def.getName());
 c-createColumnFamily(cf_def);

 return 0;
 }









Re: Problem with libcassandra

2013-07-03 Thread Alexis Rodríguez
Shubham,

You are right, my point is that with non schema-update thrift calls you can
tune the consistency level used.

bye.


On Wed, Jul 3, 2013 at 10:10 AM, Shubham Mittal smsmitta...@gmail.comwrote:

 hi Alexis,

 Even if I create keyspaces, column families using cassandra-cli, the
 column creation and insertion work will still need thrift calls.


 On Wed, Jul 3, 2013 at 6:05 PM, Alexis Rodríguez 
 arodrig...@inconcertcc.com wrote:

 That repo for libcassandra works for cassandra 0.7.x due to changes in
 the thrift interface we have faced some problems in the past.

 May be you can take a look to my fork of libcassandra https://github.com/
 axs-mvd/libcassandra that we are using with cassandra 1.1.11.

 Besides that, I recommend that you use the cassandra-cli to create
 keyspaces and column families because that operations fails if some of
 your nodes is down, so by using cassandra-cli you force, in a way, the
 supervision of a human being :D.

 good luck!


 On Wed, Jul 3, 2013 at 9:12 AM, Shubham Mittal smsmitta...@gmail.comwrote:

 Hey,

 I found out that the problem is caused by this line :
 c-createKeyspace(ks_def);

 because the below code works fine.

 #include string.h
 #include sstream
 #include iostream
 #include stdlib.h
 #include set
 #include string
 #include stdio.h
 #include vector

 #include libcassandra/cassandra_factory.h
 #include libcassandra/cassandra.h
 #include libcassandra/column_family_definition.h
 #include libcassandra/keyspace.h
 #include libcassandra/keyspace_definition.h

 using namespace std;
 using namespace libcassandra;

 static string host(127.0.0.1);
 static int port= 9160;

 int main()
 {

 CassandraFactory cf(host, port);
 tr1::shared_ptrCassandra c(cf.create());

 KeyspaceDefinition ks_def;
 ks_def.setName(demo);
 return 0;
 }


 On Wed, Jul 3, 2013 at 5:22 PM, Shubham Mittal smsmitta...@gmail.comwrote:

 no Jordan, the cassandra version I have is Cassandra 1.1.12


 On Wed, Jul 3, 2013 at 5:21 PM, Shubham Mittal 
 smsmitta...@gmail.comwrote:

 This is the gdb output

 [Thread debugging using libthread_db enabled]
 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.

 Program received signal SIGABRT, Aborted.
 0x770a0b25 in raise () from /lib/libc.so.6




 On Wed, Jul 3, 2013 at 8:38 AM, Jeremiah D Jordan 
 jeremiah.jor...@gmail.com wrote:

 If you are using 1.2, I would checkout
 https://github.com/mstump/libcql

 -Jeremiah

 On Jul 2, 2013, at 5:18 AM, Shubham Mittal smsmitta...@gmail.com
 wrote:

 I am trying to run below code, but it gives this error. It compiles
 without any errors.  Kindly help me.
 (source of the code :
 http://posulliv.github.io/2011/02/27/libcassandra-sec-indexes/)

 terminate called after throwing an instance of
 'org::apache::cassandra::InvalidRequestException'
   what():  Default TException.
 Aborted


 #include string.h
 #include sstream
 #include iostream
 #include stdlib.h
 #include set
 #include string
 #include stdio.h
 #include vector

 #include libcassandra/cassandra_factory.h
 #include libcassandra/cassandra.h
 #include libcassandra/column_family_definition.h
 #include libcassandra/keyspace.h
 #include libcassandra/keyspace_definition.h

 using namespace std;
 using namespace libcassandra;

 static string host(127.0.0.1);
 static int port= 9160;

 int main()
 {

 CassandraFactory cf(host, port);
 tr1::shared_ptrCassandra c(cf.create());

 KeyspaceDefinition ks_def;
 ks_def.setName(demo);
 c-createKeyspace(ks_def);

 ColumnFamilyDefinition cf_def;
 cf_def.setName(users);
 cf_def.setKeyspaceName(ks_def.getName());

 ColumnDefinition name_col;
 name_col.setName(full_name);
 name_col.setValidationClass(UTF8Type);

 ColumnDefinition sec_col;
 sec_col.setName(birth_date);
 sec_col.setValidationClass(LongType);
 sec_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 ColumnDefinition third_col;
 third_col.setName(state);
 third_col.setValidationClass(UTF8Type);
 third_col.setIndexType(org::apache::cassandra::IndexType::KEYS);

 cf_def.addColumnMetadata(name_col);
 cf_def.addColumnMetadata(sec_col);
 cf_def.addColumnMetadata(third_col);

 c-setKeyspace(ks_def.getName());
 c-createColumnFamily(cf_def);

 return 0;
 }










Added nodes to cluster, authentication stopped working

2013-07-03 Thread Carlos Rolo
Hi all,

I have a Cassandra Cluster running and we recently duplicated the cluster.

After following all the steps, the cassandra clients started failing with the 
following message:

AuthenticationException(why='Username and/or password are incorrect')

The problem is that even I can't login to the CQL shell and check the users, 
since it says (even with the correct username/password) that 'You have to be 
logged in and not anonymous to perform this request'.

When I created the Cluster I disabled the 'cassandra' superuser and now I can't 
do anything on my Cluster.

Is there any method to reset a user and/or password, or recreate a new 
superuser??

Otherwise I need to drop all the data from the cluster... Since even disabling 
authentication and authorization my clients give errors writting data.


CorruptBlockException - recover?

2013-07-03 Thread ifjke

Hi together,

I found that one of my cassandra nodes died recently (machine hangs). I 
restarted the node an run a nodetool repair, while running it has thrown 
a org.apache.cassandra.io.compress.CorruptBlockException. Is there any 
way to recover from this? Or would it be best to delete the nodes 
contents and bootstrap it again?


Thanks for any hints,
Jan


org.apache.cassandra.io.sstable.CorruptSSTableException: 
org.apache.cassandra.io.compress.CorruptBlockException: (/home/cassandra
/data/example/EXAMPLE/example-EXAMPLE-ib-8240-Data.db): corruption 
detected, chunk at 98414229 of length 8098.
at 
org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:92)
at 
org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:355)
at 
java.io.RandomAccessFile.readFully(RandomAccessFile.java:414)
at 
java.io.RandomAccessFile.readFully(RandomAccessFile.java:394)
at 
org.apache.cassandra.utils.BytesReadTracker.readFully(BytesReadTracker.java:94)
at 
org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:395)
at 
org.apache.cassandra.utils.ByteBufferUtil.readWithLength(ByteBufferUtil.java:355)
at 
org.apache.cassandra.db.ColumnSerializer.deserializeColumnBody(ColumnSerializer.java:108)
at 
org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:92)
at 
org.apache.cassandra.db.ColumnFamilySerializer.deserializeColumnsFromSSTable(ColumnFamilySerializer.java:149)
at 
org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:235)
at 
org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:109)
at 
org.apache.cassandra.db.compaction.PrecompactedRow.init(PrecompactedRow.java:93)
at 
org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:162)
at 
org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:76)
at 
org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:57)
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:114)
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:97)
at 
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at 
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at 
org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:146)
at 
org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
at 
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:59)
at 
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:62)
at 
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:191)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)

at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:722)



Re: Opscenter access roles

2013-07-03 Thread Nick Bailey
OpsCenter uses http auth so the credentials will be saved by your browser.
There are a couple things you could do.

* Clear the local data/cache on your browser
* Open your browser in private browsing/incognito mode
* Manually enter credentials into the url: http://
user:pw@opscenter_ip:/

-Nick


On Wed, Jul 3, 2013 at 7:55 AM, cscetbon@orange.com wrote:

 Hi,

 When we connect to Opscenter using an account, we do not see any
 disconnect button to connect under another account.

 Thanks
  --
 Cyril SCETBON

 _

 Ce message et ses pieces jointes peuvent contenir des informations 
 confidentielles ou privilegiees et ne doivent donc
 pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu 
 ce message par erreur, veuillez le signaler
 a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
 electroniques etant susceptibles d'alteration,
 Orange decline toute responsabilite si ce message a ete altere, deforme ou 
 falsifie. Merci.

 This message and its attachments may contain confidential or privileged 
 information that may be protected by law;
 they should not be distributed, used or copied without authorisation.
 If you have received this email in error, please notify the sender and delete 
 this message and its attachments.
 As emails may be altered, Orange is not liable for messages that have been 
 modified, changed or falsified.
 Thank you.




Embedded Cassandra 1.2

2013-07-03 Thread Sávio Teles
We are using Cassandra 1.2 Embedded in a production environment.
We are some issues with these lines:

   SocketAddress remoteSocket.get = socket ();
 assert socket! = null;
  ThriftClientState cState = activeSocketSessions.get (socket);

The connection is maintained by remoteSocket thread. However, we have
several threads that use this connection. Therefore, only the main thread
has socket != Null, because this thread initiate the connection. The worker
threads have socket ==null.

Anyone have any suggestions on how to solve this problem?

Thanks!

-- 
Atenciosamente,
Sávio S. Teles de Oliveira
voice: +55 62 9136 6996
http://br.linkedin.com/in/savioteles
Mestrando em Ciências da Computação - UFG
Arquiteto de Software
Laboratory for Ubiquitous and Pervasive Applications (LUPA) - UFG


Re: Opscenter access roles

2013-07-03 Thread cscetbon.ext
thanks Nick, I'll give it a try

Regards
--
Cyril SCETBON

On Jul 3, 2013, at 5:16 PM, Nick Bailey 
n...@datastax.commailto:n...@datastax.com wrote:

OpsCenter uses http auth so the credentials will be saved by your browser. 
There are a couple things you could do.

* Clear the local data/cache on your browser
* Open your browser in private browsing/incognito mode
* Manually enter credentials into the url: 
http://user:pw@opscenter_ip:/

-Nick


On Wed, Jul 3, 2013 at 7:55 AM, 
cscetbon@orange.commailto:cscetbon@orange.com wrote:
Hi,

When we connect to Opscenter using an account, we do not see any disconnect 
button to connect under another account.

Thanks
--
Cyril SCETBON


_

Ce message et ses pieces jointes peuvent contenir des informations 
confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce 
message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou 
falsifie. Merci.

This message and its attachments may contain confidential or privileged 
information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete 
this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been 
modified, changed or falsified.
Thank you.




_

Ce message et ses pieces jointes peuvent contenir des informations 
confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce 
message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages 
electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou 
falsifie. Merci.

This message and its attachments may contain confidential or privileged 
information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete 
this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been 
modified, changed or falsified.
Thank you.



Lots of replicate on write tasks pending, want to investigate

2013-07-03 Thread Andrew Bialecki
In one of our load tests, we're incrementing a single counter column as
well as appending columns to a single row (essentially a timeline). You can
think of it as counting the instances of an event and then keeping a
timeline of those events. The ratio is of increments to appends is 1:1.

When we run this on a test cluster with RF = 3, one node gets backed up
with a lot of replicate on write tasks pending, eventually maxing out at
4128. We think it's a disk I/O issue that's causing the slowdown (lot of
reads), but we're still investigating. A few questions that might speed up
understanding the issue:

1. Is there any way to see metadata about the replicate on write tasks
pending? We're splitting apart the load test to pinpoint which of those
operations is causing an issue, but if there's a way to see that queue,
that might save us some work.

2. I'm assuming in our case the cause is incrementing counters because disk
reads are part of the write path for counters and are not for appending
columns to a row. Does that logic make sense?

Thanks in advance,
Andrew


Re: Lots of replicate on write tasks pending, want to investigate

2013-07-03 Thread Robert Coli
On Wed, Jul 3, 2013 at 9:59 AM, Andrew Bialecki
andrew.biale...@gmail.comwrote:

 2. I'm assuming in our case the cause is incrementing counters because
 disk reads are part of the write path for counters and are not for
 appending columns to a row. Does that logic make sense?


That's a pretty reasonable assumption if you are not doing any other reads
and you see your disk busy doing non-compaction related reads. :)

=Rob


Re: CorruptBlockException - recover?

2013-07-03 Thread Robert Coli
On Wed, Jul 3, 2013 at 7:04 AM, ifjke j.kes...@enercast.de wrote:

 I found that one of my cassandra nodes died recently (machine hangs). I
 restarted the node an run a nodetool repair, while running it has thrown a
 org.apache.cassandra.io.**compress.**CorruptBlockException. Is there any
 way to recover from this? Or would it be best to delete the nodes contents
 and bootstrap it again?


If you scrub this SSTable (either with the online or offline version of
scrub) it will remove the corrupt data and re-write the rest of the
SSTable which isn't corrupt into a new SSTable. That is probably safer for
your data than deleting the entire set of data on this replica. When that's
done, restart the repair.

=Rob


Re: CorruptBlockException - recover?

2013-07-03 Thread Glenn Thompson
For what its worth.  I did this when I had this problem.  It didn't work
out for me.  Perhaps I did something wrong.


On Wed, Jul 3, 2013 at 11:06 AM, Robert Coli rc...@eventbrite.com wrote:

 On Wed, Jul 3, 2013 at 7:04 AM, ifjke j.kes...@enercast.de wrote:

 I found that one of my cassandra nodes died recently (machine hangs). I
 restarted the node an run a nodetool repair, while running it has thrown a
 org.apache.cassandra.io.**compress.**CorruptBlockException. Is there any
 way to recover from this? Or would it be best to delete the nodes contents
 and bootstrap it again?


 If you scrub this SSTable (either with the online or offline version of
 scrub) it will remove the corrupt data and re-write the rest of the
 SSTable which isn't corrupt into a new SSTable. That is probably safer for
 your data than deleting the entire set of data on this replica. When that's
 done, restart the repair.

 =Rob



Re: column sort order and reversed sort performance question

2013-07-03 Thread Robert Coli
On Wed, Jul 3, 2013 at 6:02 AM, Hiller, Dean dean.hil...@nrel.gov wrote:

 We loaded 5 million columns into a single row and when accessing the
first 30k and last 30k columns we saw no performance difference.  We tried
just loading 2 rows from the beginning and end and saw no performance
difference.  I am sure reverse sort is there for a reason though.  In what
context do you actually see a performance difference with reverse sort???


http://thelastpickle.com/2011/10/03/Reverse-Comparators/

When a query does not specify a start column (and does not specify
reversed) the server can just start reading columns from the start without
having to worry about finding the right place to start. This is exactly
what we can do for the Descending CF.

For the regular Ascending CF we need to specify reversed, so the server
must read the row index and work out which column is column count from the
end of the row.

There is no comparison really.


=Rob


cqlsh + existing cf's + query

2013-07-03 Thread William Oberman
I've been running cassandra a while, and have used the PHP api and
cassandra-cli, but never gave cqlsh a shot.

I'm not quite getting it.  My most simple CF is a dumping ground for
testing things created as:
create column family stats;
I was putting random stats I was computing in it.  All keys, column names 
column values are really ascii.

Using cqlsh (1.1.12, default shell so CQL 2.0 I believe), I did:
USE my_keyspace_name;
ASSUME stats(KEY) VALUES are text, NAMES are text, VALUES are text;
SELECT * from stats LIMIT 10;

Looks great.  But, then I try to do:
SELECT * from stats WHERE KEY='KNOWN_KEY_NAME';

I get:
Bad Request: cannot parse 'KNOWN_KEY_NAME' as hex bytes

If I do the hex value for KNOWN_KEY_NAME, it works.  E.g.
SELECT * from stats WHERE KEY='various_0-9a-f_chars';

I can't find a TO_HEX(string) built in function for SQL.  Am I doing
something wrong?

DESCRIBE TABLE stats;

CREATE TABLE stats (
  KEY blob PRIMARY KEY
) WITH
  comment='' AND
  comparator=blob AND
  read_repair_chance=1.00 AND
  gc_grace_seconds=864000 AND
  default_validation=blob AND
  min_compaction_threshold=4 AND
  max_compaction_threshold=32 AND
  replicate_on_write='false' AND
  compaction_strategy_class='SizeTieredCompactionStrategy';


Cassandra with vnode and ByteOrderedPartition

2013-07-03 Thread Sávio Teles
We're using ByteOrderedPartition to programmatically choose the machine
which a objet will be inserted.*

*How can I use *ByteOrderedPartition *with vnode on Cassandra 1.2?

*
*

-- 
Atenciosamente,
Sávio S. Teles de Oliveira
voice: +55 62 9136 6996
http://br.linkedin.com/in/savioteles
Mestrando em Ciências da Computação - UFG
Arquiteto de Software
Laboratory for Ubiquitous and Pervasive Applications (LUPA) - UFG


Re: Cassandra with vnode and ByteOrderedPartition

2013-07-03 Thread Richard Low
On 3 July 2013 21:04, Sávio Teles savio.te...@lupa.inf.ufg.br wrote:

We're using ByteOrderedPartition to programmatically choose the machine
 which a objet will be inserted.*

 *How can I use *ByteOrderedPartition *with vnode on Cassandra 1.2?


Don't.  Managing tokens with ByteOrderedPartitioner is very hard anyway,
but with vnodes you have to manually manage many more tokens.  Also I doubt
BOP + vnodes has had any production testing.

Richard.


Re: Cassandra with vnode and ByteOrderedPartition

2013-07-03 Thread Sávio Teles
We were able to implement ByteOrderedPartition on Cassandra 1.1 and insert
an object in a specific machine.

However, with Cassandra 1.2 and VNodes we can't implement VNode with
ByteOrderedPartitioner
to insert an object in a specific machine.


2013/7/3 Richard Low rich...@wentnet.com

 On 3 July 2013 21:04, Sávio Teles savio.te...@lupa.inf.ufg.br wrote:

 We're using ByteOrderedPartition to programmatically choose the machine
 which a objet will be inserted.*

 *How can I use *ByteOrderedPartition *with vnode on Cassandra 1.2?


 Don't.  Managing tokens with ByteOrderedPartitioner is very hard anyway,
 but with vnodes you have to manually manage many more tokens.  Also I doubt
 BOP + vnodes has had any production testing.

 Richard.




-- 
Atenciosamente,
Sávio S. Teles de Oliveira
voice: +55 62 9136 6996
http://br.linkedin.com/in/savioteles
Mestrando em Ciências da Computação - UFG
Arquiteto de Software
Laboratory for Ubiquitous and Pervasive Applications (LUPA) - UFG


Re: Cassandra with vnode and ByteOrderedPartition

2013-07-03 Thread Richard Low
On 3 July 2013 22:18, Sávio Teles savio.te...@lupa.inf.ufg.br wrote:

 We were able to implement ByteOrderedPartition on Cassandra 1.1 and
 insert an object in a specific machine.

 However, with Cassandra 1.2 and VNodes we can't implement VNode with 
 ByteOrderedPartitioner
 to insert an object in a specific machine.


You don't have to use vnodes in Cassandra 1.2 - set num_tokens to 1 to
disable.

Richard.


Re: Lots of replicate on write tasks pending, want to investigate

2013-07-03 Thread Andrew Bialecki
Can someone remind me why replicate on write tasks might be related to the
high disk I/O? My understanding is the replicate on write involves sending
the update to other nodes, so it shouldn't involve any disk activity --
disk activity would be during the mutation/write phase.

The write path (not replicate on write) for counters involves a read, so
that explains the high disk I/O, but for that I'd expect to see many write
requests pending (which we see a bit), but not replicate on writes backing
up. What am I missing?

Andrew


On Wed, Jul 3, 2013 at 1:03 PM, Robert Coli rc...@eventbrite.com wrote:

 On Wed, Jul 3, 2013 at 9:59 AM, Andrew Bialecki andrew.biale...@gmail.com
  wrote:

 2. I'm assuming in our case the cause is incrementing counters because
 disk reads are part of the write path for counters and are not for
 appending columns to a row. Does that logic make sense?


 That's a pretty reasonable assumption if you are not doing any other reads
 and you see your disk busy doing non-compaction related reads. :)

 =Rob



Ranged Tombstones causing timeouts, not removed during compaction. How to remove?

2013-07-03 Thread Jeff House
We are on 1.2.5 with a 4 node cluster (RF 3) and have a cql3 wide row
table. each row has about 2000 columns.   While running some test data
through it, it started throwing rpc_timeout errors when returning a couple
specific rows (with Consistency ONE).

After hunting through sstable2json results and looking at the source for
it, it looks like these are Ranged Tombstones.  I see there's a bug filed
(and a patch) for this, but is there a way to clear out the tombstones?   I
have 'nodetool cleanup'ed, 'nodetool repair'ed and 'nodetool scrub'bed the
table, but they just seem to linger as does the problem reading the rows in
question.

Is there a way I can clear this data out and move forward?

Thanks,

-Jeff


Re: Ranged Tombstones causing timeouts, not removed during compaction. How to remove?

2013-07-03 Thread Jeremiah D Jordan
To force clean out a tombstone.

1. Stop doing deletes on the CF, or switch to performing all deletes at ALL
2. Run a full repair of the cluster for that CF.
3. Change GC grace to be small, like 5 seconds or something for that CF
Either:
4. Find all sstables which have that row key in them using sstable2keys/json
5. Use JMX to force those tables to compact with each other.
Or
4. Do a major compaction on that CF.

-Jeremiah

On Jul 3, 2013, at 5:58 PM, Jeff House ho...@flowroute.com wrote:

 
 We are on 1.2.5 with a 4 node cluster (RF 3) and have a cql3 wide row table. 
 each row has about 2000 columns.   While running some test data through it, 
 it started throwing rpc_timeout errors when returning a couple specific rows 
 (with Consistency ONE).   
 
 After hunting through sstable2json results and looking at the source for it, 
 it looks like these are Ranged Tombstones.  I see there's a bug filed (and a 
 patch) for this, but is there a way to clear out the tombstones?   I have 
 'nodetool cleanup'ed, 'nodetool repair'ed and 'nodetool scrub'bed the table, 
 but they just seem to linger as does the problem reading the rows in question.
 
 Is there a way I can clear this data out and move forward? 
 
 Thanks,
 
 -Jeff



Re: Ranged Tombstones causing timeouts, not removed during compaction. How to remove?

2013-07-03 Thread Jeff House
Thanks Jeremiah, those are great suggestions.

Unfortunately, I have done a full repair and compaction on that CF, but the
ranged tombstones remain.

-Jeff


On Wed, Jul 3, 2013 at 7:54 PM, Jeremiah D Jordan jeremiah.jor...@gmail.com
 wrote:

 To force clean out a tombstone.

 1. Stop doing deletes on the CF, or switch to performing all deletes at ALL
 2. Run a full repair of the cluster for that CF.
 3. Change GC grace to be small, like 5 seconds or something for that CF
 Either:
 4. Find all sstables which have that row key in them using
 sstable2keys/json
 5. Use JMX to force those tables to compact with each other.
 Or
 4. Do a major compaction on that CF.

 -Jeremiah

 On Jul 3, 2013, at 5:58 PM, Jeff House ho...@flowroute.com wrote:

 
  We are on 1.2.5 with a 4 node cluster (RF 3) and have a cql3 wide row
 table. each row has about 2000 columns.   While running some test data
 through it, it started throwing rpc_timeout errors when returning a couple
 specific rows (with Consistency ONE).
 
  After hunting through sstable2json results and looking at the source for
 it, it looks like these are Ranged Tombstones.  I see there's a bug filed
 (and a patch) for this, but is there a way to clear out the tombstones?   I
 have 'nodetool cleanup'ed, 'nodetool repair'ed and 'nodetool scrub'bed the
 table, but they just seem to linger as does the problem reading the rows in
 question.
 
  Is there a way I can clear this data out and move forward?
 
  Thanks,
 
  -Jeff