Re: Files not removed after compaction

2015-06-13 Thread Spencer Brown
You can't delete by year unless tables are organized by year.  For deleting
tables, cassandra keeeps a copy of the file history which you can delete.
Also, you could delete all the extra rows using CQL.

On Wed, Jun 10, 2015 at 7:15 PM, Jeff Ferland j...@tubularlabs.com wrote:

 Compaction finished yesterday, but I still have this going on:

 Space used (live), bytes:   878681716067
 Space used (total), bytes: 2227857083852

 jbf@ip-10-0-2-98:/ebs/cassandra/data/trends/trends$ sudo lsof *-Data.db
 COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
 java4473 cassandra  446r   REG   0,26  17582559172 39241
 trends-trends-jb-144864-Data.db
 java4473 cassandra  448r   REG   0,26 62040962 37431
 trends-trends-jb-144731-Data.db
 java4473 cassandra  449r   REG   0,26 829935047545 21150
 trends-trends-jb-143581-Data.db
 java4473 cassandra  452r   REG   0,26  8980406 39503
 trends-trends-jb-144882-Data.db
 java4473 cassandra  454r   REG   0,26  8980406 39503
 trends-trends-jb-144882-Data.db
 java4473 cassandra  462r   REG   0,26  9487703 39542
 trends-trends-jb-144883-Data.db
 java4473 cassandra  463r   REG   0,26 36158226 39629
 trends-trends-jb-144889-Data.db
 java4473 cassandra  468r   REG   0,26105693505 39447
 trends-trends-jb-144881-Data.db
 java4473 cassandra  530r   REG   0,26  17582559172 39241
 trends-trends-jb-144864-Data.db
 java4473 cassandra  535r   REG   0,26105693505 39447
 trends-trends-jb-144881-Data.db
 java4473 cassandra  542r   REG   0,26  9487703 39542
 trends-trends-jb-144883-Data.db
 java4473 cassandra  553u   REG   0,26   6431729821 39556
 trends-trends-tmp-jb-144884-Data.db
 jbf@ip-10-0-2-98:/ebs/cassandra/data/trends/trends$ ls *-Data.db
 trends-trends-jb-142631-Data.db  trends-trends-jb-143562-Data.db
 trends-trends-jb-143581-Data.db  trends-trends-jb-144731-Data.db
 trends-trends-jb-144883-Data.db
 trends-trends-jb-142633-Data.db  trends-trends-jb-143563-Data.db
 trends-trends-jb-144530-Data.db  trends-trends-jb-144864-Data.db
 trends-trends-jb-144889-Data.db
 trends-trends-jb-143026-Data.db  trends-trends-jb-143564-Data.db
 trends-trends-jb-144551-Data.db  trends-trends-jb-144881-Data.db
 trends-trends-tmp-jb-144884-Data.db
 trends-trends-jb-143533-Data.db  trends-trends-jb-143578-Data.db
 trends-trends-jb-144552-Data.db  trends-trends-jb-144882-Data.db
 jbf@ip-10-0-2-98:/ebs/cassandra/data/trends/trends$ cd -
 /mnt/cassandra/data/trends/trends
 jbf@ip-10-0-2-98:/mnt/cassandra/data/trends/trends$ sudo lsof *
 jbf@ip-10-0-2-98:/mnt/cassandra/data/trends/trends$ ls *-Data.db
 trends-trends-jb-124502-Data.db  trends-trends-jb-141113-Data.db
 trends-trends-jb-141377-Data.db  trends-trends-jb-141846-Data.db
 trends-trends-jb-144890-Data.db
 trends-trends-jb-125457-Data.db  trends-trends-jb-141123-Data.db
 trends-trends-jb-141391-Data.db  trends-trends-jb-141871-Data.db
 trends-trends-jb-41121-Data.db
 trends-trends-jb-130016-Data.db  trends-trends-jb-141137-Data.db
 trends-trends-jb-141538-Data.db  trends-trends-jb-141883-Data.db
 trends-trends.trends_date_idx-jb-2100-Data.db
 trends-trends-jb-139563-Data.db  trends-trends-jb-141358-Data.db
 trends-trends-jb-141806-Data.db  trends-trends-jb-142033-Data.db
 trends-trends-jb-141102-Data.db  trends-trends-jb-141363-Data.db
 trends-trends-jb-141829-Data.db  trends-trends-jb-144553-Data.db

 Essentially, everything was brought down in a major compaction but
 Cassandra won’t let go of the files and I can’t figure out as to why
 they’re not being cleaned up even when they’re not open. I’d really like to
 get those files cleared out safely and rsync away from the EBS volume I
 used to survive a compaction.

 While I’m at it, is there any way to anti-compact a table by year? Since
 I’ve switched this recently to date tiered compaction, breaking up that big
 one would probably be helpful.

 -Jeff



Re: Dropped mutation messages

2015-06-13 Thread Robert Wille

Internode messages which are received by a node, but do not get not to be 
processed within rpc_timeout are dropped rather than processed. As the 
coordinator node will no longer be waiting for a response. If the Coordinator 
node does not receive Consistency Level responses before the rpc_timeout it 
will return a TimedOutException to the client.

I understand that, but that’s where this makes no sense. I’m running with RF=1, 
and CL=QUORUM, which means each update goes to one node, and I need one 
response for a success. I have many thousands of dropped mutation messages, but 
no TimedOutExceptions thrown back to the client. If I have GC problems, or 
other issues that are making my cluster unresponsive, I can deal with that. But 
having writes that fail and no error is clearly not acceptable. How is it 
possible to be getting errors and not be informed about them?

Thanks

Robert



Re: Seed Node OOM

2015-06-13 Thread Sebastian Estevez
The commitlog size is likely a red herring. In 2.0 we had 1gb commitlogs by
default. In 2.1 we have 8gb commitlogs by default. This is configurable at
the yaml.

Not sure what's causing the OOM. Did it generate an hprof file you can
analyze?
On Jun 13, 2015 7:42 AM, Oleksandr Petrov oleksandr.pet...@gmail.com
wrote:

 Sorry I completely forgot to mention it in an original message: we have
 rather large commitlog directory (which is usually rather small), 8G of
 commitlogs. Draining and flushing didn't help.

 On Sat, Jun 13, 2015 at 1:39 PM, Oleksandr Petrov 
 oleksandr.pet...@gmail.com wrote:

 Hi,

 We're using Cassandra, recently migrated to 2.1.6, and we're experiencing
 constant OOMs in one of our clusters.

 It's a rather small cluster: 3 nodes, EC2 xlarge: 2CPUs, 8GB RAM, set up
 with datastax AMI.

 Configs (yaml and env.sh) are rather default: we've changed only
 concurrent compactions to 2 (although tried 1, too), tried setting HEAP and
 NEW to different values, ranging from 4G/200 to 6G/200M.

 Write load is rather small: 200-300 small payloads (4 varchar fields as a
 primary key, 2 varchar fields and a couple of long/double fields), plus
 some larger (1-2kb) payloads with a rate of 10-20 messages per second.

 We do a lot of range scans, but they are rather quick.

 It kind of started overnight. Compaction is taking a long time. Other two
 nodes in a cluster behave absolutely normally: no hinted handoffs, normal
 heap sizes. There were no write bursts, no tables added no indexes changed.

 Anyone experienced something similar? Maybe any pointers?

 --
 alex p




 --
 alex p



Re: Seed Node OOM

2015-06-13 Thread Oleksandr Petrov
Sorry I completely forgot to mention it in an original message: we have
rather large commitlog directory (which is usually rather small), 8G of
commitlogs. Draining and flushing didn't help.

On Sat, Jun 13, 2015 at 1:39 PM, Oleksandr Petrov 
oleksandr.pet...@gmail.com wrote:

 Hi,

 We're using Cassandra, recently migrated to 2.1.6, and we're experiencing
 constant OOMs in one of our clusters.

 It's a rather small cluster: 3 nodes, EC2 xlarge: 2CPUs, 8GB RAM, set up
 with datastax AMI.

 Configs (yaml and env.sh) are rather default: we've changed only
 concurrent compactions to 2 (although tried 1, too), tried setting HEAP and
 NEW to different values, ranging from 4G/200 to 6G/200M.

 Write load is rather small: 200-300 small payloads (4 varchar fields as a
 primary key, 2 varchar fields and a couple of long/double fields), plus
 some larger (1-2kb) payloads with a rate of 10-20 messages per second.

 We do a lot of range scans, but they are rather quick.

 It kind of started overnight. Compaction is taking a long time. Other two
 nodes in a cluster behave absolutely normally: no hinted handoffs, normal
 heap sizes. There were no write bursts, no tables added no indexes changed.

 Anyone experienced something similar? Maybe any pointers?

 --
 alex p




-- 
alex p


Seed Node OOM

2015-06-13 Thread Oleksandr Petrov
Hi,

We're using Cassandra, recently migrated to 2.1.6, and we're experiencing
constant OOMs in one of our clusters.

It's a rather small cluster: 3 nodes, EC2 xlarge: 2CPUs, 8GB RAM, set up
with datastax AMI.

Configs (yaml and env.sh) are rather default: we've changed only concurrent
compactions to 2 (although tried 1, too), tried setting HEAP and NEW to
different values, ranging from 4G/200 to 6G/200M.

Write load is rather small: 200-300 small payloads (4 varchar fields as a
primary key, 2 varchar fields and a couple of long/double fields), plus
some larger (1-2kb) payloads with a rate of 10-20 messages per second.

We do a lot of range scans, but they are rather quick.

It kind of started overnight. Compaction is taking a long time. Other two
nodes in a cluster behave absolutely normally: no hinted handoffs, normal
heap sizes. There were no write bursts, no tables added no indexes changed.

Anyone experienced something similar? Maybe any pointers?

-- 
alex p


Re: Lucene index plugin for Apache Cassandra

2015-06-13 Thread Andres de la Peña
Thanks for showing interest.

Faceting is not yet supported, but it is in our roadmap. Our goal is to add
to Cassandra as many Lucene features as possible.

2015-06-12 18:21 GMT+02:00 Mohammed Guller moham...@glassbeam.com:

  The plugin looks cool. Thank you for open sourcing it.



 Does it support faceting and other Solr functionality?



 Mohammed



 *From:* Andres de la Peña [mailto:adelap...@stratio.com]
 *Sent:* Friday, June 12, 2015 3:43 AM
 *To:* user@cassandra.apache.org
 *Subject:* Re: Lucene index plugin for Apache Cassandra



 I really appreciate your interest



 Well, the first recommendation is to not use it unless you need it,
 because a properly Cassandra denormalized model is almost always preferable
 to indexing. Lucene indexing is a good option when there is no viable
 denormalization alternative. This is the case of range queries over
 multiple dimensions, full-text search or maybe complex boolean predicates.
 It's also appropriate for Spark/Hadoop jobs mapping a small fraction of the
 total amount of rows in a certain table, if you can pay the cost of
 indexing.



 Lucene indexes run inside C*, so users should closely monitor the amount
 of used memory. It's also a good idea to put the Lucene directory files in
 a separate disk to those used by C* itself. Additionally, you should
 consider that indexed tables write throughput will be appreciably reduced,
 maybe to a few thousands rows per second.



 It's really hard to estimate the amount of resources needed by the index
 due to the great variety of indexing and querying ways that Lucene offers,
 so the only thing we can suggest is to empirically find the optimal setup
 for your use case.



 2015-06-12 12:00 GMT+02:00 Carlos Rolo r...@pythian.com:

 Seems like an interesting tool!

 What operational recommendations would you make to users of this tool
 (Extra hardware capacity, extra metrics to monitor, etc)?


 Regards,



 Carlos Juzarte Rolo

 Cassandra Consultant



 Pythian - Love your data



 rolo@pythian | Twitter: cjrolo | Linkedin: *linkedin.com/in/carlosjuzarterolo
 http://linkedin.com/in/carlosjuzarterolo*

 Mobile: +31 6 159 61 814 | Tel: +1 613 565 8696 x1649

 www.pythian.com



 On Fri, Jun 12, 2015 at 11:07 AM, Andres de la Peña adelap...@stratio.com
 wrote:

 Unfortunately, we don't have published any benchmarks yet, but we have
 plans to do it as soon as possible. However, you can expect a similar
 behavior as those of Elasticsearch or Solr, with some overhead due to the
 need for indexing both the Cassandra's row key and the partition's token.
 You can also take a look at this presentation
 http://planetcassandra.org/video-presentations/vp/cassandra-summit-europe-2014/vd/stratio-advanced-search-and-top-k-queries-in-cassandra/
 to see how cluster distribution is done.



 2015-06-12 0:45 GMT+02:00 Ben Bromhead b...@instaclustr.com:

 Looks awesome, do you have any examples/benchmarks of using these indexes
 for various cluster sizes e.g. 20 nodes, 60 nodes, 100s+?



 On 10 June 2015 at 09:08, Andres de la Peña adelap...@stratio.com wrote:

 Hi all,



 With the release of Cassandra 2.1.6, Stratio is glad to present its open
 source Lucene-based implementation of C* secondary indexes
 https://github.com/Stratio/cassandra-lucene-index as a plugin that can
 be attached to Apache Cassandra. Before the above changes, Lucene index was
 distributed inside a fork of Apache Cassandra, with all the difficulties
 implied. As of now, the fork is discontinued and new users should use the
 recently created plugin, which maintains all the features of Stratio
 Cassandra https://github.com/Stratio/stratio-cassandra.



 Stratio's Lucene index extends Cassandra’s functionality to provide near
 real-time distributed search engine capabilities such as with ElasticSearch
 or Solr, including full text search capabilities, free multivariable
 search, relevance queries and field-based sorting. Each node indexes its
 own data, so high availability and scalability is guaranteed.



 We hope this will be useful to the Apache Cassandra community.



 Regards,



 --


   Andrés de la Peña



 http://www.stratio.com/
 Avenida de Europa, 26. Ática 5. 3ª Planta

 28224 Pozuelo de Alarcón, Madrid

 Tel: +34 91 352 59 42 // *@stratiobd https://twitter.com/StratioBD*





 --

 Ben Bromhead

 Instaclustr | www.instaclustr.com | @instaclustr
 http://twitter.com/instaclustr | (650) 284 9692





 --


   Andrés de la Peña



 http://www.stratio.com/
 Avenida de Europa, 26. Ática 5. 3ª Planta

 28224 Pozuelo de Alarcón, Madrid

 Tel: +34 91 352 59 42 // *@stratiobd https://twitter.com/StratioBD*





 --







 --


   Andrés de la Peña



 http://www.stratio.com/
 Avenida de Europa, 26. Ática 5. 3ª Planta

 28224 Pozuelo de Alarcón, Madrid

 Tel: +34 91 352 59 42 // *@stratiobd https://twitter.com/StratioBD*




-- 

Andrés de la Peña


http://www.stratio.com/
Avenida de Europa, 26. Ática 5. 3ª Planta
28224 Pozuelo de Alarcón, Madrid
Tel: 

Re: Dropped mutation messages

2015-06-13 Thread Anuj Wadehra
U said RF=1...missed that..so not sure eventual consistency is creating issues..


Thanks

Anuj Wadehra


Sent from Yahoo Mail on Android

From:Anuj Wadehra anujw_2...@yahoo.co.in
Date:Sat, 13 Jun, 2015 at 11:31 pm
Subject:Re: Dropped mutation messages

I think the messages dropped are the asynchronous ones required to maintain 
eventual consistency. Client may not be complaining as the data gets commited 
to one node synchronously..but dropped when sent to other nodes asynchronously..


We resolved similar issue in our cluster by increasing memtable_flush_writers 
to 3 from 1 ( we were writing to multiple cf simultaneously).


We also fixed GC issues and reduced total_memtable_size_in_mb to ensure that 
most memtables are flushed early in heavy write loads.


Thanks

Anuj Wadehra


Sent from Yahoo Mail on Android

From:Robert Wille rwi...@fold3.com
Date:Sat, 13 Jun, 2015 at 8:29 pm
Subject:Re: Dropped mutation messages


Internode messages which are received by a node, but do not get not to be 
processed within rpc_timeout are dropped rather than processed. As the 
coordinator node will no longer be waiting for a response. If the Coordinator 
node does not receive Consistency Level responses before the rpc_timeout it 
will return a TimedOutException to the client. 


I understand that, but that’s where this makes no sense. I’m running with RF=1, 
and CL=QUORUM, which means each update goes to one node, and I need one 
response for a success. I have many thousands of dropped mutation messages, but 
no TimedOutExceptions thrown back to the client. If I have GC problems, or 
other issues that are making my cluster unresponsive, I can deal with that. But 
having writes that fail and no error is clearly not acceptable. How is it 
possible to be getting errors and not be informed about them?


Thanks


Robert




Re: Dropped mutation messages

2015-06-13 Thread Anuj Wadehra
I think the messages dropped are the asynchronous ones required to maintain 
eventual consistency. Client may not be complaining as the data gets commited 
to one node synchronously..but dropped when sent to other nodes asynchronously..


We resolved similar issue in our cluster by increasing memtable_flush_writers 
to 3 from 1 ( we were writing to multiple cf simultaneously).


We also fixed GC issues and reduced total_memtable_size_in_mb to ensure that 
most memtables are flushed early in heavy write loads.


Thanks

Anuj Wadehra


Sent from Yahoo Mail on Android

From:Robert Wille rwi...@fold3.com
Date:Sat, 13 Jun, 2015 at 8:29 pm
Subject:Re: Dropped mutation messages


Internode messages which are received by a node, but do not get not to be 
processed within rpc_timeout are dropped rather than processed. As the 
coordinator node will no longer be waiting for a response. If the Coordinator 
node does not receive Consistency Level responses before the rpc_timeout it 
will return a TimedOutException to the client. 


I understand that, but that’s where this makes no sense. I’m running with RF=1, 
and CL=QUORUM, which means each update goes to one node, and I need one 
response for a success. I have many thousands of dropped mutation messages, but 
no TimedOutExceptions thrown back to the client. If I have GC problems, or 
other issues that are making my cluster unresponsive, I can deal with that. But 
having writes that fail and no error is clearly not acceptable. How is it 
possible to be getting errors and not be informed about them?


Thanks


Robert