[ 
https://issues.apache.org/jira/browse/CASSANDRA-8530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14255884#comment-14255884
 ] 

Pavel Baranov commented on CASSANDRA-8530:
------------------------------------------

Providing a self-contained script would be tough right now. I can describe what 
we've done so far:
1. tweets table was create under Cassandra 2.0.10
2. currently there are 6 nodes in the cluster, total storage usage is 3.3TB 
with an avg. data size of 401GB per node.
3. until recently we were using a python script that does very simple selects 
(on secondary index, like I've posted in the original ticket) and also deletes 
based on primary key (this was done once a month, and on a small volume, 
nothing intense). All of a sudden, same queries and same process started giving 
the following message:
{noformat}
code=1200 [Coordinator node timed out waiting for replica nodes' responses] 
message="Operation timed out - received only 0 responses." 
info={'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}
{noformat}
and accompanied by huge cpu spikes (load avg went from ~2 to about ~15)

4. We figured maybe it's time to upgrade, so we did to 2.1.2 - did not help.
5. after upgrading, the secondary indexes didn't work at all, so I ran 
"nodetool sstableupgrade" which fixed it but the issue remained.
6. tried removing and reCreating indexes - didn't help
7. did couple of rolling cluster restarts - didn't help
8. unable to see the trace info with "tracing on", however, tracing info 
appears on queries on primary index or without WHERE clause at all.
9. insertions are still coming in and do not trigger any cpu spikes.

The only this that shows up in the system.log is:
{noformat}
WARN  [SharedPool-Worker-1] 2014-12-22 08:07:54,953 BatchStatement.java:255 - 
Batch of prepared statements for [tweets.tweets] is of size 35434, exceeding 
specified threshold of 5120 by 30314.
{noformat}
and that's not even after running the "bad" queries, so I don't even know where 
else to look for abnormalities...

Please let me know if there is anything I can do/provide. 
Thank you!

> Query on a secondary index creates huge CPU spike + unable to trace
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-8530
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8530
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API, Core
>         Environment: CentOs 6.5 / Cassandra 2.1.2
>            Reporter: Pavel Baranov
>
> After upgrading cassandra from 2.0.10 to 2.1.2 we are having all kinds of 
> issues, especially with performance.
> java version "1.7.0_65"
> Table creation:
> {noformat}
> tweets> desc table tweets;
> CREATE TABLE tweets.tweets (
>     uname text,
>     tweet_id bigint,
>     tweet text,
>     tweet_date timestamp,
>     tweet_date_only text,
>     uid bigint,
>     PRIMARY KEY (uname, tweet_id)
> ) WITH CLUSTERING ORDER BY (tweet_id ASC)
>     AND bloom_filter_fp_chance = 0.01
>     AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
>     AND comment = ''
>     AND compaction = {'min_threshold': '10', 'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32'}
>     AND compression = {'sstable_compression': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
>     AND dclocal_read_repair_chance = 0.0
>     AND default_time_to_live = 0
>     AND gc_grace_seconds = 864000
>     AND max_index_interval = 2048
>     AND memtable_flush_period_in_ms = 0
>     AND min_index_interval = 128
>     AND read_repair_chance = 0.1
>     AND speculative_retry = '99.0PERCENTILE';
> CREATE INDEX tweets_tweet_date_only_idx ON tweets.tweets (tweet_date_only);
> CREATE INDEX tweets_uid ON tweets.tweets (uid);
> {noformat}
> With Cassandra 2.0.10 this query:
> {noformat}
> select uname from tweets where uid = 636732672 limit 1;
> {noformat}
> did not have any issues. After upgrade, I can see the cpu spikes and load avg 
> goes from ~1 to ~13, especially if I execute the query over and over again.
> Doing "tracing on" does not work and just returns: 
> "Statement trace did not complete within 10 seconds"
> I've done:
> nodetool upgradesstables
> recreated indexes



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to